求助:FLASH的烧写工具在CCS中无法显示!
通过CCS烧写FLASH的方法
TI公司提供了一个烧写FLASH的软件,但是那需要将程序编译后生成的OUT文件再转换成ROM格式;或者是先将应用程序编译后导出到一个二进制文件中,再通过CCS编程序从这个二进制文件中一个一个的读入并写进FLASH。
笔者要介绍的方法与上述两个方法不同。根据SST39VF160的时序,编写一个搬运程序,注意与DSP的BOOT程序的区别,这里的搬运程序是将在CCS中打开的工程的内容原封不动的搬到FLASH中,如此完成FLASH的烧写。根据这个思想,需要编写两个工程:一个主程序工程(即用户应用程序,其中包括二次引导程序),一个搬运程序工程。搬移程序不能使用与主程序的程序空间和中断向量表重合的物理空间,以免覆盖。烧写时,同时打开主程序和搬移程序的PROJECT,先LOAD主程序,再LOAD搬移程序,然后执行搬移程序,烧写OK!
(分别编写project(项目本身用)和writer(烧写用)两个工程,并且通过CCS进行load后,就可以实现了。但是project的内容比较少,所以project和writer都可以放在RAM中,而我的问题在于project很大,RAM放不下project和writer,怎么办?
)
该方法应该是最简单的方法,只要在搬运程序中合理的调用下面列出的子程序,即可完成FLASH的擦除与编程。
1)FLASH擦除子程序
FLASH编写之前,应对FLASH进行擦除,使其每个数据位恢复1状态,即全FF状态。
void erase_flash()
{
}
2) FLASH单字编程子程序
void Program_One_Word (BYTE SrcWord,
{
}
void Check_Toggle_Ready (BYTE *Dst)
{
}