当前位置: 技术问答>linux和unix
UBOOT中的bootcmd命令中的参数是如何初始化给系统的?
来源: 互联网 发布时间:2016-11-24
本文导语: uboot在自启动中是如何引用bootcmd中的各参数的?在main_loop()里的s=getenv(“bootcmd”),我知道是在这把这些参数取出来的,然后他在哪里开始初始化这些参数的? 我现在想在倒计时时先中断auto-boot,调用tftp下载一个FP...
uboot在自启动中是如何引用bootcmd中的各参数的?在main_loop()里的s=getenv(“bootcmd”),我知道是在这把这些参数取出来的,然后他在哪里开始初始化这些参数的?
我现在想在倒计时时先中断auto-boot,调用tftp下载一个FPGA的文件,配置好FPGA后再下载内核。但是此时调用tftpstart()函数时获取不到IP地址,为0.0.0.0。对这个流程还是有点不清楚,有没有人能帮忙讲解一下?比如系统从bootcmd先获取到了启动变量,然后它是通过哪几个函数将这些命令配置进去的?
我现在想在倒计时时先中断auto-boot,调用tftp下载一个FPGA的文件,配置好FPGA后再下载内核。但是此时调用tftpstart()函数时获取不到IP地址,为0.0.0.0。对这个流程还是有点不清楚,有没有人能帮忙讲解一下?比如系统从bootcmd先获取到了启动变量,然后它是通过哪几个函数将这些命令配置进去的?
|
在uboot中有一个parse解释器,在这个函数中会将bootcmd中的命令解释并执行,在main.c中的main_loop函数中parse_string_outer或者run_command这两个函数中的一个执行。解释并执行完bootcmd后开始倒计时