4328|7

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于挂起唤醒的问题 [复制链接]

s3c2440挂起后怎样唤醒,挂起后跟踪有执行到CPUPowerOff(),挂起前也用

s2440IOP->rGPFDAT = 0x1  |(0xf<<4);
s2440IOP->rGPFCON = 0x5502;
s2440IOP->rGPFUP  = 0xf7;   
s2440IOP->rEXTINT0 = 0x22222226;

设置了中断0唤醒,可是为什么唤醒没有反应,如果有唤醒应该至少得跑一下bootloader吧,是不是还得设置什么

看了fw.c里的相关设置,代码如下

;       4. Interrupt Disable
    ldr     r0, =vINTBASE
    mvn     r2, #0
        str     r2, [r0, #oINTMSK]
        str     r2, [r0, #oSRCPND]
        str     r2, [r0, #oINTPND]

;       5. Cache Flush
        bl      ARMClearUTLB
        bl      ARMFlushICache
        ldr     r0, = (DCACHE_LINES_PER_SET - 1)   
        ldr     r1, = (DCACHE_NUM_SETS - 1)   
        ldr     r2, = DCACHE_SET_INDEX_BIT   
        ldr     r3, = DCACHE_LINE_SIZE     
        bl      ARMFlushDCache

;       6. Setting Wakeup External Interrupt(EINT0,1,2) Mode
        ldr     r0, =vGPIOBASE

        ldr     r1, =0x550a
        str     r1, [r0, #oGPFCON]

;        ldr     r1, =0x55550100
;        str     r1, [r0, #oGPGCON]

;       7. Go to Power-Off Mode
        ldr         r0, =vMISCCR                        ; hit the TLB
        ldr                r0, [r0]
        ldr         r0, =vCLKCON
        ldr                r0, [r0]

        ldr     r0, =vREFRESH               
        ldr     r1, [r0]                ; r1=rREFRESH       
        orr     r1, r1, #(1 << 22)

        ldr         r2, =vMISCCR
        ldr                r3, [r2]
        orr                r3, r3, #(3<<17)        ; Make sure that SCLK0:SCLK->0, SCLK1:SCLK->0, SCKE=L during boot-up
        bic                r3, r3, #(7<<20)
        orr                r3, r3, #(6<<20)

        ldr     r4, =vCLKCON
        ldr     r5, =0x7fff8            ; Power Off Mode

感觉应该没有什么问题,可是就是无法唤醒CPU,请有相关经验的来指点一下,不甚感激

最新回复

找到问题所在了,我用的扬创的板子,他们提供的BSP是从4.2升级到5.0的,只要更改fw.s,哪怕只是加一个空格,重新编译后就会不能启动,这个问题扬创那边已经确认,正在解决,据说可能是三星留下的bug,希望他们能早日解决问题,结贴先.  详情 回复 发表于 2008-11-17 09:50
点赞 关注

回复
举报

58

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
ding
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
没人回答哈,自己顶一下,等大侠赐教
 
 
 

回复

98

帖子

0

TA的资源

一粒金砂(初级)

4
 
建议多看芯片的DATASHEET!!!
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

5
 
DATASHEET看了好几遍,没看出什么由头,没有人进来说一下吗
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

6
 
系统不能唤醒的原因还是有很多可能的
重点先检查进Sleep前的唤醒源的Register的设置确保正确,最好在sleep前打印出来查看一下
第二确认系统是否已经进入Suspend,可以通过查看电流等确认
第三检查在Suspend状态一些重要Pin的状态,如Battery fault之类的
第四检查一些关键GPIO的状态,因为这也有可能会导致系统不能唤醒
第五是不是要确认一下系统根本没有唤醒还是醒来挂在Bootloader里了
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

7
 
LS这位兄弟,经过查看,发现挂起后的电流居然比正常运行的时候大,应该是没有挂起成功
我用的4.2升级到5.0的版本,有在网络上看到资料,说fw.s里面有这样一段语句

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Sometimes it is not working in cache mode. So I modify to jump to ROM area.

       ldr          r6, =0x92000000        ; make address to 0x9200 0020
       add        r6, r6, #0x20        ;
       mov     pc, r6                        ; jump to Power off code in ROM
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

说是注释掉该段语句就ok了,可是我把这个注释掉后编译出来的系统下载后就开不了机了,有人知道是怎么回事吗
 
 
 

回复

53

帖子

0

TA的资源

一粒金砂(初级)

8
 
找到问题所在了,我用的扬创的板子,他们提供的BSP是从4.2升级到5.0的,只要更改fw.s,哪怕只是加一个空格,重新编译后就会不能启动,这个问题扬创那边已经确认,正在解决,据说可能是三星留下的bug,希望他们能早日解决问题,结贴先.
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表