接上一篇:【Rockchip】一、瑞芯微 Linux SDK软件包的解压和部署

概述

项目需要,要对rv1109/rv1126的开发板硬件资源进行定制修改,同步对软件设备树dts文件进行修改,并编译打包生成新的固件,将新的固件烧录进开发板,从而使用所需的硬件资源实现需求。
在这里插入图片描述

注:由于是低电压换高电压,需要先烧入内核文件,再动手修改硬件供电电路,否则会造成芯片损坏

本人需求:雷达硬件与1109开发板的通信,包括下发雷达指令和接收雷达数据,至少需要两个UART串口,但开发板并未直接开放串口。因此需要把一个CIF摄像头接口改为串口使用,且开发板与雷达IO口的电压需要适配。

内核文件修改

串口修改

其目的是将原有默认开启的cfi摄像头屏蔽掉,然后开启串口的复用。
即开发板的这个口,原来是接摄像头的,现在改成接串口
在这里插入图片描述
具体操作:

  • 屏蔽:对rv1109_SDK\rv1109_new\kernel\arch\arm\boot\dts\rv1126-evb-v10.dtsi文件,把摄像头的部分注释掉:

在这里插入图片描述

  • 增加uart3,uart4开启
    在dts文件中添加如下内容
&uart3 {
	status = "okay";
};
&uart4 {
	status = "okay";
};

在这里插入图片描述

因为对应在嵌入式demo的uart.cc中,ttySn就是串行端口终端,ttyS4发送雷达配置、控制信号,ttyS3负责接收雷达信号

供电修改

根据《RV1126_RV1109_IO_电源域配置指南.pdf》:
在这里插入图片描述
仍在rv1109_SDK\rv1109_new\kernel\arch\arm\boot\dts\rv1126-evb-v10.dtsi中
Vccio6从1v8改成3v3
在这里插入图片描述

内核文件编译生成

将修改好的rv1126-evb-v10.dtsi复制替换到linux里面对应位置里面
在这里插入图片描述
然后根据《Rockchip_RV1126_RV1109_Quick_Start_Linux_CN.pdf》
在这里插入图片描述

返回SDK根目录,在终端执行./build.sh kernel
在这里插入图片描述

(如果build出现bug,请确保安装了【Rockchip】一、瑞芯微 Linux SDK软件包的解压和部署中的所有依赖库)
几分钟后出现:
在这里插入图片描述
说明已经编译好了
然后需要打包,才会生成boot.img
./mkfirmware.sh
在这里插入图片描述
然后在rockdev文件夹中,就会出现固件了!
在这里插入图片描述

内核文件烧写到开发板

将boot.img以及SDK中的tools,通过共享文件夹拿到Windows里,打开瑞芯微开发工具/RKDevTool.exe
打开上图中生成的parameter.txt,在工具中输入对应地址和名字
在这里插入图片描述

(为了方便,输入一次之后可以右键导出配置,下次烧一样的固件可以直接右键选择导入配置)
导入开发板对应的配置
在这里插入图片描述
在这里插入图片描述
注意后面的路径,是boot文件相对于exe的绝对路径。
比如我把要烧录的固件放在
在这里插入图片描述
则我把boot路径改成
在这里插入图片描述
这边工作做好后,有两种烧录模式,两种方法,有一种能烧进去就好

Loader烧写模式

开发板连接2.7.1版本工具后,(注意一定是先打开开关通电,过一阵子后插入usb口)显示发现一个ADB设备,这个时候点击切换按钮,约2min后:
在这里插入图片描述
显示切换成功
然后导入配置和正确设置固件路径后,点击执行
在这里插入图片描述
就烧写进去了

Maskrom烧写模式

开发板连接2.7.1版本工具后,(注意一定是先打开开关通电,过一阵子后插入usb口)显示发现一个ADB设备,这个时候按住开发板上update键不放情况下,按reset按键一下,然后松开所有按键,软件将会变成显示:发现一个MASKROM设备
如上文一样配置,注意maskrom模式烧写必须加选loader,也选择默认的loader文件和对应路径,然后点击执行,即可烧写。

这个部分做的时候步骤很乱,官方固件烧写工具版本不一,手册讲述的步骤也不一,我用的是2.7.1版本的烧写工具可行,2.8.4就经常不行,还是要结合实际开发板资料,自己多试试。
下面为参考

《Rockchip_RV1126_RV1109_EVB_User_Guide_V1.0_CN.pdf》
在这里插入图片描述
《Android开发工具手册_v1.2.pdf》
在这里插入图片描述

硬件供电电路修改

将1109开发板,背面的电阻换个位置即可
在这里插入图片描述
在这里插入图片描述
等软件固件,硬件电路都修改完成,就可以尝试编写linux端demo,并在开发板上编译运行了!见下一篇
end

Logo

更多推荐