欢迎来到天天文库
浏览记录
ID:38580183
大小:241.51 KB
页数:14页
时间:2019-06-15
《WindowsCE底层开发》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第12章WindowsCE底层开发www.farsight.com.cn2本章目标掌握BootLoader的概念和使用掌握操作系统OAL的概念和开发方法12.1BootLoader12.1.1BootLoader的功能BootLoader是一段单独的程序代码,它存放在WindowsCE设备上的非易失存储介质中,如ROM或Flash。它的主要作用是用于引导启动操作系统和更新下载操作系统,有时具备一定的硬件测试能。12.1.2BootLoader工作流程12.1.3烧录Nboot首先应将Nboot文件写入开发板的NandFlash中首先使用串口线连接PC机开发板的串口
2、。和同时使用交叉网线将二者网卡互相连接。然后用MultiJtag工具和并口电缆,连接PC的并口和目标板的JTAG口,并将开发板上电。接下来将sjf2410.exe烧录程序,nboot.bin,eboot.nb0拷贝到D盘根目录下。接下来那书上步骤操作12.1.4烧录Eboot12.1.5通过BootLoader下载操作系统映像12.2OAL层开发12.2.1OAL层的功能OAL层全称为OEMAdaptationLayer(设备中间层),它是位于操作系统内核和外部硬件设备之间的代码的总称。一般来说,OAL层代码会和系统静态库相连结,来生成内核进程Nk.exe。OAL
3、层的主要功能包括:终端提交、定时器处理、电源管理、总线描述、通用输入输出管理等。12.2.2中断服务程序硬件设备一般通过发送中断信号向操作系统申请服务请求。如PC卡,定时器,音频设备,键盘,触摸屏等。在OAL层中,会将物理中断号映射成为逻辑中断号。中断处理过程可以划分为两个部分,即内核模式下的中断服务程序(ISR)和用户模式下的中断处理线程(IST)。12.2.3中断服务线程中断服务线程IST一般位于驱动程序或应用程序中。在IST中,首先应创建一个事件对象,并调用InterruptInitialize函数将该事件和某个逻辑中断号挂接起来,函数原型如下所示:BOOL
4、InterruptInitialize(DWORDidInt,HANDLEhEvent,LPVOIDpvData,DWORDcbData);12.3思考与练习1什么是BootLoader?它的作用是什么?2什么是OAL层?他的作用是什么?3试说明WinodwsCE下中断处理的流程。www.farsight.com.cn13Q&Awww.farsight.com.cn14谢谢!
此文档下载收益归作者所有