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.

TMS320F28335在外扩SRAM中运行FFT运算时进入ILLEGAL_ISR中断

Other Parts Discussed in Thread: TMS320F28335

我最近在用TMS320F28335做一个工程,因为代码量较大,所以外扩了一片256k×16位的SRAM和一片512k×16位的FLASH,芯片型号分别是IS61LV25616和SST39VF800A。

我通过#pragma CODE_SECTION(dma_isr,"zone7");将DMA中断函数移动到外扩的SRAM中仿真运行,但是程序总是跳转到ILLEGAL_ISR()中,通过分步仿真,我发现程序是运行到<math.h>中的double log(double x)函数时跳转到ILLEGAL_ISR()中的,当我把log()函数放到片上的SRAM中运行时,就没有问题,我想应该是#pragma CODE_SECTION(dma_isr,"zone7");这里的问题.

我在cmd文件中对zone7的定义是这样的:

MEMORY
{
PAGE 0 :

。。。

ZONE7      : origin = 0x200000, length = 0x100000    /* XINTF zone 7 - program space */

。。。

}

请问我应该如何处理,谢谢您帮助我!