您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)樹莓派4上怎么使用uboot+tftp調(diào)試rt-thread程序的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
做嵌入式開發(fā),往往一個(gè)高效而可靠的開發(fā)環(huán)境,對于開發(fā)者來說非常的重要。
因?yàn)榍度胧酵枰殉绦蚍诺桨遄由先ミ\(yùn)行,而再樹莓派上做rt-thread開發(fā)調(diào)試的時(shí)候,通常有三種辦法。
第一種:SD卡轉(zhuǎn)移
這種辦法就是替換SD卡鏡像內(nèi)的kernel文件,這種辦法每次都要將SD卡拔出,然后從電腦中轉(zhuǎn)移系統(tǒng)鏡像到SD卡中。
第二種:用uboot+tftp
這種辦法的有點(diǎn)就是直接通過網(wǎng)絡(luò)方式進(jìn)行下載,需要有網(wǎng)線插入,并且宿主機(jī)搭建一個(gè)tftp的服務(wù)器。
第三種:用uboot+串口ymodem
這種就是利用了uboot里面的ymodem的功能,只需要將固件通過串口加載到內(nèi)存,然后指定內(nèi)存的運(yùn)行的起始地址。
下面我主要介紹第二種方式進(jìn)行說明。
可以看我之前編譯樹莓派3編譯uboot的文章。
接著,可以需要注意的是配置
ARCH=arm64 CROSS_COMPILE=aarch74-linux-gnu- make rpi_arm64_defconfig
配置完成后,接著輸入make menuconfig
。接著需要uboot開啟dcache的命令。
這里的命令
接著添加dcache命令
選擇
配置完成后,就可以進(jìn)行編譯了
ARCH=arm64 CROSS_COMPILE=aarch74-linux-gnu- make
編譯完成后,會(huì)生成u-boot.bin程序。
因?yàn)閡boot要放到SD卡目錄下,所以先修改config.txt
。
enable_uart=1
arm_64bit=1
kernel=u-boot.bin
然后把編譯好的固件放到SD卡中。
啟動(dòng)就可以看到效果了。
設(shè)置環(huán)境變量:
setenv bootcmd "dhcp 0x00200000 192.168.12.194:rtthread.bin;dcache flush;go 0x00200000"
saveenv
其中要設(shè)置自己的tftp服務(wù)器的IP地址。dcache flush
就可以了。
最后重啟系統(tǒng)就可以了。
每次更新了RTT固件,直接將編譯好的固件放到TFTP服務(wù)器的文件夾中,接著上電重啟樹莓派即可。不用每次都對SD卡進(jìn)行操作了。
這里需要注意的是將RTT的固件地址進(jìn)行一定的偏移。
https://github.com/RT-Thread/rt-thread/tree/master/bsp/raspberry-pi/raspi4
接著設(shè)置link.lds
文件。將起始地址改為0x200000
。
因?yàn)閡boot的入口地址是0x80000,如果這里也是0x80000那就不行了。
所以這里改一下入口地址就可以了。
感謝各位的閱讀!關(guān)于“樹莓派4上怎么使用uboot+tftp調(diào)試rt-thread程序”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。