1.根据实际的内核分区修改u-boot源码中的文件:
include/configs/smdk2416.h
2.修改如下内容:
(1)将usb中的内核镜像zImage放入内存中的对应位置:
#define CONFIG_USBLOADKERNEL "fatloadusb 0:1 30008000 zImage"
(2)将下载到内存中的内核镜像烧写到nand flash中:
nbsp; #define CONFIG_UPDATAKERNEL "nand erase 100000 300000 ; nand write 30008000 100000 300000"
(3)将usb中存放的文件系统rootfs.cramfs放入内存中的对应的位置:
#define CONFIG_USBLOADROOTFS "fatloadusb 0:1 30008000 rootfs.cramfs"
(4)将内存中存放的文件系统烧写到nand flash当中:
#define CONFIG_UPDATAROOTFS "nand erase 400000 C00000 ; nand write 30008000 400000 C00000"
(5)读取内核镜像并运行:
#define CONFIG_BOOTKERNEL "nand read 30008000 100000 300000; bootm 30008000"
#define CONFIG_USBSTART "usb start"
(6)定义硬件平台上电后需要执行的命令:
#define CONFIG_BOOTCOMMAND "run usbstart usbloadkernel updatakernel ; run usbloadrootfs updatarootfs ; run bootkernel"