我想实现DSP程序在线升级功能,把out文件转换成hex后,重新烧写到flash中,我按照《Flash2823x_API_Readme》中的步骤操作,但是在调用Flash28232_Erase((SECTORA|SECTORB|SECTORC|SECTORD), &EraseStatus)时,跳不出来,死在这个,不知道什么原因,请问哪里有F28232的在线编程例程,可以参考一下。谢谢
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.
我想实现DSP程序在线升级功能,把out文件转换成hex后,重新烧写到flash中,我按照《Flash2823x_API_Readme》中的步骤操作,但是在调用Flash28232_Erase((SECTORA|SECTORB|SECTORC|SECTORD), &EraseStatus)时,跳不出来,死在这个,不知道什么原因,请问哪里有F28232的在线编程例程,可以参考一下。谢谢
已经找到卡死在Flash28232_Erase的原因,是因为在擦除SECTORC时,进入非法操作中断ILLEGAL_ISR,是什么原因呢?
Status = Flash28232_Erase(SECTORA, &EraseStatus);
Status &= Flash28232_Erase(SECTORB, &EraseStatus);
Status &= Flash28232_Erase(SECTORD, &EraseStatus);
Status &= Flash28232_Erase(SECTORC, &EraseStatus);//引起错误中断
用API例程测试是否也会有这个问题?如果也有,那芯片擦除FLASH的时候需要额外的250mA的电流,可能会因为电压上的不稳定导致这个问题。
进入非法中断的原因一般是因为内核解码错误,如果OUT转HEX后没有烧写好,当执行到0000,FFFF这类指令就会发生ILLEGAL_ISR
这个在下面有详细解释: