基于S3C2410的Windows CE.NET平台定制与驱动开发

基于S3C2410的Windows CE.NET平台定制与驱动开发


2024年3月11日发(作者:爱国者官网)

2010年第3期 

文章编号:1006-2475(2010)03-0001-03 

计算机与现代化 

11SUANJI YU XIANDAIHUA 

第175期 

基于S3 C241O的Windows CE.NET平台定制与驱动开发 

赵萌 ,宋杰 ,党李成 ,郭振朝 

(1.安徽大学计算智能与信号处理教育部重点实验室,安徽合肥230039;2.淮南联合大学计算机系,安徽淮南232001) 

摘要:以Platform Builder 4.2作为嵌入式系统内核及驱动程序开发工具,介绍Windows CE.NET的体系结构。以三星 

¥3C2410作为硬件平台进行操作系统内核镜像定制和CAN总线驱动开发,并下栽到开发板,为相似系统的研究开发提供 

借鉴参考。 

关键词:Windows CE.NET;Platform Builder 4.2;内核镜像定制;CAN总线 

中图分类号:TP311.52 文献标识码:A doi:10.3969/j.issn.1006-2475.2010.03.001 

Platform Customizing and Device Driver Development of Windows CE.NET Based on¥3C2410 

ZHAO Meng 一,SONG Jie ,DANG Li cheng ,GUO Zhen—chao 

(1.Key Laboratory of Intelligent Computing&Signal Processing,Mimstry of Education,Ardmi University,Held 230039,China; 

2.Department of Computer,Huainan Union University,Huainan 232001,C ̄na) 

Abstract:The system structure of Windows CE.NET is introduced with Platform Builder 4.2 as tools of developing embedded sys— 

tem kernel and driver program,and the operating system kernel mirrorimage and driver program are customized and saved to the 

board based on¥3C2410 1t8 hardware platform. 

Key words:Windows CE.NET;Platform Builder 4.2;kernel mirrorimage customizing;CAN bus 

0 引 言 

应用层 

Windows CE.NET是微软公司推出的一款32位、多 

操作系统层 

线程、多任务嵌入式操作系统,其体系结构独立于通常 

 lCoreDLL I l 客户和服务开发 I l 对象存储 I 

的程序设计语言并兼容WidnOWS API,可保障WindOWS 

I 多媒体技术 l I 通信服务和网络 I l 设备管理器 l 

CE.NEF组4-'t ̄和ROM化,充分适用于有限存储空问和 

l 内核 f f图形窗口和事件子系统I 

各种不同芯片要求。并以小尺寸、良好通信能力、多平 

OEM层 

台支持能力及出色的图形用户界面等优势,使其具有很 

l::Q些::_J I宴 垫墼矍壁l I里兰奎 J I 驱动程序 I 

好的应用前景,广泛应用于手机、机顶盒、智能手持设 

硬件层 

备、网关、数字媒体设备、工业控制等多种场合…。 

1 Windows CE.NET的体系结构 

图1 基于Windows CE.NET平台的层次结构 

设备组成的嵌入式硬件系统,是Windows CE.NET操 

基于Windows CE.NET的嵌入式系统应用开发 

作系统必不可少的载体。 

平台,由软件和硬件组成,被设计为分层结构,自底向 

OEM层是硬件抽象层,提供硬件和操作系统之 

上分别为硬件层、OEM层、操作系统层和应用层。每 

间的接口。操作系统访问具体硬件可以通过OEM层 

层由不同的模块组成,每个模块叉由不同的组件构 提供的API访问,而不直接与硬件打交道;操作系统 

成 4。(见图1)。 

层中的各个组件,用户可以根据系统需求进行定制, 

硬件层指由CPU、存储器、I/0端口等各种周边 

选择需要的组件,去掉不必要的组件,可以减少对内 

收稿日期:2009-08-05 

基金项目:安徽省教育厅资助项目(2008jyxm277);安徽大学教学研究资助项目(XJ200705) 

