流程
1、使用stm32h750内部flash烧写的qboot初始化部分外设,并将地址跳转到0x9000000
2.运行uboot和linux
相关链接
uboot master分支
rt-thread kboot 工程
文件烧录
参考master kboot工程,并使用其部分文件
遇到的问题:
- 波特率问题:kboot和uboot的默认波特率是2m,我的串口软件不支持,修改了kboot工程和uboot配置,编译后的文件在后面链接中
- 烧录问题:app地址是0x90000000,所以需要将uboot.bin烧录到该位置,可以使用kboot工程烧录(波特率更改后烧录较慢),也可以使用STM32CubeProgrammer进行外部flash烧录
- 启动较慢,uboot要接近5s,在linux 的Starting kernel …这一句这里停止了将近10s,但启动之后执行linux命令等反应速度还行
烧录流程
-
rtthread.bin 烧录到内部flash,选择文件,点击start program,kboot波特率为115200,可以使用ry传输uboot和linux文件
-
烧录uboot,波特率为115200(uboot波特率修改后编译),地址0x90000000,需要添加下载算法
3.
-
烧录linux文件,使用的是kboot工程自带的文件(软件只支持bin后缀),烧录时间较久,地址0x90080000
-
重启后的界面,输入boot就可以启动uboot和linux
-
发现github上那个kboot工程可以不用使用,可以直接使用art_pi_qboot工程跳转到0x90000000执行uboot,所以1中烧录的文件可以更改,更改后可以直接启动(该工程可以通过rtthread studio创建并烧录,较方便)
-
buildroot用户名为root,无密码,可以正常使用
使用到的文件链接
待审核,后续更新,可以发邮件交流,lign17314@163.com