打印

用keil3仿真LPC2148的奇怪现象

[复制链接]
2191|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mildlioncn|  楼主 | 2009-8-8 09:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 mildlioncn 于 2009-8-8 09:07 编辑

请教各位大虾。我用LPC2148跑ucosii没有问题,开发环境是keil3。
我在系统里添加了一个实时时钟任务,RTC没有初始化成功。
然后我用仿真器单步运行代码,观察状态。一个奇怪的现象困扰我很久:比如:
YEAR  = 2007;
明明给YEAR这个寄存器送2007这条语句执行了,为什么keil3
仿真界面上就没有赋值成功呢,还依然显示0???
后来瞎折腾,仿真到ucosii的关中断这个步骤:
NOINT   EQU 0xc0

OSCPUSaveSR
        mrs r1,CPSR
        orr r0,r1,#NOINT
        msr CPSR_c,r0
        MRS R1,CPSR                     
       AND R1,R1,#NOINT
        CMP R1,#NOINT
        BNE OSCPUSaveSR
        mov pc,lr

在msr CPSR_c,r0指令执行时,应该是把r0低8位赋给CPSR的低8位,
仿真界面中r0低8位明明显示0xd0,而这条指令执行之后,CPSR的低
8位依然还是原来的0x10,没有改变,没有赋值成功。
很疑惑,不知道为什么?
请教各位大侠。


相关帖子

沙发
mildlioncn|  楼主 | 2009-8-8 13:36 | 只看该作者
算了,我自己顶一个

使用特权

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

本版积分规则

2

主题

22

帖子

1

粉丝