作者简介:赵萌(1981一),女,安徽淮南人,安徽大学硕士研究生,淮南联合大学助教,研究方向:嵌入式应用;宋杰(1966一), 

男,安徽合肥人,副教授,博士,研究方向:嵌入式操作系统.生物信息学。 

2 计算机与现代化 2010年第3期 

存和存储空间的占用,使系统的性能达 最佳。 Embedded Visual C++开发基于Windows CE.NET平 

操作系统层是Windows CE.NET操作系统的核 

心层,既为下层OEM层提供接口和服务,也为上层应 

用程序提供服务与编程接口。其最重要的模块是最 

台的应用程序,上层应用软件再通过Activesyn同步 

软件下载到Flash上。 

Platform Builder与SDK及嵌入式软件开发工具 

的关系见图2 。 

Platform Builder 

小定制内核,能为任何基于Windows CE.NET的设备 

提供处理器调度、内存管理、异常处理及系统内通信 

等功能,并为应用程序使用核心功能提供内核服务。 

主要包括内核模块、对象存储模块、图像窗口和事件 

I 1 0EM适配层I I运行时库l 

子系统模块、通信模块。 

应用层在操作系统提供的Win32 API基础上,由 

Win32 API构建的应用程序组成,为基于Windows 

CE.NET的设备提供增值功能和服务。包括Win— 

dows CE.NET提供的和用户自定制开发的应用程序。 

2 Windows CE.NET内核定制 

Windows CE.NET产品开发有两个重要方面,一 

是内核定制,二是应用开发。Windows CE.NET内核 

定制是开发的一个重点,因涉及到硬件而不同于一般 

的应用程序开发,本文通过专业软件Platform Builder 

4.2完成。Platform Builder 4.2集操作系统设计、创 

建、编译、测试和调试工具于一体,可开发出适合各类 

开发板环境和具体应用需求的嵌入式操作系统。 

2.1 Windows CE.NET平台定制过程 

(1)建立开发环境,选择操作系统的基本配置,针 

对所用的特定开发板,选择相应的微处理器和开发商 

提供的支持Samsung SMDK2410的BSP。BSP即板级支 

持包,是操作系统的一个组成部分,提供对硬件的支持, 

通常包含Bootloader、OAL、设备驱动程序、配置文件等。 

(2)定制平台,进行适当的组件裁剪或添加,右键 

单击SMDK2410 Featuers,选择“Setting…”菜单项。将 

“Enable K1TL”和“Enable CE.NET Target Control Sup- 

port”设置为“不选中”,封装各功能模块,最后编译生成 

操作系统镜像文件NK.BIN和NK.NBO。编译时间与 

PlC机的配置及所定制的操作系统镜像大小有关 ]。 

(3)下载操作系统镜像。当下载成功并在Windows 

CE.NET成功启动后,按下实验平台的复位键重新启动 

Windows CE.M 操作系统进行配置和调试,如有需要 

可重复执行以上步骤直到满足要求,完成平台创建。 

(4)导出相应的SDK软件开发工具包。SDK导 

向导会引导完成SDK的配置和构建,最终产生包 

含必要的头文件、库文件、平台管理组件、运行时库、 

平台扩展以及相关帮助文档的Windows安装程序文 

件包(.msi文件)。把此SDK安装到本地或其他计 

算机,应用软件开发者即可使用Visual Studio.NET或 

用户定制SDK 

头文件和库文件J I SDK文档 J J平台管理器l 

I 运行时库 I I 平台扩展 I 

U 

嵌入式开发上具 

I Embedded Visual c+÷ I I Visual Studio.NET l 

图2 Platform Builder与SDK及嵌人式软件开发工具的关系 

2.2引导程序BootLoader 

BootLoader的功能是将操作系统映像加载到内 

存,然后把管理权交给操作系统。在操作系统镜像下 

载到开发板之前,需把与开发板和操作系统匹配的 

