當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > U-BOOT 使用串口運(yùn)行4412裸板程序
關(guān)鍵字:u-boot 裸板 串口 uart 調(diào)試 loadb kermit
在我們熟悉硬件平臺(tái)的過程當(dāng)中,通常會(huì)使用裸板代碼調(diào)試方式進(jìn)行試驗(yàn)驗(yàn)證。常用手段是通過JTAG+openocd 進(jìn)行GDB端調(diào)試,這種方式可以實(shí)時(shí)觀察代碼對硬件的影響及代碼的執(zhí)行順序。但是操作相對比較啰嗦,并且需要借助于jtag連接器。在沒有jtag的條件下我們可以通過利用U-boot 的loadb、go命令實(shí)現(xiàn)通過串口傳輸下載并執(zhí)行裸板代碼。當(dāng)然這樣做的缺點(diǎn)是我們無法到程序運(yùn)行的細(xì)節(jié)過程。
首先我們要通過查看確認(rèn)裸板程序的起始執(zhí)行地址:0x40008000
這個(gè)地址在也可能在后綴名為.lds的連接腳本中設(shè)置
確認(rèn)地址后,我們使用 《超級(jí)終端》 或《SecureCRT》 等支持 kermit傳輸協(xié)議的串口通信工具打開與開發(fā)板的串口連接。開啟開發(fā)板電源讓u-BOOT啟動(dòng)運(yùn)行,在啟動(dòng)倒數(shù)到0前,按任意鍵停止系統(tǒng)引導(dǎo)。
輸入u-boot 命令# loadb 0x40008000 /*地址值以在Makefile 中查找到的為準(zhǔn)*/
回車
然后在串口工具上選擇transfer菜單里的send kermit選項(xiàng)
選擇文件工程中編譯生成的 .bin文件;并添加到files to send 列表;然后點(diǎn)擊OK
等到數(shù)據(jù)接收完畢后,執(zhí)行 # go 0x40008000 跳轉(zhuǎn)到下載代碼位置執(zhí)行。
這樣,裸板程序就可以在開發(fā)板中自動(dòng)運(yùn)行了。
當(dāng)然如果覺得頻繁操作這兩條命令比較麻煩;也可以把它們 添加到 bootcmd啟動(dòng)命令中。
添加方法:
# setenv bootcmd loadb 0x40008000 \; go 0x40008000
#saveenv
添加完成后,每次開機(jī) u-boot 會(huì)自動(dòng)運(yùn)行這個(gè)兩條命令,我們只要在串口工具中發(fā)送編譯好的.bin 文件即可立即執(zhí)行。