angle11 发表于 2010-9-7 16:40:10

S3C2410A 启动代码的掉电唤醒处理是怎么回事啊?

ARM的启动代码里,进入ResetHandler,然后进行一系统的初始化:看门狗,中断屏蔽,系统时钟初始化后,如果是掉电模式唤醒则进入掉电唤醒检测,是则进行掉电唤醒处理,处理完后又怎样回到进入掉电模式的呢,就是这几句:ldr r1 ,=GSTATUS3ldr r0, mov pc,r0 ,执行完后程序会到哪里去呢?。。

ResetHandler
        ldr        r0,=WTCON       ;watch dog disable
        ldr        r1,=0x0         
        str        r1,

        ldr        r0,=INTMSK
        ldr        r1,=0xffffffff;all interrupt disable
        str        r1,

        ldr        r0,=INTSUBMSK
        ldr        r1,=0x7ff                ;all sub interrupt disable, 2002/04/10
        str        r1,

        [ {FALSE}
      ; rGPFDAT = (rGPFDAT & ~(0xf<<4)) | ((~data & 0xf)<<4);   
      ; Led_Display
        ldr        r0,=GPFCON
        ldr        r1,=0x5500               
        str        r1,
        ldr        r0,=GPFDAT
        ldr        r1,=0x10
        str        r1,
        ]

        ;To reduce PLL lock time, adjust the LOCKTIME register.
        ldr        r0,=LOCKTIME
        ldr        r1,=0xffffff
        str        r1,
      
            [ PLL_ON_START
        ;Configure MPLL
        ldr        r0,=MPLLCON         
        ldr        r1,=((M_MDIV<<12)+(M_PDIV<<4)+M_SDIV);Fin=12MHz,Fout=50MHz
        str        r1,
        ]

        ;Check if the boot is caused by the wake-up from POWER_OFF mode.
        ldr        r1,=GSTATUS2
        ldr        r0,
        tst        r0,#0x2
      ;In case of the wake-up from POWER_OFF mode, go to POWER_OFF_WAKEUP handler.
        bne        WAKEUP_POWER_OFF         如果是则进入WAKEUP_POWER_OFF

        EXPORT StartPointAfterPowerOffWakeUp
StartPointAfterPowerOffWakeUp


WAKEUP_POWER_OFF
        ;Release SCLKn after wake-up from the POWER_OFF mode.
        ldr         r1,=MISCCR
        ldr        r0,
        bic        r0,r0,#(7<<17);SCLK0:0->SCLK, SCLK1:0->SCLK, SCKE:L->H
        str        r0,
       
        ;Set memory control registers
            ldr        r0,=SMRDATA
        ldr        r1,=BWSCON        ;BWSCON Address
        add        r2, r0, #52        ;End address of SMRDATA
0      
        ldr        r3, , #4   
        str        r3, , #4   
        cmp        r2, r0               
        bne        %B0

        mov r1,#256
0        subs r1,r1,#1        ;1) wait until the SelfRefresh is released.
        bne %B0       

        ldr r1,=GSTATUS3         ;GSTATUS3 has the start address just after POWER_OFF wake-up
        ldr r0,
        mov pc,r0               程序到了这里,然后程序会到哪里去呢??????
页: [1]
查看完整版本: S3C2410A 启动代码的掉电唤醒处理是怎么回事啊?