BootLoader通过SJF Flash烧写入开发板。Windows 

CE.NET引导程序的第一部分Nboot.bin烧写入目标 

设备的NAND Flash的Block0,它主要负责初始化 

Flash、读取ToC、引导下一级BootI ̄ader等工作。再 

将TOC(Table of Content)烧写入Bloekl,它是整个 

NAND Flash存储内容的列表,储存有关启动和系统 

内核的信息。最后将¥3C2410的第二级BootLoader, 

Eboot.nb0烧写入Block2,内核镜像将占据Bloekl0 

以后的空间。 

至此,在开发板上成功建立了一套基本的win- 

dows CE.NET开发环境。 

3 CAN总线驱动开发 

3.1开发板硬件平台简介 

¥3C2410作为基于ARM920T内核和AMBA总 

线的微处理器具有众多优点,如具备一定的指令和数 

据缓存能力,支持R0M和NAND Flsah引导、MMU, 

并集成SPI、LCD等多种片内外围设备。SPI(Serial 

Peripheral Interface)是同步串行外围接口,允许MCU 

与各种外围设备以串行方式通信。¥3C2410微处理 

器包括两路SPI,每一路分别有两个用以发送和接收 

2010年第3期 赵萌等:基于¥3C2410的Windows CE.NET平台定帝j与驱动开发 3 

数据的8位转移寄存器。但S3C2410中没有集成 

CAN控制器,需根据具体应用在开发板上进行扩展, 

此处采用Microchip公司的带有SPI接口的独立CAN 

控制器MCP2510【 割。 

3.2 MCP2510简介 

款文本编辑器,编辑文件名为“can.def”,将DLL中的 

接口函数输}IJ,文件内容为: 

L[E}RARY Call 

EXPORTS 

CAN

Init 

_

CAN

Deinit 

_

MCPZ510专为简化连接CAN总线的应用而开发, 

支持CAN技术规范V2.0A/B,能够发送和接收标准以 

CANOpen 

..

CANClose 

_

及扩充的信息帧,具备接收滤波和信息管理的功能,并 

通过SPI接口与MCU进行数据传输,最高速率可达 

CAN

Read 

CANWrite 

_

5MbPs。其功能结构主要由三部分组成(见图3) ]: 

(1)CAN协议引擎,处理所有总线上的报文发送 

和接收。 

(2)控制逻辑和SRAM寄存器,用来为器件及其 

运行进行配置。 

(3)SPI协议模块。 

图3 MCP2510的结构图 j 

3.3软件实现过程 

Windo, ̄ S CE.NET的设备驱动分为几种模型:流 

接口、WI)M、NDIS、USB。这里的CAN控制器驱动采 

用流接口方式,表现为动态链接库,由设备管理器统 

加载、管理和卸载,所有流接口驱动程序都是同一 

组接口并调用同一个函数集——流接口函数。流接 

口驱动开发主要涉及3个部分:设备驱动程序、导出 

流接口函数、修改注册表¨mn]。 

(1)SPJ接口初始化。设置与SPI功能相关的 

¥3C2410的4个多功能复用引脚,使SPI接口正常收 

发。再通过SPI接口对MCP2510初始化。 

(2)初始化CAN控制器。发复位命令一写命令 

(禁止中断)一写命令(进入配置模式)一写命令(设 

置波特率)一写命令(进入正常模式)一位修改命令 

(设置屏蔽位)。 

(3)针对CAN总线协议和MCP2510的芯片特 

性,编写CAN收发程序。 

(4)流接口驱动程序编译后,生成DLL文件。还 

要将接口函数导出,即建立def文件,可以使用任一 

CAN

_

IOContml 

CAN

PowerUp 

_

CAN PowerDown 

并将此文件添加到流接口驱动程序的工程里。

触 

 

(5)为使驱动程序在系统启动时自动运行,在 

”HKEY

LOCAL

_

MACHINE\Drivers\Builtln\”添加 

