工具/软件:TI-RTOS
您好!
我正在使用 闪存 API v2.10 在 TMS320F28335上执行闪存操作。
我使用 Flash_CallbackPtr 馈送看门狗并发送 CAN 消息作为保持活动状态。
这是我的回调函数:
#pragma CODE_SECTION (Flash_Callback、"ramfuncs");
void Flash_Callback (void)
{
静态 uint16 j=0;
字节_p_Data[2]={1、0}; //擦除
EALLOW;
SysCtrlRegs.WDKEY = 0x55; //提供看门狗#1 */
SysCtrlRegs.WDKEY = 0xAA; //并提供安全装置#2 *
EDIS;
J++;
if (j>13900)
{
CANSendMessage (0x19D0133A、 0、_p_Data);//in ram
J=0;
}
}
当程序调用 Flash28335_Erase 函数时、程序执行擦除和回调(发送 CAN 消息)。 擦除完成后、程序执行会进入我不知道的位置、但不会停止。 一段时间后、DSP 重新启动。
如果我在重新启动前暂停执行、我总是会看到以下情况:
此外、经过一些调查、我可以看到将 p_Data[2]声明为静态可解决问题、擦除后的程序执行是正常的。 对我来说,这是没有意义的,我想如果在其他地方,这是真正的问题。 请帮帮我。
这是开发环境:
DSP:TMS320DSP28335
编译器:6.2.5
XDCTools:3.30.004.52
SYS/BIOS:6.41.0.26
CCS:v6.1
此致、
帕洛马




