解决了,是宏CFG_HUSH_PARSER控制的。找这个宏的解释不多,在这里看到一段:http://blog.csdn.net/string19820108/article/details/7673049
--------------------------------------------------------------
如果执行上面的函数的时候用户按下了任意键,将继续执行到这里,mainloop输出一些提示符后会一直等待用户的输入,当用户输入完成后,对用户的输入进行解析,根据命令的不同到.u_boot_cmd中查找指定的命令,找到后执行对应的函数。
命令的解析方法有两种,第一种就是最笨的办法,直接到.u_boot_cmd段中进行字符串比较,找到相同的那么就执行,如果命令比较少,相对来说对性能没有太大的损失,但是当命令很多时这种方法就不是很合适了。Uboot使用另外一种查找办法解决这个问题:使用hush表,只要用户在configs/MPC8349ADS.h文件中定义:
#define CFG_HUSH_PARSER
就可以实现了。这种方法与上面的方法基本相同,只是在查找方式上做了优化,这样可以提高查找速度,具体的代码可以查看common/main.c文件
--------------------------------------------------------------
如果用了CFG_HUSH_PARSER,命令的查找是快了,但也去掉了解析环境变量的功能。
|