This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

28335的FLASH_PROGAM 编程问题,为何用仿真器可以实现,断电重启后不行?

用DSP28335的API函数库,对FLASH进行擦除和编程,在用仿真器连接板子时,程序可以顺利执行,没有问题(擦除的位置不在程序运行的区域,在CMD文件中已经做出修改)。FLASH_PROGRAM()执行后,返回SUCCESS。

但是在拔掉仿真器,断电重启后,经过多次试验,发现程序在FLASH_PROGRAM()执行后,返回的不是SUCCESS。即没有编程成功。

请问这是为什么?请各位大神指教!

Status = Flash_Erase((SECTORB|SECTORE|SECTORH), &FlashStatus);
if (Status != STATUS_SUCCESS) {
Example_Error(Status);
}

Flash_ptr = (Uint16 *) Sector[0].StartAddr; 
Length = 0x1B;
Status = Flash_Program(Flash_ptr, BufAddrA, Length, &FlashStatus); 

if (Status != STATUS_SUCCESS) {
 Example_Error(Status);}