由于项目需要,前些天购买了一块2416的开发板,在测试时发现无法用SD卡启动EBOOT,询问FAE未果。心想,如果不小心把NANDFLASH擦了,那不完蛋了,因为NORFLASH中并没有烧写启动代码。那么现在就有两种可行的烧写方式:一种是用SJF烧写,另外一种是用H-JTAG。这里先说用H-JTAG吧,那个SJF暂时还没搞定。
在使用H-JTAG之前,需要有一个初始化脚本(后缀为HFC格式的文件),主要作用是对内存相关的寄存器进行配置,使得H-FLASHER能够将烧写FLASH的驱动程序下载到内存当中。我这里用的是DDR2,根据2416的DATASHEET,编写如下脚本:
(具体的格式也可以去H-JTAG的论坛学习下)
FLASH SECTION:
AMD
AM29LV160DB //(NORFLASH的型号)
MEMORY SECTION:
16-BIT X 1-CHIP //位宽
0x0
0x30000000 //DDR内存的起始地址,FLASH烧写的驱动下载到这里
XTAL SECTION:
NULL
TCK SECTION:
-1
-1
SCRIPT SECTION:
SetMem+32-Bit+0x53000000+0 //下面7行对CPU初始化,去掉也可以
SetMem+32-Bit+0x4A000048+0xFFFFFFFF
SetMem+32-Bit+0x4A000008+0xFFFFFFFF
SetMem+32-Bit+0x4A00001C+0x000007FF
SetMem+32-Bit+0x4C000000+0xE