由于需要从onenand启动,没有接串口,从otg口接USB,连ADB使用fastboot刷写。操作步骤如下:
1.首先编译一个从SD卡或TF卡启动的uboot,作用是烧录u-boot-config_fused.bin到onenand里,注意在smdkc110_mtd.h文件里修改下列地方:
//#define CFG_FASTBOOT_ONENANDBSP
//#define CFG_FASTBOOT_NANDBSP
#define CFG_FASTBOOT_SDMMCBSP
....
#elif defined(CFG_FASTBOOT_SDMMCBSP)
/*#define CONFIG_BOOTCOMMAND "movi read kernel 30008000; movi read rootfs 30A00000 180000; bootm 30008000 30A00000"*/
//envi20120518 ++<<
#define CONFIG_BOOTCOMMAND "fdisk -c 0;fatload mmc 0 40000000 u-boot-config_fused.bin 80000;onenand erase 0 80000;onenand write 40000000 0 80000;"
//envi +>>
#endif
编译完之后,烧录到TF卡里。
2.编译一个从onenand启动的uboot,但是这个uboot要让它自动进入fastboot命令行。注意在smdkc110_mtd.h文件里修改下列地方:
#define CFG_FASTBOOT_ONENANDBSP
//#define CFG_FASTBOOT_NANDBSP
//#define CFG_FASTBOOT_SDMMCBSP
#if defined(CFG_FASTBOOT_ONENANDBSP)
/*#define CONFIG_BOOTCOMMAND "onenand read 30008000 600000 400000; onenand read 30A00000 B00000 180000; bootm 30008000 30A00000"*/
//envi20120518 +<<
#define CONFIG_BOOTCOMMAND "fdisk -c 0;fastboot"
//envi +>>
编译完之后,参照C110的编译文档,生成u-boot-config_fused.bin,将其放在TF卡的fat32分区下。
3.编译一个正常从onenand启动的uboot。注意在smdkc110_mtd.h文件里修改下列地方:
#define CFG_FASTBOOT_ONENANDBSP
//#define CFG_FASTBOOT_NANDBSP
//#define CFG_FASTBOOT_SDMMCBSP
#if defined(CFG_FASTBOOT_ONENANDBSP)
#define CONFIG_BOOTCOMMAND "onenand read 30008000 600000 400000; onenand read 30A00000 B00000 180000; bootm 30008000 30A00000"
...
编译完之后,生成u-boot-config_fused.bin,放在PC端刷写。
说明:1.TF启动卡的作用是将自动运行fastboot命令的从onenand启动的uboot烧录到onenand里。此阶段启动开关为SD卡启动,需要几秒钟,为求快可以去掉BOOTDELAY那3秒。
2.经过TF卡启动几秒后,断电设置从onenand启动模式。此时跑的是自动运行fastboot命令的从onenand启动的uboot。USB已经连好,在PC端敲命令就可以刷写。注意务必要首先刷写从onenand正常启动的uboot.
3.以后每次刷写更新文件,都要插入TF卡,设置开关,在PC端要刷写从onenand正常启动的uboot,再刷写其他要更新的文件。
1.首先编译一个从SD卡或TF卡启动的uboot,作用是烧录u-boot-config_fused.bin到onenand里,注意在smdkc110_mtd.h文件里修改下列地方:
//#define CFG_FASTBOOT_ONENANDBSP
//#define CFG_FASTBOOT_NANDBSP
#define CFG_FASTBOOT_SDMMCBSP
....
#elif defined(CFG_FASTBOOT_SDMMCBSP)
/*#define CONFIG_BOOTCOMMAND "movi read kernel 30008000; movi read rootfs 30A00000 180000; bootm 30008000 30A00000"*/
//envi20120518 ++<<
#define CONFIG_BOOTCOMMAND "fdisk -c 0;fatload mmc 0 40000000 u-boot-config_fused.bin 80000;onenand erase 0 80000;onenand write 40000000 0 80000;"
//envi +>>
#endif
编译完之后,烧录到TF卡里。
2.编译一个从onenand启动的uboot,但是这个uboot要让它自动进入fastboot命令行。注意在smdkc110_mtd.h文件里修改下列地方:
#define CFG_FASTBOOT_ONENANDBSP
//#define CFG_FASTBOOT_NANDBSP
//#define CFG_FASTBOOT_SDMMCBSP
#if defined(CFG_FASTBOOT_ONENANDBSP)
/*#define CONFIG_BOOTCOMMAND "onenand read 30008000 600000 400000; onenand read 30A00000 B00000 180000; bootm 30008000 30A00000"*/
//envi20120518 +<<
#define CONFIG_BOOTCOMMAND "fdisk -c 0;fastboot"
//envi +>>
编译完之后,参照C110的编译文档,生成u-boot-config_fused.bin,将其放在TF卡的fat32分区下。
3.编译一个正常从onenand启动的uboot。注意在smdkc110_mtd.h文件里修改下列地方:
#define CFG_FASTBOOT_ONENANDBSP
//#define CFG_FASTBOOT_NANDBSP
//#define CFG_FASTBOOT_SDMMCBSP
#if defined(CFG_FASTBOOT_ONENANDBSP)
#define CONFIG_BOOTCOMMAND "onenand read 30008000 600000 400000; onenand read 30A00000 B00000 180000; bootm 30008000 30A00000"
...
编译完之后,生成u-boot-config_fused.bin,放在PC端刷写。
说明:1.TF启动卡的作用是将自动运行fastboot命令的从onenand启动的uboot烧录到onenand里。此阶段启动开关为SD卡启动,需要几秒钟,为求快可以去掉BOOTDELAY那3秒。
2.经过TF卡启动几秒后,断电设置从onenand启动模式。此时跑的是自动运行fastboot命令的从onenand启动的uboot。USB已经连好,在PC端敲命令就可以刷写。注意务必要首先刷写从onenand正常启动的uboot.
3.以后每次刷写更新文件,都要插入TF卡,设置开关,在PC端要刷写从onenand正常启动的uboot,再刷写其他要更新的文件。