打印

把DSP程序烧进外部RAM时 程序一直处于跑飞时怎么回事

[复制链接]
3040|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
DK521|  楼主 | 2012-10-31 15:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
DK521|  楼主 | 2012-10-31 15:55 | 只看该作者
一这样提示
调试时,指针指向下列步骤:
8B89 7C02 SBRK    #2h
8B8A 0080 LAR     AR0,*
8B8B EF00 RET     
8B8C      abort, C$$EXIT:
8B8C 8B00 NOP     
8B8D 7980 B       8b8dh,*
8B8F      I$$SAVE:
8B8F 8B89 MAR     *,AR1
8B90 7801 ADRK    #1h
8B91 8FA0 SST     #1,*+
8B92 8EA0 SST     #0,*+
8B93 98A0 SACH    *+,0
8B94 90A0 SACL    *+,0
8B95 BE42 CLRC    OVM
8B96 BF00 SPM     
8B97 8DA0 SPH     *+
8B98 8CA0 SPL     *+
8B99 C001 MPY     #1h
8B9A 8CA0 SPL     *+
8B9B 80A0 SAR     AR0,*+
8B9C 82A0 SAR     AR2,*+
8B9D 83A0 SAR     AR3,*+
8B9E 84A0 SAR     AR4,*+
8B9F 85A0 SAR     AR5,*+
8BA0 86A0 SAR     AR6,*+
8BA1 87A0 SAR     AR7,*+
8BA2 8A80 POPD    *

使用特权

评论回复
板凳
jlass| | 2012-11-1 15:21 | 只看该作者
用仿真器单步调试,看看从哪里开始出的问题

使用特权

评论回复
地板
DK521|  楼主 | 2012-11-1 19:39 | 只看该作者
3# jlass
没有执行主函数。。。

使用特权

评论回复
5
aresc| | 2012-11-2 00:26 | 只看该作者
是不是复位中断没跳到main函数?

使用特权

评论回复
6
jlass| | 2012-11-2 09:40 | 只看该作者
没有执行主函数。。。
什么意识,有仿真器的话PC指针的位置都可以随便调。

看了一下你的代码,你是一直在其中死循环吗,你的最后一句POPD是中断返回吗?
如果是的话,就是中断没保护返回出错了,始终返回到8B89这一行了

使用特权

评论回复
7
adams.gh| | 2012-11-4 07:40 | 只看该作者
应该也是没有修改连接脚本

使用特权

评论回复
8
DK521|  楼主 | 2012-11-4 09:02 | 只看该作者
7# adams.gh
如何修改呢?请大虾简单讲解下

使用特权

评论回复
9
adams.gh| | 2012-11-4 11:09 | 只看该作者
比如说,原来你的bin文件是放在0x0800 0000开始的地方的,现在你把这个bin文件搬移到了0x4000 0000地址,如果你不修改连接脚本,则你的bin文件中的中断向量表中的跳转地址还是原来的,当然就跑飞了。

你得通过修改连接脚本,告诉连接器你的bin文件最终是要放在什么地方的,然后,中断向量表中的跳转地址就对上了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

56

帖子

1

粉丝