- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
U-Boot命令命令命令命令
U-Boot 命令命令
命令命令
刘通平刘通平 Homepage: /~tonyliu/
刘通平刘通平
U-Boot 运行稳定后,可以用它的内部命令来查看目标系统的信息,设置环境变量等 U-Boot
在硬件初始化完成后将进入 main_loop() 函数,main_loop() 函数将进入一个无限循环,当用
户输入命令后,首先将调用run_command() 函数进行处理。在run_command() 函数中,将调
用find_cmd() 函数把用户从终端输入的命令进行比较,当find_cmd()返回值不为0 时证明系
统支持用户输入的命令,在对命令进行检验后最后将调用命令处理函数
find_cmd()函数将从系统默认的命令表中查询一个匹配的命令,查看源代码发现,find_cmd()
将把__u_boot_cmd_start 开始到__u_boot_cmd_end 结束的所有命令一一和用户输入的命令进
行比较。而关于__u_boot_cmd_start 和__u_boot_cmd_end 的定义是在板级相关的链接文件中
定义的,比如对于fads 的板子,在board/fads/u-boot.lds 中有以下定义:
__u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = .;
从以上定义可知,.u_boot_cmd 是真正的命令部分,而.u_boot_cmd 的定义在command.h 中,
#define Struct_Section __attribute__ ((unused,section (.u_boot_cmd)))
#define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \
cmd_tbl_t __u_boot_cmd_##name Struct_Section = {#name, maxargs, rep, cmd,
usage}
因此,即U_BOOT_CMD 可以把一个命令加入到全局的命令表中,查询U_BOOT_CMD 可
知,common 目录下的所有cmd_***文件和command.c 文件都包含有U_BOOT_CMD 宏定
义。因此可看出,实际上 command.c 中定义了和命令本身相关的命令处理程序,而其它的
cmd_***文件则是某一类型的命令处理程序。这些强大的命令处理程序构成了U-Boot 强大
的命令处理功能
下面将介绍U-Boot 中最重要的命令。因为u-boot 是高度可配置,因此你还可以对这些命令
进行裁减。如果你不清楚当前的U-Boot 中支持哪些命令,你可以利用help 列出当前能用的
所有命令
对于大部分命令,你并不需要输入命令的全名,u-boot 还支持命令的匹配。比如,help 可缩
写成h.
关于u-boot 的命令接口,这里需要注意以下几点:
一些命令的行为取决于u-boot 的配置和u-boot 环境变量的设置
所有除数字外的u-boot 命令都可以16 进制的格式表示
4.5.1 信息查询命令信息查询命令
信息查询命令信息查询命令
bdinfo – 打印板级信息打印板级信息
打印板级信息打印板级信息
bdinfo (缩写: bdi)将打印板子信息,包括内存地址,时钟频率,MAC 地址等等,板级信息
最终将传给Linux 内核。如下例:
= bdi
memstart = 0
memsize = 0
flashstart = 0
flashsize = 0
flashoffset = 0
sramstart = 0
sramsize = 0
immr_base = 0xFFF00000
bootflags = 0
intfreq = 50 MHz
busfreq =
文档评论(0)