打印

arm裸机程序,在AXD调试中,报data abort错误

[复制链接]
2786|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
xinzha| | 2012-8-9 13:46 | 只看该作者
读写了总线上不存在的地址,由软件错误造成。

使用特权

评论回复
板凳
545378330|  楼主 | 2012-8-9 15:49 | 只看该作者
2# xinzha

还不知道哪里问题:我自己的程序,在axd调试的时候,按run运行,跳到主函数Main处,再按run运行,就报data abort错误,然后我再按run继续运行就不报data abort错误,并且程序运行正常。(这个过程并没有让pc复位)
我用C语言写的,但是如果把我的主函数文件,放到开发板自带的程序中(即只是将主函数文件替换,其他的头文件都用开发板带的)就没有问题。   郁闷我滴个神

使用特权

评论回复
地板
xinzha| | 2012-8-9 15:55 | 只看该作者
data_abort之后还能运行?那就搞不懂了,没遇到这种情况。

使用特权

评论回复
5
545378330|  楼主 | 2012-8-10 18:18 | 只看该作者
4# xinzha

问题解决了,是头文件的原因:我用的郭天祥提供的头文件《2440addr.h》,这个头文件里面有个错误,就是priority寄存器的地址是错误的,我看到他的所有试验里面只要是这个文件,地址都是错误的。之前的那个地址没有字对齐,所以报个abort错误。如果这个寄存器地址错误不会影响程序的运行,只是中断优先级不会出现你所设置的那样。

使用特权

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

本版积分规则

0

主题

8

帖子

1

粉丝