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