wince_6.0_启动过程
Windows CE 6.0(简称WinCE 6.0)是一个嵌入式操作系统,广泛应用于各种设备的开发。了解其启动过程对于开发人员来说至关重要,因为它涉及到系统从上电到运行内核的整个流程。以下是WinCE 6.0在S3C6410处理器上的启动步骤详解: 1. 固化ROM启动: 当系统上电,S3C6410处理器首先执行固化在ROM中的代码,这部分代码通常被称为Boot ROM。它会检查GPIO配置,以确定启动方式。如果配置为NAND启动,Boot ROM会读取NAND闪存前8KB的内容到内部SRAM(称为Stepping Stone)。 2. Bootloader 1 - Stepldr: Stepldr是从内部SRAM开始执行的Bootloader第一阶段。它的主要任务是初始化硬件环境,包括中断、时钟、DRAM控制器等,并将eboot从NAND闪存复制到DRAM中。Stepldr的启动流程包括: - startup.s:初始化硬件,开启I-Cache,关闭watchdog,禁用中断,设置时钟,初始化DRAM控制器,设置IRQ和SVC堆栈。 - main函数:初始化UART和NAND,然后将eboot加载到DRAM。 3. Bootloader 2 - eboot: eboot是Bootloader的第二阶段,它进一步负责系统的初始化和内核加载。启动流程包括: - startup.s:与stepldr相似,但会清空DRAM的一部分区域(除了已有的eboot),设置MMU映射,使能中断。 - main.c:调用BootloaderMain,执行内核重定位,串口调试初始化,平台初始化,预下载处理,以及图像下载,最后调用OEMLaunch切换到WinCE内核。 4. WinCE OS启动: WinCE启动分为两个阶段: - 第一阶段:初始化操作系统抽象层(OAL),包括硬件驱动、中断处理、内存管理等,直到FirstSchedule,这是调度器开始运行的标志。 - 第二阶段:系统开始执行应用程序,包括服务、驱动和其他系统组件的初始化。 在整个过程中,全局变量如pTOC和g_bLargeBlock在内存中有特定位置,用于存储系统状态和配置信息。eboot通过TFTP协议下载或从NAND闪存读取NK.bin(WinCE内核)。 理解WinCE 6.0的启动流程对于开发者调试和优化系统性能至关重要,因为每个阶段都涉及关键的硬件初始化和软件加载,这些步骤直接影响着系统的稳定性和效率。通过深入理解这个过程,开发人员可以更好地解决启动问题,优化启动时间,以及实现更高效的资源管理。
- 小码农95272014-08-27可以,对理解启动过程还是很有帮助的。
- f839eng2014-05-13有用,之前一直对启动过程不熟悉,现在有个有用参考
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助