有关boot setenv问题

flypig8900 2011-07-29 05:07:52
现在另外一个boot上跑一套代码,但是boot启动参数使用的是原配套boot的启动参数,现在有个问题就是
有个参数设不了(像bootargs,bootcmd都已经ok了,也可以跑到文件系统中去,但由于一个参数没设定,程序不能正常运行),
macwrite=eeprom read 0x100000 4 1\;if itest.b *0x100000 != 0xa\;then tftp 0x100000 hunan\;writenum 0x100000 114 12\;mw.b 0x100000 0xa\;eeprom write 0x100000 4 1\;fi;

想问一下boot的启动参数大小有限制吗?

比如上面那个参数
我这样设定
#set macwrite eeprom read 0x100000 4 1;if itest.b *0x100000 != 0xa;then tftp 0x100000 hunan;writenum 0x100000 114 12;mw.b 0x100000 0xa;eeprom write 0x100000 4 1;fi;
TFTP from server 192.168.18.69; our IP address is 192.168.18.249
Filename 'hunan'.
Load address: 0x100000
Loading: *
好像马上就去执行tftp 0x100000 hunan,但这样设定
# set macwrite eeprom read 0x100000 4 1\;if itest.b *0x100000 != 0xa\;then tftp 0x100000 hunan\;writenum 0x100000 114 12\;mw.b 0x100000 0xa\;eeprom write 0x100000 4 1\;fi;
Usage:
setenv - set environment variables

虽然没有去执行,但pri也没有看到设定的macwrite
是不是不同的boot设定参数格式也有不同,这个是在boot源代码中有限制的吗?
(因为没有配套的boot源代码,所以用了另外一个,但是同一产品线的)
哪位帮忙解答一下,谢谢

...全文
102 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你用的是UBOOT吗? 如果是,uboot的命令参数个数是有上限的 在include/configs/XXX.h(与开发板对应的头文件如smdk2440.h中 宏
#define CFG_MAXARGS 16 )最多参数个数16
实际参数个数还要看你uboot中的定义

至于“好像马上就去执行tftp 0x100000 hunan” 你可以尝试在include/configs/XXX.h(与开发板对应的头文件)定义#define CFG_HUSH_PARSER 这个宏 开启相应代码的编译 具体可阅读uboot common/main.c 与 CFG_HUSH_PARSER 相关的代码 大约在480行左右,应该是run_command (lastcommand, flag); 函数导致了这个问题 ,定义CFG_HUSH_PARSER 就避开了run_command (lastcommand, flag); 函数 。不会再出现 马上就去执行tftp 0x100000 hunan的问题了
CFG_MAXARGS
CFG_HUSH_PARSER 这两个宏还可能被定义成
CONFIG_SYS_MAXARGS
CONFIG_SYS_HUSH_PARSER 这要看uboot的版本

问个问题需要每五分钟就来看看吗?使用《Csdn收音机》帮你监视帖子更新吧!

4,441

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