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

 请问掉电模式~谢谢!

掉电模式中用到一个标号startpointafterpoweroffwakeup.
最近开始接触2410.在看启动代码的时候发现一个问题一直不懂,就是进入掉电唤醒的时候已经初始化内存控制寄存器了,为什么掉电唤醒后还要再初始化一便内存控制器?也就是说为什么startpointafterpoweroffwakeup这个标号放在初始话内存控制器之前.同时既然是进入掉电模式,肯定是之前已经初始化堆栈啊,中断标号的.因此,为什么不将startpointafterpoweroffwakeup放在他们之后?
    请大家详细点~谢谢!我是刚接触的菜鸟~
级别: 新手上路
UID: 7288
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2009-07-09
最后登录: 2010-06-26
1楼  发表于: 2010-03-23 14:39
为什么没人回答我呢?
级别: 新手上路
UID: 7288
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2009-07-09
最后登录: 2010-06-26
2楼  发表于: 2010-03-23 20:12
因为我看啊南的那本书上写着,在进入掉电模式之前,把GSTATUS3=startpointafterpoweroffwakeup。也就是说执行下面之后
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: 7288
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2009-07-09
最后登录: 2010-06-26
3楼  发表于: 2010-03-23 22:16
    ;In case of the wake-up from SLEEP mode, go to SLEEP_WAKEUP handler.
    bne    WAKEUP_SLEEP

    EXPORT StartPointAfterSleepWakeUp
StartPointAfterSleepWakeUp

    ;Set memory control registers
     ;ldr    r0,=SMRDATA
     adrl    r0, SMRDATA    ;be careful!
    ldr    r1,=BWSCON    ;BWSCON Address
    add    r2, r0, #52    ;End address of SMRD
这是代码里面的~startpointafterpoweroffwakeup是一个标号,啊南那本书《arm linux入门与实践》上写着在进入掉电前将把GSTATUS3=startpointafterpoweroffwakeup。
级别: 新手上路
UID: 7288
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2009-07-09
最后登录: 2010-06-26
4楼  发表于: 2010-03-24 09:56
额........没有说是linux的启动代码~那究竟这个标号StartPointAfterSleepWakeUp
有什么用?我看