Windows CE 6.0 启动流程重构与oal.exe与kernel.dll关键分析
需积分: 9 70 浏览量
更新于2024-12-28
收藏 92KB DOC 举报
Windows CE 6.0 的启动过程相对于前一代版本(如Windows CE 5.0)有了显著的变化。在Windows CE 6.0中,内核(Kernel)和OEM代码被重构,主要体现在以下几个关键组件上:
1. **模块化设计**:内核和OEM代码被拆分为oal.exe、kernel.dll和kitl.dll三个部分。启动代码(startup)不再与内核链接,而是作为独立的oal.exe编译,它包含了与硬件紧密相关的OAL层实现。同时,与内核相关的OAL层代码整合到kernel.dll中,这使得内核和OEM代码更加模块化。
2. **分离与整合**:内核无关传输层(KITL)的支持代码从前的OAL层中分离出来,编译成kitl.dll。这意味着在不启用KITL功能的情况下,kitl.dll不会被编译进系统。
3. **动态链接库的依赖**:Windows CE 6.0的启动顺序依赖于kernel.dll和kitl.dll这两个动态链接库,这意味着启动流程不再像Windows CE 5.0那样简单,分析时需要特别关注这两个文件的加载顺序。
4. **基本内核编译**:在没有启用特定功能如KITL的情况下,Windows CE 6.0会编译出基本内核形式的kern.exe。然而,oal.exe的源码位置相对直观,通常在BSP的OAL目录中可以找到。相比之下,kernel.dll的编译文件在BSP目录结构中难以直接找到,需要通过其他方式,如检查编译日志或深入BSP源码来定位。
5. **编译日志分析**:编译过程中的关键信息可以通过查看makeimg.out这样的编译日志文件来获取,例如,上述提到的将oal.exe复制到特定目录的过程,这对于理解编译过程和查找源码位置至关重要。
Windows CE 6.0的启动过程变得更加复杂和灵活,理解和分析这一过程需要对内核架构、模块化设计以及动态链接库管理有深入的理解,并可能涉及到特定的BSP配置和编译设置。对于开发者来说,熟悉这些变化并相应调整启动流程分析策略是至关重要的。
2009-01-17 上传
575 浏览量
278 浏览量
2024-01-01 上传
2023-12-16 上传
2024-11-06 上传
2024-11-06 上传
2023-08-25 上传
2024-11-06 上传
pspmod
- 粉丝: 0
- 资源: 1
最新资源
- QGitTag:Qt5的一个库,它使用GitHub API提供有关标签的信息
- C#图表分析显示彩票中奖情况
- RevMan-HAL:RevMan HAL是用于自动将文本添加到RevMan文件中特殊部分的工具。 现在,您还可以在不同阶段之间进行选择。 要下载,请点击自述文件中的链接
- slmp协议说明.zip
- 毕业设计&课设-非线性反馈控制的MATLAB仿真代码.zip
- eslint-config:为ESLintReact特定的掉毛规则
- 面积守恒flash数学课件
- git-stat:用于从github获取统计信息的命令行应用程序
- protoc-3.13.0-win64.rar
- l-曲线matlab代码-SlushFund-2.0---Active-Interface-Tracking:多相无功传输代码
- ES-2Sem-2021-Grupo52:ES项目
- bucketfish-docker:用于使用Docker编译Barrelfish以及与Gitlab CI Runners集成的设置
- 毕业设计&课设-基本遗传算法MATLAB程序.zip
- Shopee-Case-Study
- VitamioPlayer.rar
- yserial:NoSQL y_serial Python模块–使用SQLite仓库压缩对象