主题 : 请问掉电模式~谢谢! 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 7288
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2009-07-09
最后登录: 2010-06-26
楼主  发表于: 2010-03-22 10:29

 请问掉电模式~谢谢!

掉电模式中用到一个标号startpointafterpoweroffwakeup.
最近开始接触2410.在看启动代码的时候发现一个问题一直不懂,就是进入掉电唤醒的时候已经初始化内存控制寄存器了,为什么掉电唤醒后还要再初始化一便内存控制器?也就是说为什么startpointafterpoweroffwakeup这个标号放在初始话内存控制器之前.同时既然是进入掉电模式,肯定是之前已经初始化堆栈啊,中断标号的.因此,为什么不将startpointafterpoweroffwakeup放在他们之后?
    请大家详细点~谢谢!我是刚接触的菜鸟~
级别: 侠客
UID: 4843
精华: 0
发帖: 102
金钱: 810 两
威望: 554 点
贡献值: 0 点
综合积分: 204 分
注册时间: 2009-03-31
最后登录: 2012-11-14
1楼  发表于: 2010-03-23 19:37
    ldr r1,=GSTATUS3     ;GSTATUS3 has the start address just after SLEEP wake-up
    ldr r0,[r1]
    mov pc,r0

这个返回休眠之前保存的地址,不存在你说的,重复初始化的情况。

    ;Set memory control registers
     ldr    r0,=SMRDATA    ;be careful!

另外,这个使用了编译的绝对地址,应该是错误的,所以这个休眠唤醒功能执行结果应该是错误的....
级别: 侠客
UID: 4843
精华: 0
发帖: 102
金钱: 810 两
威望: 554 点
贡献值: 0 点
综合积分: 204 分
注册时间: 2009-03-31
最后登录: 2012-11-14
2楼  发表于: 2010-03-23 20:47
“startpointafterpoweroffwakeup”应该是你自己定义的一个函数。

再不然,或许我错了。
级别: 侠客
UID: 4843
精华: 0
发帖: 102
金钱: 810 两
威望: 554 点
贡献值: 0 点
综合积分: 204 分
注册时间: 2009-03-31
最后登录: 2012-11-14
3楼  发表于: 2010-03-23 23:12
显然的两者说的不是一样的东西,这个又不是Linux的启动代码。
不要迷信别人的程序,
当然,也不要迷信哥。
此问题到此为止。当然,也欢迎高手拿砖头砸我