我现在想在倒计时时先中断auto-boot,调用tftp下载一个FPGA的文件,配置好FPGA后再下载内核。但是此时调用tftpstart()函数时获取不到IP地址,为0.0.0.0。对这个流程还是有点不清楚,有没有人能帮忙讲解一下?比如系统从bootcmd先获取到了启动变量,然后它是通过哪几个函数将这些命令配置进去的?
2 个解决方案
#1
在uboot中有一个parse解释器,在这个函数中会将bootcmd中的命令解释并执行,在main.c中的main_loop函数中parse_string_outer或者run_command这两个函数中的一个执行。解释并执行完bootcmd后开始倒计时
#2
中断后直接调用tftpstart()函数,此时获取不到TFTP SERVER和板的IP地址,都为0.0.0.0。但为什么我直接输入tftp时它又能获得IP呢?
#1
在uboot中有一个parse解释器,在这个函数中会将bootcmd中的命令解释并执行,在main.c中的main_loop函数中parse_string_outer或者run_command这两个函数中的一个执行。解释并执行完bootcmd后开始倒计时
#2
中断后直接调用tftpstart()函数,此时获取不到TFTP SERVER和板的IP地址,都为0.0.0.0。但为什么我直接输入tftp时它又能获得IP呢?