2022年WinCE启动顺序解析 2.pdf
《2022年WinCE启动顺序解析 2.pdf》由会员分享,可在线阅读,更多相关《2022年WinCE启动顺序解析 2.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、stepldrstepldr流程分为以下几步。SetupCopySection(pTOC) MMU_EnableICache() 使能 ICache Port_Init()GPIO端口初始化Uart_Init()初始化 UART (调试端口)NF_Init()初始化 nand flash接口将 Image 从 flash拷贝到 RAM (PFN_IMAGE_LAUNCH)(LOAD_ADDRESS_PHYSICAL)()跳转二、EBOOTMain()调用BootloaderMain()调用KernelRelocate()将全局变量定位到RAMOEMPlatformInit()平台初始化(时
2、钟,驱动等)OEMDebugInit()初始化调试端口(串口)OEMPreDownload()初始化以太网,判断是否要下载OEMLaunch()启动操作系统名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - DownloadImage()下载文件要下载1 eboot的工作流程从 eboot 目录中的 startup.s中的 starup 函数开始。Startup 函数需要完成的工作:把 CPU 设置为合适的运行状态作(特权态,Sup
3、ervisor Mode ),这一状态下可以没有限制的访问内存和硬件。在 CPU 级别关闭所有中断。确保 MMU 和 TLB都已经关闭。使 Cache和 Write Buffer失效。初始化内存控制器。初始化其它的片上设备,例如时钟。只需要做最基本的初始化。设置栈指针,后面C语言执行环境需要用到。设置并打开 MMU 进行物理和逻辑地址映射,并打开Cache 。把 EBoot的代码复制到 RAM 中,然后跳转到 RAM 中的 EBoot 代码。跳转到 C语言的 main 函数。2 跳转到 C语言的 main 函数后,有八个函数需要执行。main.c() 中的五个函数:Main 函数,OEMDeb
4、ugInit 函数, OEMPlatformInit 函数, OEMPreDownload 函数,OEMLaunch 函数和blcommon.C () 中的三个函数:BootloaderMain 函数, KernelRelocate 函数, DownloadImage 函数其中:KernelRelocate():把 Boot Loader 中的全局变量重定位到RAM 中。由描述了整个 ROM 的几乎所有信息的结构体的指针pTOC 决定如何移动数据、移动多少数据。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -
5、 - - - - - 第 2 页,共 5 页 - - - - - - - - - OEMDebugInit() :初始化调试输出用的硬件端口,Eboot 后面的代码中就可以用 OEMWriteDebugString() 等函数输出调试信息。OEMPlatformInit():初始化目标板上的设备,主要有以下作用. InitDisplay() LCD初始化并显示一张图片InitUSB() USB 初始化Isr_Init()USB 和 DMA ISR初始化,使能 DMA 中断BP_Init 初始化 boot partition(flash )TOC_Read 、TOC_Init 确认 pTOC 信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年WinCE启动顺序解析 2022 WinCE 启动 顺序 解析
限制150内