自己的注册表文件,新建一个记事本文件命名为 

Cal1.reg”

内容为: 

[HKEY—LOCAL_MACItlNE\Drivers\Builtln\can] 

Index =dword:1 

”Order”=dword:0 

“Prefix = CANH 

DII =”Can.dU 

(6)在Platfol ̄n Builder 4.2中新建一个CEC文 

件,添加一个Build Method,任务是复制注册表到 

Windows CE.NET的系统目录下面。再添加一个Bib 

File,功能是把编译的can.dU文件添加到Windows 

CE.NET内核中去,保存写好的CEC文件。在Plat— 

form Builder 4.2中,打开“File”菜单,添加CEC特征 

到系统选项中。生成系统时,添加自己的CEC特性, 

包含编写好的CAN驱动程序。 

综上,内核定制及驱动开发的完整流程如图4 

所示 。 

臣匦巫豳 

[墅耍田 

刨建OS镜像文件 

导出SDK 

图4平台创建流程 

(下转第11页) 

2010年第3期 李长春等:基于多通道分类合成的SAR图像分类研究 ¨ 

(上接第3页) 

4 结束语 

Windows CE.NET内核定制以及驱动开发是进 

架构[J].计算机与现代化,2004(11):l19—120. 

[6] 刘宇.嵌入式系统Windows CE.NET的系统分析[J].微 

型机与应用,2005(2):lO—l2. 

行后续应用程序开发的基础,内核定制与驱动开发优 

[7]Li Yinglin,Yang Lianhe.Design of the au ̄mafic spreader 

control system based on embedded system[J].Computer 

and Ifnormation Science,2008(1):72-78. 

越与否,对嵌入式系统的整体性能起到决定作用。本 

文介绍了Windows CE.NET的系统结构和相关的开 

发工具,并以硬件平台¥3C2410为例,对操作系统内 

核定制及驱动开发过程分析论述,最终成功定制并运 

行,为后续进一步的研究奠定基础。 

参考文献: 

[8]佟鸣宁,彭开香.基于ARM芯片的CAN总线接口设计 

与实现[J].计算机工程与设计,2009,30(7): 

1574—1576. 

[9] 刘润发,魏世民.嵌入式Linux下CAN总线驱动程序研 

究及应用[J].仪表技术,2007(3):4o_42. 

[1O]彭少武,宋娟,王立德.Windows CE的CAN总线驱动程 

序设计[J].单片机与嵌入式系统应用,2007(n): 

79—81. 

[1]余宏兵,李宝安,申功勋.基于ARM的WinCE系统定制 

[J].现代电子技术,2008,31(10):73-75. 

[2]姜波.Windows CE.NET程序设计[M].北京:机械工业 

fn版社,2007. 

[3] Mu Chundi, u Sen.Hardware/software integrated train・ 

[11]张毅,王学思.嵌人式Win CE中CAN总线控制器的驱 

动设计与实现[J].现代电子技术,2009(6):68-70. 

[12]周毓林,宁杨.Windows CE.NET内核定制及应用开发 

nm‘g on embedded systems[J].Internatinal Journal of Inno— 

vaifve Computing,Information and Control,2006,2(2): 

457464. 

[M].北京:电子T业川版社,2005. 

[13]谢惠君,卢建华,韩宝俊.基于Windows CE.NET的AD 

驱动程序设计与实现[J].计算机与现代化,2008(4): 

ll5.I17. 

『4] Microsoft.Mierosoft Winddows CE Communications Guide 

[M].希望图书刨作室译.北京:北京希望电子 版 

社.2000. 

[14]蔡莉自.嵌入式操作系统Windows CE的研究与应 

用——基于Widowsn CE的智能家居系统的研究与应用 

[D].厦门:厦门大学硕士学位论义,2006. 

[5] 丁亚军,万静华,汤清明.Windows CE.NET操作系统的 


发布者:admin,转转请注明出处:http://www.yc00.com/num/1710137362a1706920.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信