于TI DSP TMS320C67XX实现的嵌入式系统FLASH引导的实现。程序控制一片FLASH 芯片
源代码在线查看: readme.txt
程序实现对flash的测试,对SRAM的测试,以及对FLASH的编程。
FLASH的接口为16位,为了便于测试方便,将EMIF CE1 空间的宽度设为32位,即对FLASH 的读写操作均为32位宽的操作。
程序RAM 的FLASH 内地址为 0x01400000 数据RAM的FLASH 内地址为0x01420000
FLASH 的大小为256K × 16bit,映射在CE1空间地址从0x01400000到0x01500000 (以字的方式读写浪费了一半的地址空间)
SRAM的大小为512K × 32bit,映射在CE0空间地址从0x00400000到0x01400000
自举时,程序将EMIF的CE0空间初始化为16位数据宽度,然后将FLASH中数据段(地址0x01410000,16位数据宽)的内容搬移到片内RAM(地址0x80000000)中。
结果:
采用timer0配置为GPIO,编写一个较简单的程序,可用示波器通过TOUT脚电平高低的变化,检测程序是否正确。将程序分程序和数据段分别固化在FLAHS中,上电自举,结果正确(可看到TOUT脚电平高低的变化)。
存在问题:
程序起初采用SRAM作为中转,首先将文件中的数据读到片外SRAM中,然后由SRAM写道FLASH中,但是文件读到SRAM中时会出现字节存储位置出错,尚未解决!!!
后采用片内数据RAM作为中转,将文件中的数据首先读到片内RAM中,然后写道片外FLASH中,读写正确