进入休眠及恢复
发布时间:2012/2/24 19:02:29 访问次数:668
ADSP - BF537. ADSP - BF54×,和ADSP - BF52×处理器在进入休眠模式时应保护SDRAM的内容。因此,VR_CTL寄存器中的CKELOW位必须设置为1,以在休眠状态下保持CKE信号为低电平,这样可以保护SDRAM不会丢失数据。内部存储器和所有寄存器(除VR_CTL寄存器外)的内容将会丢失。因此,程序必须将所有寄存器的设置和内部存储器的内容写入SDRAM。
以下步骤用于进入休眠模式及恢复数据。JK16-090
(1)步骤1:
①将所有重要寄存器存入SDRAM。
②将内部存储器的重要数据存人SDRAM。
③确保VR_CTL寄存器中的CKELOW位和SDGCTL寄存器中的自刷新位都置位。
让处理器进入休眠模式(如图3. 33所示)
(2)步骤2:处理器处于休眠模式(如图3.34所示),除VR_CTL寄存器外,所有寄存器的内容都丢失,数据存储在SDRAM。
(3)步骤3:当处理器从休眠模式唤醒后(如图3. 35所示),处理器从初始化文件加载,并查看CKELOW位,判定唤醒是来自休眠还是复位。若Blackfin处理器唤醒来自复位,
则处理器继续加载过程;否则,它调用子程序恢复内部存储器和寄存器值,并跳转到要执行的程序代码处。
ADSP - BF537. ADSP - BF54×,和ADSP - BF52×处理器在进入休眠模式时应保护SDRAM的内容。因此,VR_CTL寄存器中的CKELOW位必须设置为1,以在休眠状态下保持CKE信号为低电平,这样可以保护SDRAM不会丢失数据。内部存储器和所有寄存器(除VR_CTL寄存器外)的内容将会丢失。因此,程序必须将所有寄存器的设置和内部存储器的内容写入SDRAM。
以下步骤用于进入休眠模式及恢复数据。JK16-090
(1)步骤1:
①将所有重要寄存器存入SDRAM。
②将内部存储器的重要数据存人SDRAM。
③确保VR_CTL寄存器中的CKELOW位和SDGCTL寄存器中的自刷新位都置位。
让处理器进入休眠模式(如图3. 33所示)
(2)步骤2:处理器处于休眠模式(如图3.34所示),除VR_CTL寄存器外,所有寄存器的内容都丢失,数据存储在SDRAM。
(3)步骤3:当处理器从休眠模式唤醒后(如图3. 35所示),处理器从初始化文件加载,并查看CKELOW位,判定唤醒是来自休眠还是复位。若Blackfin处理器唤醒来自复位,
则处理器继续加载过程;否则,它调用子程序恢复内部存储器和寄存器值,并跳转到要执行的程序代码处。