搜索
bottom↓
回复: 0

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

[复制链接]

出0入0汤圆

发表于 2010-9-7 16:40:10 | 显示全部楼层 |阅读模式
ARM的启动代码里,进入ResetHandler,然后进行一系统的初始化:看门狗,中断屏蔽,系统时钟初始化后,如果是掉电模式唤醒则进入掉电唤醒检测,是则进行掉电唤醒处理,处理完后又怎样回到进入掉电模式的呢,就是这几句:ldr r1 ,=GSTATUS3  ldr r0,[r1] mov pc,r0 ,执行完后程序会到哪里去呢?。。

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

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

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

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

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

        ;Check if the boot is caused by the wake-up from POWER_OFF mode.
        ldr        r1,=GSTATUS2
        ldr        r0,[r1]
        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,[r1]
        bic        r0,r0,#(7<<17)  ;SCLK0:0->SCLK, SCLK1:0->SCLK, SCKE:L->H
        str        r0,[r1]
       
        ;Set memory control registers
            ldr        r0,=SMRDATA
        ldr        r1,=BWSCON        ;BWSCON Address
        add        r2, r0, #52        ;End address of SMRDATA
0      
        ldr        r3, [r0], #4   
        str        r3, [r1], #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,[r1]
        mov pc,r0               程序到了这里,然后程序会到哪里去呢??????

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-25 19:19

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表