天天看点

超详细【Uboot驱动开发】(四)Uboot命令行模式分析四、Uboot命令行模式分析

四、Uboot命令行模式分析

文章目录

  • 四、Uboot命令行模式分析
    • 4.1 命令行模式代码执行流程分析
    • 4.2 如何进入命令行模式
    • 4.3 `Uboot`基本命令解析
    • 4.4 如何添加Uboot命令
    • 4.5 Uboot命令底层实现分析
    • 4.6 推荐文档

前几篇文章,我们也了解了

Uboot

的启动流程,那么这节就主要讲讲

Uboot

的命令行模式。

4.1 命令行模式代码执行流程分析

超详细【Uboot驱动开发】(四)Uboot命令行模式分析四、Uboot命令行模式分析

上图为

Uboot

命令行模式的代码具体执行流程,详细的代码分析可以参见 专栏系列(二)uboot启动流程分析,文章内已经详细分析函数内部实现。

4.2 如何进入命令行模式

我们正常启动流程,默认是不打开

Uboot

命令行模式的,因为

Uboot

主要引导

Kernel

,大多我们也都在

Kernel

上进行开发,所以往往默认情况下不打开

Uboot

命令行的相关宏定义。

那么,我们要想进入Uboot命令行模式,需要进行哪些配置呢?

打开我们准备好一份Uboot源码,进入menuconfig配置菜单,主要设置下列几个配置信息!
  • CONFIG_CMDLINE

    :命令行模式开关
  • CONFIG_SYS_PROMPT

    :命令行模式提示符
  • CONFIG_HUSH_PARSER

    :使用hush shell 来对命令进行解析
  • 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

命令行模式后,键入

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

继续阅读