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.

TMS320f2808疑问

Other Parts Discussed in Thread: TMS320F2808

有两个疑问:

问题1

TMS320f2808怎样实现芯片自检测?

问题2

由于软件工作在不同的工作模式,需要将部分软件屏蔽,本人采用的是调用FLASH2808 API的flash_Erase函数进行擦除不必要的程序,但是擦除不成功,后来将中断屏蔽后擦除成功了,但使能中断后,会进入非法中断,不知道什么原因?

  • 关于问题1,目前关于28x的self test的库文件还没有提供出来。听说self test的库只是针对piccolo和Delfino并不针对280x或281x.

    关于问题2,是不是中断程序放在FLASH中或需要读取FLASH中的数据,在运行API的时候FLASH是不能被读写的,系统程序总线如读到0XFFFF会认为译码错误,进入非法中断。

    具体的请参考API说明文档,和例程:

    http://www.ti.com/tool/sprc193

  • 我的中断程序是放在flash中,我现在的操作是调用flash API(flash_Erase)之前,屏蔽中断,在调用flash_Erase之后使能中断,然后程序就跑到非法中断中去了,调用完flash API再开中断不可以吗?我看过API的文档及历程,上面提到过关于中断的处理。

  • "调用flash_Erase之后使能中断"和"然后程序就跑到非法中断中去了";他们没有直接关系,调用API后可以继续用中断。这你可以写一个简单的自测程序测试一下,应该是程序其他部分的问题。

    可能是有部分中断程序被擦除了,再运行中断程序时总线如读到0XFFFF认为译码错误,进入非法中断。

  • 谢谢,终于解决了,这个问题憋了我好几天,豁然开朗,我就是有一个中断程序需要擦出,结果就出现进入非法中断的情况。