• 从休眠模式(Poweroff)唤醒过程


    1.一旦某个唤醒源有信号进来,内部的复位信号will be asserted;This reset duration由内部的16-bit 计数器逻辑决定,the reset assertion time由tRST = (65535 /XTAL_frequency)计算得来。

    问题:reset duration和the reset assertion time表示什么??有什么区别??

    2.检查GSTATUS2[2],看上电是否是由休眠模式唤醒而引起的;

    ldr r1, =GSTATUS2 ; Determine Booting Mode
    ldr r10, [r1]
    tst r10, #
    0x2
    beq
    %F2 ; if not wakeup from PowerOffmode Skip
    ; MISCCR setting

    三种复位模式:Power on reset,Power_OFF reset,Watchdog reset.对应于GSTATUS2[0~2]

    3,通过设置MISCCR[19:17]位为000b来释放SDRAM信号保护

    ldr r1, =MISCCR ; MISCCR's Bit 17, 18, 19 -> 0
    ldr r0, [r1] ; I don't know why, Just fallow Sample Code.
    bic r0, r0, #(7 << 17) ; SCLK0:0->SCLK, SCLK1:0->SCLK, SCKE:L->H
    str r0, [r1]

    4,配置SDRAM内存控制器

    ; Set memory control registers
    add r0, pc, #SMRDATA
    - (. + 8)
    ldr r1,
    =BWSCON ; BWSCON Address
    add r2, r0, #
    52 ; End address of SMRDATA
    loop10
    ldr r3, [r0], #
    4
    str r3, [r1], #
    4
    cmp r2, r0
    bne loop10

    S3c2410共有13个存储控制寄存器,每个寄存器占4个字节,共52个字节

    5,等待SDRAM的自刷新被释放

    mov r1, #256
    loop11
    subs r1, r1, #
    1 ; wait until the SelfRefresh is released.
    bne loop11

    6,用户可以根据自己的目的来使用GSTATUS3,4,因为在休眠模式GSTATUS3,4中的值被保留

    7. – For EINT[3:0], check the SRCPND register.
        – For EINT[15:4], check the EINTPEND instead of SRCPND (SRCPND will not be set although some bits of
    EINTPEND are set.).
        – For alarm wake-up, check the RTC time because the RTC bit of SRCPND isn’t set at the alarm wake-up.
        – If there was the nBATT_FLT assertion during POWER_OFF mode, the corresponding bit of SRCPND has
    been set.

  • 相关阅读:
    [转]NopCommerce MVC 插件机制分析
    压力测试的轻量级具体做法[转载]
    导入IP安全策略图解
    Grunt使用心得
    解决yarn管理资源管理,其他应用起不来
    Spark 读取mysql中的数据
    Spark 配置连接hive 元数据库(mysql)
    Linux安装anaconda和集成PySpark
    python(配置)
    Python 数据爬取(环境变量)
  • 原文地址:https://www.cnblogs.com/EmbeddedBoy/p/1725128.html
Copyright © 2020-2023  润新知