2022年WinCE启动顺序解析 .pdf
《2022年WinCE启动顺序解析 .pdf》由会员分享,可在线阅读,更多相关《2022年WinCE启动顺序解析 .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 设置为合适的运行状态作(特权态,Supervisor Mode),这一状态下可以没有限制的访问内存和硬件。在 CPU 级别关闭所有中断。确保 MMU 和 TLB都已经关闭。使 Cache和
3、Write Buffer失效。初始化内存控制器。初始化其它的片上设备,例如时钟。只需要做最基本的初始化。设置栈指针,后面C语言执行环境需要用到。设置并打开 MMU 进行物理和逻辑地址映射,并打开Cache。把 EBoot的代码复制到 RAM 中,然后跳转到 RAM 中的 EBoot 代码。跳转到 C语言的 main 函数。2 跳转到 C语言的 main 函数后,有八个函数需要执行。main.c()中的五个函数:Main 函数,OEMDebugInit 函数,OEMPlatformInit 函数,OEMPreDownload 函数,OEMLaunch 函数和blcommon.C()中的三个函数:
4、BootloaderMain 函数,KernelRelocate 函数,DownloadImage 函数其中:KernelRelocate():把 Boot Loader 中的全局变量重定位到RAM 中。由描述了整个 ROM 的几乎所有信息的结构体的指针pTOC 决定如何移动数据、移动多少数据。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 5 页 -OEMDebugInit():初始化调试输出用的硬件端口,Eboot 后面的代码中就可以用 OEMWriteDebugString()等函数输出调试信息。OEMPlatformInit():初始化目标板上的设备,主要有以下作用.In
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年WinCE启动顺序解析 2022 WinCE 启动 顺序 解析
限制150内