关于44b0的一小段启动代码是怎么运行的?

Horace88   2010-2-20 20:09 楼主
EXPORT        InitSystem
InitSystem

;禁止看门狗       
        ldr        r0, =WTCON                       
        ldr        r1, =0                
        str        r1,[r0]
;禁止所有中断
        ldr            r0,=INTMSK
        ldr            r1,=0x07ffffff               
        str            r1,[r0]
;设定时钟控制寄存器
        ldr        r0, =LOCKTIME
        ldr        r1, =0xfff
        str        r1, [r0]

    ;[ PLLONSTART
        ldr        r0, =PLLCON                        ;锁相环倍频设定
        ldr        r1, =((M_DIV<<12)+(P_DIV<<4)+S_DIV)                ;设定系统主时钟频率, 倍频为((P_DIV+2)*(2的S_DIV次方))/(M_DIV+8)
        str        r1, [r0]
    ;]

        ldr        r0, =CLKCON                 
        ldr        r1, =0x7ff8            ;所有功能单元块时钟使能
        str        r1, [r0]
;*******************
例如初始化看门狗那段 先把看门狗寄存器地址给寄存器r0 再把0给R1 然后再把人r1给r0  指令ldr解释是将固定的地址加载到寄存器 这几句话是如何实现修改看门狗寄存器设置的 操作不都是对R1,R0的吗 是如何做到修改看门狗的 我对实现的过程不太明白 希望大家解答。

回复评论 (2)

str     r1,[r0]
这个不就是往那个寄存器里面写入设置的参数吗??
点赞  2010-2-21 14:35
ldr r0, =WTCON   //将WTCON的地址保存到R0
ldr r1, =0       //将0付给R1
str r1,[r0]      //将R1里面的值付给R0里面地址对应的值。

上面三句话的意思就是WTCON = 0;
将看门狗寄存器WTCON 清零了。
点赞  2010-2-21 14:41
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复