基于 alientek rv1126 快速启动调试那的写坑
基于 alientek rv1126 快速启动调试那的写坑
1. sdk 编制准备工作
1.1 编译配置修改
首先拿到 sdk 通过修改一下相关配置
1.1.1修改DDR 配置
cd /home/alientek/rv1126/rkbin/RKBOOT
vi RV1126MINIALL_EMMC_TB.ini
修改相关内容如下
[CHIP_NAME]
NAME=RV1126
[VERSION]
MAJOR=1
MINOR=4
[CODE471_OPTION]
NUM=1
Path1=bin/rv11/rv1126_tpl_924MHz_ddr4_tb_v1.08.bin
Sleep=1
[CODE472_OPTION]
NUM=1
Path1=bin/rv11/rv1126_usbplug_v1.20.bin
[LOADER_OPTION]
NUM=2
LOADER1=FlashData
LOADER2=FlashBoot
FlashData=bin/rv11/rv1126_tpl_924MHz_ddr4_tb_v1.08.bin
FlashBoot=bin/rv11/rv1126_spl_emmc_tb_v1.12.bin
[OUTPUT]
PATH=rv1126_spl_loader_v1.08.112.bin
1.1.2 修改固件打包脚本
cd device/rockchip/common/
vi mkfirmware.sh
修改如下
1.1.3 dts 修改
首先修改一下头文件 vi rv1126-evb-ddr3-v13-tb-emmc.dts
7 #include "rv1126.dtsi"
8 //#include "rv1126-evb-v13.dtsi"
9 #include "rv1126-alientek.dtsi"
10 #include "rv1126-thunder-boot-emmc.dtsi"
11 #include "rv1126-evb-thunder-boot.dtsi"
后面的外设 直接复制 rv1126-alientek.dts 该文件的 外设部分
注意:在采集图像的时候对导致dma 分配不出内存 修改一下内容
365 linux,cma {
366 compatible = "shared-dma-pool";
367 inactive;
368 reusable;
369 size = <0x8000000>; //修改这里
370 linux,cma-default;
371 };
1.1.4 驱动修改
大概说一下 修改imx415 驱动 另一个摄像头应该差不多 因为在快速启动的时候有一个驱动异步加载 这就和init_call 相关了 具体内容查看作者的 博客吧!
在imx415.c 文件中 修改内容如下:
2621 #ifdef CONFIG_ROCKCHIP_THUNDER_BOOT
2622 module_i2c_driver(imx415_i2c_driver);
2623 #else
2624 static int __init sensor_mod_init(void)
2625 {
2626 return i2c_add_driver(&imx415_i2c_driver);
2627 }
2628
2629 static void __exit sensor_mod_exit(void)
2630 {
2631 i2c_del_driver(&imx415_i2c_driver);
2632 }
2633
2634 device_initcall_sync(sensor_mod_init);
2635 module_exit(sensor_mod_exit);
2636 #endif
还有修改什么 目前忘了 有不懂的可以评论!!!
1.2 usb 功能调试
这里还是有很多问题的 大概说一下作者只调试了u盘看文档修改了内容
首先在 buildroot里面修改
+BR2_PACKAGE_THUNDERBOOT_USE_EUDEV=y
将这个配置编译成固件
diff --git a/arch/arm/configs/rv1126-tb.config b/arch/arm/configs/rv1126-
tb.config
index 729df48a8cb0..34d7d40c6d82 100644
--- a/arch/arm/configs/rv1126-tb.config
+++ b/arch/arm/configs/rv1126-tb.config
@@ -1,4 +1,3 @@
-CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SD=y
CONFIG_BT=m
CONFIG_BT_HCIUART=m
CONFIG_CFG80211=m
@@ -24,8 +23,6 @@ CONFIG_ROCKCHIP_HW_DECOMPRESS=y
CONFIG_ROCKCHIP_RAMDISK=y
CONFIG_ROCKCHIP_THUNDER_BOOT=y
CONFIG_ROMFS_FS=y
-CONFIG_SCSI=m
+CONFIG_SCSI=y
-CONFIG_SCSI_MOD=m
+CONFIG_SCSI_MOD=y
# CONFIG_SLUB_SYSFS is not set
CONFIG_SND=m
CONFIG_SND_ALOOP=m
@@ -47,21 +44,21 @@ CONFIG_SOUND=m
CONFIG_STMMAC_ETH=m
CONFIG_STMMAC_PLATFORM=m
# CONFIG_TEE is not set
-CONFIG_USB=m
+CONFIG_USB=y
# CONFIG_USB_CONFIGFS_F_UAC1 is not set
# CONFIG_USB_CONFIGFS_F_UAC2 is not set
# CONFIG_USB_CONFIGFS_F_UVC is not set
# CONFIG_USB_CONFIGFS_RNDIS is not set
-CONFIG_USB_DWC3=m
-CONFIG_USB_DWC3_OF_SIMPLE=m
-CONFIG_USB_DWC3_ROCKCHIP_INNO=m
-CONFIG_USB_EHCI_HCD=m
-CONFIG_USB_EHCI_HCD_PLATFORM=m
+CONFIG_USB_DWC3=y
+CONFIG_USB_DWC3_OF_SIMPLE=y
+CONFIG_USB_DWC3_ROCKCHIP_INNO=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_USB_HID=m
# CONFIG_USB_NET_DRIVERS is not set
-CONFIG_USB_OHCI_HCD=m
-CONFIG_USB_OHCI_HCD_PLATFORM=m
-CONFIG_USB_STORAGE=m
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+CONFIG_USB_STORAGE=y
CONFIG_USB_XHCI_HCD=m
CONFIG_USB_XHCI_PLATFORM=m
还是很文档不一样的
最后在开发版可以看见 ls /dev/sda1
如果需要usbmount自动挂载请查看这篇文档
《rv1126 —— udev机制、增加U盘识别功能、usbmount实现USB设置自动挂载》 - 一个不知道干嘛的小萌新 - 博客园 (cnblogs.com)
2. 编译SDK
./build.sh BoardConfig-tb-v13.mk && ./build.sh
最后烧录到开发板 启动 可以看见 屏幕上有摄像头录制的内容。
必须烧录update.img,原子哥告诉我的。
就这么多 调试不易