|
u-boot-2014.07版本的启动顺序为sd卡,nand, emmc,usb。现在我需要设置为Nand flash 启动,而且不要SD卡;根据用户手册的《特定启动方式的 U-Boot 参数设置》来设置NAND FLASH 方式启动,执行 setenv bootcmd 'run findfdt; run nandboot;' saveenv 命令之后,出现“Card did not respond to voltage select! ** bad device mmc 0**",经常查询之后知道是am437x的u-boot在执行saveenv命令之后是默认保存到SD卡中的,在缺少SD卡的时候会出现以上报错。
而且在不插SD卡的时候正常启动u-boot的时候,在跳转kernel时会出现“Nand read: device 0 offset 0x100000,size 0x80000; nand read:device 0 offset 0x300000 ,size 0x700000”,在这里耗时较长。
源码中env_fat.c文件中saveenv函数中定义的part = get_device_and_partition(FAT_ENV_INTERFACE,FAT_ENV_DEVICE_AND_PART,&dev_desc, &info, 1);
其中#define FAT_ENV_INTERFACE "mmc" 。
现在如何修改可以使u-boot在不插SD卡的情况下可以保存saveenv命令之前修改的环境变量,还有使u-boot快速的跳转到kernel. |
|