本文转载自微软嵌入式中文社区http://www.msembed.com
随着我国国民经济的快速增长的西部大开发的实施,我国的高等级公路建设迎来前所未有的发展机遇,随着公路设计行业软件技术和硬件设备的发展,全球定位系统GPS(Global Positioning System)成为了当前的首选。由于汽车的普及和道路的建设,人们之间的经济交往更加频繁,由此产生了交通堵塞、无法寻找准确的目的地、迷失方向等严重问题。GPS车载导航系统可以有效的改善各种交通问题,为大家提供便捷服务。
为适应大多数Windows用户的使用习惯,现在设定移动设备运行环境为嵌入式操作系统Windows Embedded Compact 7,开发过程在Windows 7操作系统下进行。开发软件为Visual Studio 2008,编程语言为C++。基于Windows CE 7的便携式导航系统的开发方法,包括系统的开发工具、平台搭建和系统开发等关键技术。
支持WEC7的硬件平台,可以让开发团队轻松做到:创建目标硬件自定义的操作系统运行时映像;使用Silverlight for Windows Embedded,可以开发出极其出色的用户界面。
Windows Embedded Compact 7不仅支持X86和MIPS,同时支持最新的ARMv7架构和多核处理器,可以帮助设备制造商更快的速度将产品推向市场。
而VS2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。使用Visual Studio 2008,可以高效开发Windows应用,设计器中可以实时反映变更,XAML中智能感知功能可以提高开发效率。同时支持项目模板、调试器和部署程序。
由于设定移动设备使用的运行环境为WinCE 7,过程中需要处理大量的数据,所以对开发板要求较高。在同等处理器主频下,ARM内核的芯片面积最小,功耗最低,价格也最低廉,在性能、技术指标、软件支持工具、内置调试工具和开发资料等方面都有优势。固可选用ARM内核的处理器,开发板为GEC2440,主要参数如下所示:
NO.
|
硬件功能
|
1
|
系统稳定运行在400MHz,最高可达533MHz
|
2
|
64M字节的SDRAM,由两片K4S561632组成,工作在32位模式下
|
3
|
64M字节NANDFlash,采用的是K9F1208,可以兼容16M,32M或128M
|
4
|
10M以太网接口,采用的是CS8900Q3,带传输和连接指示灯
|
5
|
LCD和触摸屏接口
|
6
|
2个USBHOST,符合USB1.1,其中一个是HOST和Device接口复用
|
7
|
支持音频输入和音频输出,音频模块由S3C2440的IIS音频总线接口和UDA1341音频编码解码器组成
|
8
|
2路UART串行口,波特率可高达115200bps,并具有RS232电平转换电路
|
9
|
SD卡接口,兼容SDMemoryCardProtocol1.0和SDIOCardProtocol1.0
|
10
|
JTAG接口,支持ADS,SDT软件的下载和调试以及FLASH的烧写
|
11
|
摄像头接口,支持数字图象输入
|
12
|
扩展SPI接口
|
13
|
串行EEPROM:AT24C024KbytesEEPROM,IIC接口
|
14
|
蜂鸣器,9个LED灯
|
15
|
4个按键
|
16
|
开关电源,分布式电源供电,3V锂电池,提供RTC电源
|
<!--{13080195651590}-->
GPS接收模块负责接收GPS射频信号,将信号下变频和解调,输出标准的串口信号供处理器进行下一步处理。
设计主要依照GPS数据信号的流向来进行。
GPS数据信号通过串口读入到开发板主程序,然后经过对数据信号进行解码获得当前位置的经纬度信息,再在经纬度数据库中查询获得当前位置的地名,整个过程由触摸屏进行显示,并通过触摸屏完成人机交互。
对于每个PC来说,都有一个或者多个称为Host控制器的设备,该Host控制器和一个根Hub(Root Hub)作为一个整体。ROOT HUB是一个特殊的USB HUB,它集成在主机控制器里,不占用地址。
USB设备连接到HOST时,HOST必须通过默认的控制管道对其进行枚举,完成获得其设备描述、进行地址分配、获得其配置描述、进行配置等操作方可正常使用。
/*映射中断*/
dwSysIntr=MapIrq2SysIntr(dwIRQ);
pobMem=HcdMdd_CreateMemoryObject(gcTotalAvailablePhysicalMemory,
gcHighPriorityPhysicalMemory,pvUsbHcca,
(LPVOID)(dwIoPortBase+HD64465_EMBEDED_SDRAM_OFFSET))
<!--{13080195651591}-->CdeviceGlobal类的Initialize()函数是对COhcd的进一步初始化并且建立和USBD的联系。
CHW类的Initialize函数是对主机控制器的初始化,包括主机控制器寄存器的配置等。
Microsoft Embedded Tools封装了Windows API函数,便于Windows CE应用程序的开发。在Windows CE中,所有的设备都被看成是文件。
串口通信可以像访问普通文件那样通过API通信函数来实现,系统的虚拟驱动程序负责执行特定的工作。因此,我们可以利用ReadFile和WriteFile函数读写串口,一般都采用多线程来进行读写串口操作。
调用CreateFile,用lpFileName(端口名指针)设置COM端口名:COMl;
调用ReadFile和WriteFile发送和接收数据;
调用CloseHandle(HANDLE hObject),关闭串口;
/*指定端口监测的事件集*/
SetCommMask(hPort,EV_RXCHAR);
/*分配设备缓冲区*/
SetupComm(hPort,512,512);
/*初始化缓冲区中的信息*/
PurgeComm(hPort,PURGE_TXCLEAR|PURGE_RXCLEAR);
/*配置串行端口*/
if(!InitDCB()){
returnFALSE;}
/*设置端口超时值*/
if(!InitCommTimeouts()){
returnFALSE;}
/*写入数据*/
ws=WriteFile(hPort,buf,dwCharToWrite*sizeof(TCHAR),&dwBytesWritten,NULL);
……
<!--{13080195651592}-->
/*驱动初始化*/
if(USB_ENDPOINT_DIRECTION_IN(lpEndpoint->Descriptor.bEndpointAddress)){
CreateBulkIn(lpEndpoint);}
else{
CreateBulkOut(lpEndpoint);}
......
<!--{13080195651593}-->初始化完成之后,创建了相应的虚拟串口,然后进行驱动加载。
编译,完成之后下载到内核当中,测试是否接收到正确数据。
最终可以使用的功能为:
- 地图查询:可以在操作终端上搜索要去的目的地位置。
- 路线规划:根据设定的起始点和目的地,自动规划一条线路。
- 自动导航:语音导航、画面导航。
在该车载导航系统中,有效解决了功耗问题,操作方便,定位及时准确,所占空间小,且效果良好。
分享到:
相关推荐
WINDOWS EMBEDDED COMPACT 7(WINCE7)的安装文件和KEY
《Professional Windows Embedded Compact 7》是微软官方推出的一本关于Windows Embedded Compact 7(简称WEC7)的权威开发指南,被誉为“红皮书”系列,对于深入理解并掌握嵌入式系统的开发具有极高的参考价值。...
在"Windows Embedded Compact7官方文档"中,你可以找到一系列详细的技术资料和指导,帮助开发者深入了解和利用该平台。这些文档可能涵盖以下几个核心知识点: 1. **系统架构**:WEC7基于微内核设计,其架构包括操作...
《Professional Windows Embedded Compact 7》是一本专注...通过阅读这本书,无论是初学者还是经验丰富的开发者,都能获得对Windows Embedded Compact 7全面而深入的理解,从而更好地利用这一平台进行产品开发和创新。
Windows Embedded Compact 2013 (WEC 2013)是Microsoft Embedded Compact家族系列的最新版本,发布于2013年,生命周期按照目前Microsoft发布的计划为2023年。
《Professional Windows Embedded Compact 7》是一本专注于微软嵌入式操作系统的权威著作,该书深入探讨了Windows Embedded Compact 7(简称WEC7)的各个方面,包括系统构建、驱动开发、应用程序设计等关键主题。...
- **Windows Embedded Compact 2013 平台与应用开发库**:包含必要的工具和资源来创建定制化的操作系统镜像和应用程序。 - **模拟器**:用于测试和调试开发的系统及应用程序。 #### 三、安装步骤 ##### 1. 安装 ...
As a compact, highly efficient, scalable operating system, Windows Embedded Compact 7 (WEC7) is one of the best options for developing a new generation of network-enabled, media-rich, and service-...
Windows Embedded Standard 7是微软新推出的Windows 7嵌入式版本,可在PC机上运行,占用磁盘空间较少,可自行定制功能。可在微软官方网站下载并申请180天测试序列号(若不输入序列号仅能用30天)。安装界面为英文,...
通过这份Windows Embedded Compact 7的学习资料,开发者不仅能理解WEC7的基础知识,还能掌握如何构建、调试和优化基于该平台的应用程序,从而在嵌入式领域发挥其潜力。无论是对于想要进入嵌入式领域的初学者,还是...
《Professional Windows Embedded Compact 7》是一本专注于Win CE 7.0系统编程的入门教材,对于想要深入理解和掌握Windows Embedded Compact 7 (WEC7) 的开发者来说,它提供了全面而详细的知识体系。WEC7是微软推出...
第一部分在这里 http://download.csdn.net/detail/yinming4u/5401157
《Windows Embedded CE 6.0程序设计实战》一书深入探讨了在Windows Embedded CE 6.0平台上进行程序设计的方法和技巧。Windows Embedded CE(简称CE)是微软公司推出的一个实时操作系统,它为嵌入式设备提供了一个轻...
综上所述,Windows Embedded Standard 7 通过提供一个基于 Windows 7 的高度定制化的平台,使得开发者能够轻松地构建一系列高级嵌入式设备,同时保持了与 Windows 7 的高兼容性,并通过先进的工具集提升了开发效率。
Windows Embedded Compact 7是微软推出的一款面向小型设备和嵌入式系统的操作系统,它为开发高效能、低功耗、功能丰富的设备提供了强大平台。WEC7继承了微软Windows CE的优良传统,同时在性能、可定制性、开发工具和...
《Apress.Pro.Windows.Embedded.Compact.7》这本书专注于探讨Windows Embedded Compact 7这一操作系统,它是微软提供的一个专门用于开发嵌入式设备的平台。Windows Embedded Compact 7,简称WEC7,是针对各种嵌入式...
WES7的纯净版