2713|7

65

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

EBOOT流程分析 [复制链接]

各位英雄:
    小弟最近在学习WINCE5.0下的EBOOT代码,有几个最基本的问题,想请教各位英雄,敬请指点...

    我的EBOOT代码startup.s部分代码如下:

    LEAF_ENTRY StartUp
    bl      PreInit
    ;jump directly to OALstartup if this was not a reset
    tst     r10, #(RCSR_HARD_RESET :OR: RCSR_WDOG_RESET :OR: RCSR_SLEEP_RESET :OR: RCSR_GPIO_RESET)
    beq     OALStartUp ;----------------------》2
   
    tst     r10, #RCSR_GPIO_RESET
    bne     Continue_StartUp ;-------------------》3

    ; Initialize the Bulverde memory controller.
    bl      xlli_mem_init    ;-------------------》4

    ; If we're here because of a hardware reset then skip sleep reset check
    tst     r10, #RCSR_HARD_RESET
    bne     Continue_StartUp

    ; We may be here because of a sleep reset.  Try to resume from the sleep
    ; state.  At this point, it may be a watchdog reset or a sleep/software reset.
    ;
    ldr     r0, =xlli_PMRCREGS_PHYSICAL_BASE   ; read the PSPR register
    ldr     r0, [r0, #xlli_PSPR_offset]        ;
    mov     r1, r10                            ; packed RCSR+PSSR required in r1
    bl      XllpPmValidateResumeFromSleep      ; r0-r6 are lost
    cmp     r0, #0                             ; zero return: OK to restore
    bne     Failed_Sleep_Resume                ; treat as a full-init reset
      
    b       Sleep_Reset_Not_SoftReset

Failed_Sleep_Resume

    ldr     r1, =xlli_RCSR_SMR
    bic     r10, r10, r1
   
Continue_StartUp

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ; Common startup code.
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ...........

1、EBOOT流程大概是,先执行PreInit,然后判断复位源,请问正常上电冷启动是属于什么情况?RCSR_HARD_RESET 还是其它?

2、2处代表什么意思呢?如果不是硬件复位或者其它复位,就直接转向EBOOT中的OALStartUp?不需要初始化硬件吗?按照我的理解应该是,如果是热启动,就不需要再次重新初始化硬件,直接转向EBOOT;冷启动就应该初始化全部的硬件后再转向EBOOT。

3、这句话的意思,是不是如果是GPIO复位,就跳到Continue_StartUp执行,要初始化全部的硬件?

4、xlli_mem_init即为初始化SDRAM控制器,应该在什么情况下需要执行?热启动或冷启动?

最新回复

学习了  详情 回复 发表于 2009-5-18 13:44
点赞 关注

回复
举报

77

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
网上应该可以找到对EBOOT进行分析的文章
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
正好我也看到这段,顺手查了一下:

1. 5种复位方式

? Power-on reset, equivalent to hardware reset, occurs at initial power-on when the power
supply is detected on VCC_BATT.
? Hardware reset results from asserting nRESET, which forces all units into reset state.
? Watchdog reset results from a time-out in the OS timer and can recover control from runaway
code by resetting the processor and peripherals. Watchdog reset is disabled by default and
must be enabled by software. For more information, see Chapter 22, “Operating System
Timers”.
? GPIO reset is a “soft” reset, which preserves some of the registers and real-time clocks.
? Sleep-exit reset provides a reset to modules that have been powered down in sleep or deepsleep
mode so that they can recover properly when powered up to resume normal operation.

2. 有一个复位状态寄存器,用前4个bits表示发生了哪种复位(hw and power-on shared).估计preinit里把这个寄存器读到r10,然后做tst比较。如果这4个bits都是0,那就没有复位发生,不用init,直接startup OAL。

3. 这5种复位大部分单元都reset了,但也有区别,GPIO复位保留了memory controller和RTC,所以这部分的init可以跳过。

4. 这个call是没有条件的,但凡reset,xlli_mem_init都要做。

更细节的东西,可以去查Intel? PXA27x Processor Family Developer’s Manual。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

4
 
纠正一下,
4. GPIO复位不需要做,别的复位都要做。
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

5
 
英雄,热启动是不是就是Hardware Reset?热启动是不是不需要再重新启动EBOOT,因为内核文件已经下载到SDRAM中,直接从OEMLaunch函数中的起始物理地址开始运行内核即可?
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

6
 
英雄,热启动是不是就是Hardware Reset?热启动是不是不需要再重新启动EBOOT,因为内核文件已经下载到SDRAM中,直接从OEMLaunch函数中的起始物理地址开始运行内核即可?

Hardware Reset要重新启动EBOOT,就连SLEEP后再唤醒也要执行
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

7
 
xuexi
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

8
 
学习了
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表