打印

问:使用AXD调试时,会死在SWI这条指令上.请帮忙诊断下.

[复制链接]
2638|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sunwind45|  楼主 | 2008-9-27 10:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
sunwind45|  楼主 | 2008-9-27 22:10 | 只看该作者

是不是跟仿真器或者调试器有关?

看资料说,semihosting这只适合ARMulator,Multi-ICE,还有个,没记住.这几个说是调试代理软件,没搞清.跟调试器有联系吗?


我用的jtagjet仿真器.
我用chameleon调试器,总是给个stack基地址为0x80000;
改成axd调试器,总是在SWI这里死了,跑丢了.

使用特权

评论回复
板凳
sunwind45|  楼主 | 2008-9-27 22:26 | 只看该作者

老大帮忙啊

我打算不用semihosting这个功能.
要做两件事:
1.自己写个scf文件
2.就是要reimplement 一些东西.

第一个还好说,

这第二个,我没搞清楚到底要干吗,哪位老大给讲讲啊.

拜托啊!

使用特权

评论回复
地板
阿南| | 2008-9-27 22:45 | 只看该作者

如果有*.axf文件,AXD都是可以直接装载调试的,无论是用什么

环境及编译器生成的.
楼主调试时可以看看反汇编,具体是死在哪里

使用特权

评论回复
5
sunwind45|  楼主 | 2008-10-5 22:19 | 只看该作者

哦,新进展

我现在使用scatterloading可以跑了.

semihosting的问题,我还得去试试.

使用特权

评论回复
6
古道热肠| | 2008-10-6 16:10 | 只看该作者

先简单化程序,便于定位故障.

整个最简单的程序试试.

使用特权

评论回复
7
sunwind45|  楼主 | 2008-10-6 21:49 | 只看该作者

我整的是个简单的跑灯程序

我用的是JTAGjet仿真器,不晓得semihosting是否支持.

使用chameleon调试器时,只要我手工修改了stack值,程序就可以了.

使用axd调试器时,就是死在SWI这个软中断这里.


我用chameleon试了下printf()这个函数,能够看到输出信息,说明semihosting还是可以用到我的调试环境的.

现在我是找不到它关于stack初始化时使用的默认基地址的这个值是在哪儿.

如果实在没办法,只能使用scatterloading 这个方法了,就是比较麻烦.

使用特权

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

本版积分规则

74

主题

178

帖子

1

粉丝