打印
[ZLG-ARM]

奇怪的问题,图片描述+源代码

[复制链接]
1517|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
microlab|  楼主 | 2007-3-30 23:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这里上传不了附件,我把我的源代码上传到别的地方了,大家可以通过链接下载:
-----------------------
http://oneelab.googlepages.com/uCOS-II.rar
-----------------------
注意:这个工程是EasyARM2200的工程,在EasyARM2200上跑才行.


1. 在reset后,所有的地址的指令机器码都是正常的.

相关链接:http://oneelab.googlepages.com/uCOS-II.rar

相关帖子

沙发
microlab|  楼主 | 2007-3-30 23:40 | 只看该作者

Re

例如:在0x80000488地址处的指令机器码是0xe8bd8010和在memory处看到的一致

使用特权

评论回复
板凳
microlab|  楼主 | 2007-3-30 23:42 | 只看该作者

Re

2. 执行reset处 一条指令: LDR PC,ResetAddr后 内存中很多值(code)被更了

使用特权

评论回复
地板
microlab|  楼主 | 2007-3-30 23:46 | 只看该作者

Re

例如:地址0x80000488 处的指令机器码本应该是0xe8bd8010,结果执行    LDR PC,ResetAddr后被改为0xe5c40008了,而且还莫名其妙地在原先0x8000048c地址处插入一条和0x80000488一模一样的指令. 难道code已经在run的情况下,还可以做自动插入指令的动作????

使用特权

评论回复
5
microlab|  楼主 | 2007-3-30 23:50 | 只看该作者

Re

这样指令执行到0x80000488的时候,就发生取数据中止异常了.

使用特权

评论回复
6
microlab|  楼主 | 2007-3-31 00:09 | 只看该作者

Re

3. 这个问题也不是每次都会出现,但是,如果全速运行code,并且一旦出现 取数据中止异常 后,每次重新加载image时,上面说的那个问题就相当明显,几乎每次都出现,注意,是重新加载image,而不是重新编译下载.

 另外,to周工,我改了源程序中的中断处理方式,采用注册中断来对中断进行管理的方式来处理中断,但是,好像不能正常进中断,其实,我那个方式应该是和源代码处理中断方式 一样,只是换汤不换药,而且,我单步一路对比跟踪两种方式,几乎是执行了一样的code,但是,我那种方式就是没有办法正常进中断,而且还出现上述1.2.的奇怪现象.....

使用特权

评论回复
7
zlgARM| | 2007-3-31 09:02 | 只看该作者

microlab

    如果是换汤不换药,怎么会出现问题。原因就是你改变了对中断的注册机制,使得uc/OS没法处理中断,导致一系列问题。
    建议你看一下工程里的IRQ.inc。

使用特权

评论回复
8
microlab|  楼主 | 2007-3-31 09:55 | 只看该作者

Re:zlgARM

源代码中的 IRQ.inc我可看过了,并且使用了其中大部分代码...
只是我没有采用宏的方式.
而是每次从 异常向量表的IRQ地址 进去,仿照IRQ.inc做中断处理,我在其中做的处理是读取 0xfffff030寄存器得值,来判断进入哪个中断处理.
我想这也只是一个换汤不换药的过程吧.

使用特权

评论回复
9
microlab|  楼主 | 2007-4-2 11:49 | 只看该作者

Re 终于可以对中断进行注册了...哈哈

终于搞定了 注册中断的问题
原因是我在用 LDR R2,=0xFFFFF030
             LDR PC,[R2]   

             MSR  CPSR_c,#(NoInt | SYS32Mode) 
进入中断处理函数地址前,忘了更新LR的值,使得中断处理函数返回不来

改成这样就好了
             LDR LR,=IRQ_Handler_Exit
             LDR R2,=0xFFFFF030
             LDR PC,[R2]   
IRQ_Handler_Exit
             MSR  CPSR_c,#(NoInt | SYS32Mode) 

现在可以实现中断的注册啦,哈哈

不过老实说,不知道是ADS还是JTAG还是有点变态,有点莫名其妙
很容易误导人....


使用特权

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

本版积分规则

13

主题

49

帖子

0

粉丝