177 }
178 }
179
现在重新执行“make 100ask24x0_config”和“make
all”生成的u-boot.bin文件既可以运行于S3C2410开发板,也可以运行于S3C2440开发板。将它烧入NOR
Flash后启动,就可以在串口工具(设置为115200,8N1)中看到提示信息,可以输入各种命令操作U-Boot了。
(4)选择NOR Flash的型号。
但是,现在还无法通过U-Boot命令烧写NOR Flash。本书所用开发板中的NOR Flash型号为AM29LV800,而配置文件include/configs/100ask24x0.h中的默认型号为AM29LV400。修改如下:
#define CONFIG_AMD_LV4001/* uncomment this if you have a LV400 flash */
#if 0
#define CONFIG_AMD_LV8001/* uncomment this if you have a LV800 flash */
#endif
改为:
#if 0
#define CONFIG_AMD_LV4001/* uncomment this if you have a LV400 flash */
#endif
#define CONFIG_AMD_LV8001/* uncomment this if you have a LV800 flash */
本例中NOR
Flash的操作函数在board/100ask24x0/flash.c中实现,它支持AM29LV400y和AM29LV800。对于其他型号的
NOR
Flash,如果符合CFI接口标准,则可以在使用drivers/cfi_flash.c中的接口函数;否则,只好自己编写了。如果要使用
cfi_flash.c,如下修改两个文件:
在include/configs/100ask24x0.h中增加以下一行:
#define CFG_FLASH_CFI_DRIVER 1
在board/100ask24x0/Makefile中去掉flash.o:
COBJS:= 100ask24x0.o flash.o
改为:
COBJS:= 100ask24x0.o
修改好对NOR Flash的支持后,重新编译U-Boot:make clean、make all。运行后可以在串口中看到如下字样:
Flash: 1 MB
现在可以使用loadb、loady等命令通过串口下载文件,然后使用erase、cp命令分别擦除、烧写NOR Flash了,它们的效率比JTAG快上好几倍。
2. 支持串口xmodem协议
上面的loadb命令需要配合Linux下的kermit工具来使用,loady命令通过串
口ymodem协议来传输文件。Windows下的超级终端虽然支持ymodem,但是它的使用界面实在不友好。而本书推荐使用的Windows工具
SecureCRT只支持xmodem和zmodem。为了方便在Windows下开发,现在修改代码增加对xmodem的支持,即增加一个命令
loadx。
依照loady的实现来编写代码,首先使用U_BOOT_CMD宏来增加loadx命令:
/* 支持xmodem, */
U_BOOT_CMD(
loadx, 3, 0,do_load_serial_bin,
"loadx - load binary file over serial line (xmodem mode)\n",
"[ off ] [ baud ]\n"
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-66092-22.html
我身边成千上万的企业退休老人都和我一样
没办法
是吃着中国的粮食
这事就算了