最近在弄一个28027内部flash代替eeprom的程序,程序写好后,下载到flash里面运行时,第一次运行程序的时候,能够成功进行flash的擦除和写入,而且写入能够成功,也能重新读取出来。程序也能继续正常运行,但是当系统重新复位后,程序就跑不动了。
擦除的是SECTOR A, 在CMD文件里面,我没有把给扇区A安排其他的变量存储。
在DEBUG模式下,也检查过扇区A,确实都是空的。
擦除,写入变量后也只有指定的位置写入,其他地方没有发生变化。
用的是2802x_FlashAPI_BootROMSymbols_v2.01.lib,因为其在PICCO系列的DSP中集成了,没有试过Flash2802x_API_V201.lib,因为系统的RAM已经不够用了。
也曾试过在写入完成后将Flash_CPUScaleFactor 这个变量重新恢复成之前的值,但是也没用,也检查过FLASH寄存器的状态,擦除写入前和擦除写入后并没有发生变化。
还有就是 当系统复位程序跑不动的时候,CCS的DEBUG 需要设置成ERASE,PROGRAM,VERIFY才能进入。
想知道这个问题可能由哪些造成的,现在实在是没有头绪了。