其次,制定平台,在此阶段可开发设备驱动,适当地裁剪、添加组件。然后,封装所需的各功能模块,编译生成OS镜像文件。接着,把镜像文件到目标设备,进行调试。
导出定制操作系统的SDK(Soltware Development Kit)软件开发工具包,安装到EVC中,便可以进行基于我们定制的测试仪硬件平台的应用程序开发。如图4所示为操作系统移植流程图:
3.2应用软件开发
操作系统的主要任务是为了管理所有硬件资源,并且提供应用软件一个合适的操作环境。将Windows CE操作系统移植到ARM平台上以后,下一步工作就是进行应用软件的开发。本系统的上位机软件主要在EVC的环境下开发完成,使用C语言为主要编程语言。
3.2.1串口通讯协议说明
模块串口波特率9600,无奇偶效验,一位停止位。控制命令通过一致的帧结构通讯,帧长度4字节:命令+数据0+数据1+校验和。效验和=命令+数据0+数据1的相加和的低8位。系统通过上位机串口直接对下位机模块进行操作。上位机向下位机发送启动16位距离读取命令:Ox22+度数+NC+SUM.当测量完毕时,这时返回的数据是:Ox22+距离高+距离低+SUM;当测量无效时返回的距离高位和低位数据都是Oxff.(注:NC代表任意数据,SUM代表效验和)串行端口在Windows CE下属于流接口设备,是串行设备接口常规I/O驱动程序的调用与通信相关的具体函数的结合。串行设备被视为用于打开、关闭和读写串行端口的常规的可安装的流设备。Windows CE的串口函数和Windows的串口函数基本相同,但有几点值得注意:Windows CE只支持Unicode字符集,在编程时必须特别注意;Windows CE不支持重叠的I/O操作。在所有的流设备驱动程序中,均使用CreateFile来打开串行端口设备,如果这个端口不存在,CreateFile返回ERROR_FILE_NOT_FOUND.