重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章给大家分享的是有关树莓派4上怎么使用uboot+tftp调试rt-thread程序的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
创新互联服务项目包括石河子网站建设、石河子网站制作、石河子网页制作以及石河子网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,石河子网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到石河子省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
做嵌入式开发,往往一个高效而可靠的开发环境,对于开发者来说非常的重要。
因为嵌入式往往需要把程序放到板子上去运行,而再树莓派上做rt-thread开发调试的时候,通常有三种办法。
第一种:SD卡转移
这种办法就是替换SD卡镜像内的kernel文件,这种办法每次都要将SD卡拔出,然后从电脑中转移系统镜像到SD卡中。
第二种:用uboot+tftp
这种办法的有点就是直接通过网络方式进行下载,需要有网线插入,并且宿主机搭建一个tftp的服务器。
第三种:用uboot+串口ymodem
这种就是利用了uboot里面的ymodem的功能,只需要将固件通过串口加载到内存,然后指定内存的运行的起始地址。
下面我主要介绍第二种方式进行说明。
可以看我之前编译树莓派3编译uboot的文章。
接着,可以需要注意的是配置
ARCH=arm64 CROSS_COMPILE=aarch74-linux-gnu- make rpi_arm64_defconfig
配置完成后,接着输入make menuconfig
。接着需要uboot开启dcache的命令。
这里的命令
接着添加dcache命令
选择
配置完成后,就可以进行编译了
ARCH=arm64 CROSS_COMPILE=aarch74-linux-gnu- make
编译完成后,会生成u-boot.bin程序。
因为uboot要放到SD卡目录下,所以先修改config.txt
。
enable_uart=1
arm_64bit=1
kernel=u-boot.bin
然后把编译好的固件放到SD卡中。
启动就可以看到效果了。
设置环境变量:
setenv bootcmd "dhcp 0x00200000 192.168.12.194:rtthread.bin;dcache flush;go 0x00200000"
saveenv
其中要设置自己的tftp服务器的IP地址。dcache flush
就可以了。
最后重启系统就可以了。
每次更新了RTT固件,直接将编译好的固件放到TFTP服务器的文件夹中,接着上电重启树莓派即可。不用每次都对SD卡进行操作了。
这里需要注意的是将RTT的固件地址进行一定的偏移。
https://github.com/RT-Thread/rt-thread/tree/master/bsp/raspberry-pi/raspi4
接着设置link.lds
文件。将起始地址改为0x200000
。
因为uboot的入口地址是0x80000,如果这里也是0x80000那就不行了。
所以这里改一下入口地址就可以了。
感谢各位的阅读!关于“树莓派4上怎么使用uboot+tftp调试rt-thread程序”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!