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.
将Flash API 存放在Flash中,代码运行到Fapi_setActiveFlashBank()函数时,会进入Interrupt_illegalOperationHandler ();但是,Flash API 放在RAM运行,就没出现这种该问题。想咨询一下为什么会出现这种情况
你好,我遇到的这个情况,应该不是编程和擦除操作在同一个bank执行,我是没有把FAPI_F28003x_eabi_v1.58.01.lib放到RAM中运行,然后我的工程在其他模块增加一些变量后,运行FLASH的API就出现了进Interrupt_illegalOperationHandler ();的情况
然后我的工程在其他模块增加一些变量后,
增加之前的运行是正常的吗?
增加之前是正常运行的,不会进入Interrupt_illegalOperationHandler ();
就是在工程中添加了几个全局变量,并在函数中使用,然后运行到Fapi_setActiveFlashBank()接口时,就进入了Interrupt_illegalOperationHandler ();我移动了这个全局变量使用的位置它又不会进Interrupt_illegalOperationHandler ();了。这个现象 像是我添加的全局变量使用的位置,把FLASH API的接口挤到了一个临界的位置
这几个变量是如何声明及定义的?有为它们指定位置吗?
方便上传一下cmd及map文件吗?
就是正常的声明,没有指定位置,cmd文件用的就是C2000库里面的,然后我没有将FLASH API放到RAM运行
在flash中执行对flash的操作需要额外的步骤:
TMS320F280025C: Why boot rom only can load program to RAM?
我们在很多文档中都强调过,FLASH API以及基于FLASH API进行程序在线升级(sci, can, etc..)的FLASH kernel,都需要放置在RAM中执行。