2812外部中断Emulator可以,下载到FLASH却不可以

[复制链接]
 楼主| 项目需要 发表于 2008-10-12 19:08 | 显示全部楼层 |阅读模式
我用的是TMS320F2812,程序在Emulator下仿真都正常,但下载到FLASH后其他功能都能跑起来(IO口,片内AD采集等,但比较慢),但外部中断子程序却不可以。<br />具体状况是:<br />当有外部中断信号后程序在FLASH中跑飞。<br /><br />后来,我按照http://focus.ti.com/general/docs/techdocsabstract.tsp?abstractName=spraau8&nbsp;给出的方法,把全部FLASH中代码搬移到RAM中。在CCS下Load&nbsp;Symbol后,程序的入口_c_int00地址确实在RAM区(如果不执行FLASH--&gtRAM搬移的话,程序的入口地址在FLASH区,我已经观察到)。<br />但是现在程序RUN后就跑飞,通过CCS观察,地址跑到非法区域,对应的指令为ITRAP0。<br />如果不执行搬移操作,除外部中断外,其他功能都能执行(除了比较慢)&nbsp;,但经搬移后,所有功能都不能正常执行了。我在FLASH空间内查看,程序确实被烧写进去了。<br /><br />后来,我又采用了另外一种方法,就是把中断子函数memcopy到RAM中执行,而不是把全部代码copy。但还是一样的状况。<br /><br /><br />请问大家有没有碰到这样的问题?<br />对于外部中断,烧写到FLASH后不能正常执行的原因是什么?<br />不胜感激!<br />
玄德 发表于 2008-10-13 16:07 | 显示全部楼层

仔细分析TI的SPRC097文件包。

在TI的SPRC097文件包中,有一个在FLASH中运行的例子,已经提供了足够的源代码,可以实现在FLASH中运行的一切过程。仔细分析、对比一下,甚至可以用这个例子作为自己的工程模板,把自己的程序一步一步地加进行。<br /><br />对DSP而言,完成程序的仿真,开发过程只完成了90%,不能算结束。
zsh1980 发表于 2008-10-15 16:17 | 显示全部楼层

回复

你这可能是cmd的配置文件没有搞好,你若是C语言编写的程序需看一下分段中有没有加入switch段,再看看配置文件吧
开心的雨果 发表于 2008-10-16 10:14 | 显示全部楼层

我觉得不是跑飞的问题

你把仿真器挂上,但不要运行运行软件看能不能正常运行,我现在就有这个问题&nbsp;你也可以试试关掉狗再看看
yangmiao0223 发表于 2013-10-22 19:58 | 显示全部楼层
开心的雨果 发表于 2008-10-16 10:14
你把仿真器挂上,但不要运行运行软件看能不能正常运行,我现在就有这个问题&nbsp;你也可以试试关掉狗再看看 ...

如果挂上仿真器 就行   那会是什么原因呢??
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

21

帖子

1

粉丝
快速回复 返回顶部 返回列表