四、Uboot指令行模式分析
文章目錄
- 四、Uboot指令行模式分析
-
- 4.1 指令行模式代碼執行流程分析
- 4.2 如何進入指令行模式
- 4.3 `Uboot`基本指令解析
- 4.4 如何添加Uboot指令
- 4.5 Uboot指令底層實作分析
- 4.6 推薦文檔
前幾篇文章,我們也了解了
Uboot
的啟動流程,那麼這節就主要講講
Uboot
的指令行模式。
4.1 指令行模式代碼執行流程分析

上圖為
Uboot
指令行模式的代碼具體執行流程,詳細的代碼分析可以參見 專欄系列(二)uboot啟動流程分析,文章内已經詳細分析函數内部實作。
4.2 如何進入指令行模式
我們正常啟動流程,預設是不打開
Uboot
指令行模式的,因為
Uboot
主要引導
Kernel
,大多我們也都在
Kernel
上進行開發,是以往往預設情況下不打開
Uboot
指令行的相關宏定義。
那麼,我們要想進入Uboot指令行模式,需要進行哪些配置呢?
打開我們準備好一份Uboot源碼,進入menuconfig配置菜單,主要設定下列幾個配置資訊!
-
:指令行模式開關CONFIG_CMDLINE
-
:指令行模式提示符CONFIG_SYS_PROMPT
-
:使用hush shell 來對指令進行解析CONFIG_HUSH_PARSER
-
:設定啟動延時BOOTDELAY
Tip:
meneconfig
中查找苦難?實時
/
符号,輸入
1或2或3
,直接查找指定辨別。
打開之後,重新編譯,燒錄到開發闆中,再次啟動,我們就能夠看到倒計時,在倒計時時間内,任意一個按鍵即可進入!
[2022-03-02:13:33:47]U-Boot 2020.10-rc1-00043-ge62a6d17c6-dirty (Feb 08 2022 - 10:14:14 +0800)
[2022-03-02:13:33:47]
[2022-03-02:13:33:47]Model: arobot-r8
[2022-03-02:13:33:47]MMC: [email protected]: 1
[2022-03-02:13:33:47]In: serial
[2022-03-02:13:33:47]Out: serial
[2022-03-02:13:33:47]Err: serial
[2022-03-02:13:33:47]Model: arobot-r8
[2022-03-02:13:33:49]Hit any key to stop autoboot: 0
4.3 Uboot
基本指令解析
Uboot
進入
Uboot
指令行模式後,鍵入
help
可以檢視所有支援的
Uboot
指令。
注意:
Uboot
支援的指令大都遠遠超過顯示的,還有好多沒有打開,可以在
menuconfig
中,打開相應的功能,如
mmc
相關的,
md
記憶體相關的。
常用指令如下:
reset #重新開機Uboot
md addr #檢視記憶體指令
mmc dev id #選擇mmc卡
mmc rescan #掃描卡
printenv #列印目前系統環境變量。
setenv name value #設定環境變量
sleep N #延時
echo $name #列印環境變量
4.4 如何添加Uboot指令
4.5 Uboot指令底層實作分析
4.6 推薦文檔
[1]:https://www.pianshen.com/article/21471247431/
[2]:https://blog.csdn.net/weixin_44895651/article/details/108211268
[3]:https://blog.51cto.com/u_2847568/4917530?b=totalstatistic
…