根据开发所处的层次以及开发工具的不同,可以将嵌入式系统开发分为系统开发和应用开发。
系统开发所涉及的内容包括三个方面:系统定制,驱动程序开发,操作系统一致(BSP开发)。
一系统开发
(1) 系统定制
首先是按照bsp(即导入cec文件),bsp可以是pb自带,也可是从oem硬件厂商获得,当然用户也可以自己开发,但是难度较高且工作量较大,比较耗时。其次,定制操作系统,即生成系统镜像NK.bin文件,将该镜像下载并调试,包括仿真和目标板两种运行环境。
(2) 驱动程序开发
普通操作系统的驱动模型包含两种模式:一是静态链接,驱动程序编写成*.lib文件并与操作系统内核链接,形成一个整体,对操作系统一起启动加载;二是动态链接,操作系统在启动后对硬件驱动延迟加载,但是依然加载到操作系统的内核空间中。
(3) 操作系统的移植(bsp开发)
Bsp是介于主板硬件和操作系统之间的一层软件系统,开发bsp的内容主要包括:bootloader开发和OAL开发。
二应用开发
(1)api的选择
Windows ce.net为应用程序开发人员提供了三种api 的选择:win32应用程序编程接口(Win32 API),微软基础类(MFC)和活动模板库(ATL),NET Framework精简版(.NET CF)。
对于开发工具,开发人员可以选择Embedded VC++或者Visual Studio等。下面就三种api做下介绍。
Win32:可以生成最小的和最快的*.exe文件和*.dll文件;最低的内存负载;常用于驱动程序,控制模板applets以及shell扩展;没有运行似的要求。
MFC:基于面向对象的思想:继承性,封装性和多态性;累的支持;类型定义的安全性;可以实现完整的MFC/ATL源代码移植;良好的工具支持。
.NET Framework:设计良好的编程接口;同样基于面向对象的思想:继承性,封装性,多态性;类的支持:数组,列表,hash表,字典,堆栈;类型定义的安全性;支持命名空间;内存的自动回收;webservice支持;对xml处理的良好支持;良好的工具支持。
(2)开发工具
主要开发工具有两大类:platform builder和windows ce ApplicationFrameworks。