Part Number:TMS320C6455
现在有一颗RC28F640J3D nor flash,如何修改flashburn工具代码,使其能在c6455 ccs5.2上刷机。第一次弄刷机程序希望能指点指点。或者给个源码最好,谢谢
Shine:
Flashburn针对TI的EVM/DSK板用起来比较方便, 如果客户自己的开发板, 需要先了解FBTC通信机制, 然后修改FBTC文件, 这个很复杂, 所以很少有客户会去花时间修改FBTC文件, 通常是直接根据板子上flash的clear/erase/program command编写flash烧写程序.
,
wang yanping:
能否给个参考的非flashburn代码呢?
,
wang yanping:
最好是对应这颗flash的,谢谢
,
Shine:
不同型号的flash,它们的操作命令不一样的,所以具体要参考您使用的这颗flash的数据手册。下面是一篇文档可以参考一下,烧写流程是差不多的。http://news.eeworld.com.cn/afdz/2008/0312/article_441.html
,
wang yanping:
你好,这篇文章里面提到的的引导程序,我们的是ok的,因为加载到IRAM能跑到main函数。现在的问题是没有烧写程序到emifa nor flash的代码,能不能提供一个参考代码,我方便移植我们的flash。
,
Shine:
上面的文档里有烧写程序。下面是Flash存储器的擦除
TI开发板都是用flashburn烧写的,所以没有flash烧写例程。您需要自己百度一下。
在对AM29LV040Flash进行读写操作之前,应对其进行擦除,擦除操作需要6个总线周期:
(1)向555H地址的存储单元写入数据AAH;
(2)向2AAH地址的存储单元写入数据55H;
(3)向555H地址的存储单元写入数据80H;
(4)向555H地址的存储单元写入数据AAH;
(5)向2AAH地址的存储单元写入数据55H;
(6)向555H地址的存储单元写入数据10H;
完成上述操作后,Flash存储器完全擦除。
在CCS环境下,用C语言编写上述操作如下:
voidFlash_Erase()
{
*(char*)FLASH_ADR1=0xAA;
*(char*)FLASH_ADR2=0x55;
*(char*)FLASH_ADR1=0x80;
*(char*)FLASH_ADR1=0xAA;
*(char*)FLASH_ADR2=0x55;
*(char*)FLASH_ADR1=0x10;
}
,
wang yanping:
现在没有其他办法,能不能flashburn的资料看看呢?只有试着改了。
,
Shine:
flashburn的资料都在软件包里,没有其他的了。建议还是自己写flash烧写程序比改FBTC文件简单。
,
wang yanping:
没写过flash烧写程序,所以不知道怎么下手去写,应该有客户写过这种程序吧,你们怎么会没有类似代码呢?
,
Shine:
即使有客户的代码,我们也不方便未经同意就共享出来。flash烧写步骤基本上是clear/erase/program这个流程,结合flash数据手册和上面贴出来的flash擦除代码着手写。