uboot移植(十六)添加启动菜单

参考帮助文档 doc/README.bootmenu

首先我们需要在 smdkv210.h 中增加 4 个宏


另外,帮助文档还提到要定义 CONFIG_BOOTDELAY,表示显示菜单多久,这个宏已经定义了,默认为 3s

现在重新编译 u-boot, 从 NAND FLASH 启动开发板, 将 u-boot.bin 烧写到 NAND FLASH

        我这里将所有命令写在一行命令之间使用“;”隔开,将这一行命令拷贝到一个记事本,以后操作
时直接复制过来,一个回车就搞定了。 然后执行
reset 复位。

        可以看到, u-boot 显示了默认的菜单界面, 这时只有一条默认菜单, 3s 延迟后, u-boot 就执行第 1
条菜单进入到命令行模式了。
        我们通过设置环境变量来添加菜单。
使用
setenv 添加菜单的格式为:
bootmenu_<num>="<title>=<commands>
<num>
菜单编号,从 0 开始
<title> 菜单标题
<commands> 当一个菜单被选中后要执行的命令
标题和命令以第一个“
=” 为分界点
延迟结束后
u-boot 立即执行第一个菜单的命令
按上下键来选择菜单,被选中的菜单以高亮显示,按回车键执行被选中的菜单的命令
Esc 键或者 Q 键退出延迟计数,一直显示菜单,直到用户选择某个菜单执行

下面来添加几个菜单,添加完成后,使用 saveenv 保存环境变量到 NAND FLASH

现在执行 reset 命令重启开发板


延迟结束后,执行了第 1 个菜单的命令,打印了 menu0

我们还可以使用 bootmenu 跟一个延迟参数来启动菜单,不跟参数的话,以环境变量 bootdelay 为延迟时间


我们可以按 Q 键或者 Esc 键退出延迟计数,一直显示菜单直到用户选择某个菜单。

猜你喜欢

转载自blog.csdn.net/jerrygou/article/details/80645816