TI中文支持网
TI专业的中文技术问题搜集分享网站

28027在FLASH运行进入ILLEGAL_ISR的问题

准备写一个循环采样显示电压的程序,先写了AD转换,打算尝试通过软件触发转换,单步调试时发现进入adc_init()(controlsuit里面自带的程序)后会进入ILLEGAL_ISR。进一步调试发现是在延时程序里面触发ILLEGAL_ISR了,麻烦帮我看看为什么??

Joey Mao:

你好,

DSP访问flash时需要等待时间的,而访问RAM时几乎是零等待,所以在使用DELAY_US(A)时要想延时时间准确必须使其在RAM里运行,否则延时会超过你所设定的延时时间,可以参考下面这个帖子:

http://blog.sina.com.cn/s/blog_762cf5f80101asmq.html

准备写一个循环采样显示电压的程序,先写了AD转换,打算尝试通过软件触发转换,单步调试时发现进入adc_init()(controlsuit里面自带的程序)后会进入ILLEGAL_ISR。进一步调试发现是在延时程序里面触发ILLEGAL_ISR了,麻烦帮我看看为什么??

Eric Ma:

lin

我觉得你当定位到DELAY_US的时候,再单步进去,看哪里出现问题。

我建议查看

1)是否有将DELAY_US的相关定义和函数添加在工程中。

2)如果程序是运行在FLASH的,要对FLASH初始化,在调用Initlfash之前,要调用memcopy函数。

参照例程C:\ti\controlSUITE\device_support\f2802x\v220\f2802x_examples_structs\flash_f2802xX

Eric

赞(0)
未经允许不得转载:TI中文支持网 » 28027在FLASH运行进入ILLEGAL_ISR的问题
分享到: 更多 (0)