当前位置:首页 > WinCE
  • 五大车载操作(VOS)系统知多少

    五大车载操作(VOS)系统知多少

      车载操作系统(AutomoTIve OperaTIng System,简称AOS)是管理和控制车载硬件与车载软件资源的程序系统,是直接运行在AB上的最基本的系统软件,任何上层软件,HMI,数据连接都必须在操作系统的支持下才能运行。   车载操作系统是用户和车载硬件的接口,同时也是车载硬件和上层软件的接口。车机操作系统的功能包括管理车载系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为上层软件提供支持,让车机系统的资源,以及接收到数据、信号、音频、视频最大限度地发挥作用,提供各种形式的用户界面(UI),使驾驶员有一个好的驾驶环境,并有效的提供辅助驾驶、半自动驾驶、甚至自动驾驶。   实际上,驾驶员是不需要了解操作系统的,车载操作系统管理着车机硬件资源,同时按照应用程序的资源请求,分配资源,如:划分AB资源,RAM空间的分配,处理声音、视频信号,时间管理,电源管理等,然后给每个ECU发送正确的指令,使汽车高效安全地驾驶。      那么就让小编带领大家纵览以下AB所需要的操作系统,其中包括WinCE,Linux,Android,QNX,iOS等等。   1. WinCE:   WinCE是微软1996年微软发布的嵌入式操作系统市场的产品,直到2002年,WinCE4.1的发布,才取得了成功,今天WinCE已经发展到7.0。但是随着Linux和Android的冲击,据说微软已经准备放弃对WinCE的维护,而准备如同苹果一样,从Windows 10以后,一款操作系统支持所有的平台,PC,Notebook,Palm,Phone,AutomoTIve等等。虽然WinCE马上可能会成为历史,但是毫无疑问它为车载VOS的起步奠定了宝贵的基础,大家还是要了解一下它的架构。   VOS中典型采用的WinCE 6.0系统架构,实现为一种分层的架构,分别由内核模式层和用户模式层组成。其架构图如下:      主要特点如下:   32位多任务嵌入式操作系统。   多任务抢占、硬实时。   支持的处理器体系结构:ARM, x86, SH4, MIPS等。   组件化开发。   Based on Win32 API Set,桌面系统的一个扩展子集,超过2000个函数可以使用。   互联网协议融合。   因为WinCE提供了多媒体功能模块,且实时性方面表现出色,且当时Windows应用开发便利,有很多的商业化产品和服务,同时提供大量的开发包(Kits)和调试工具(Debug Tools),所以在当时其他操作系统不够成熟的情况下,在车载导航、娱乐上算是一枝独秀,所以当时基本上都称车载主机为车载导航或者车载娱乐系统。   但是,随着需求的增多,用户需求的改变,其他操作系统的成熟。WinCE高度模块化的开发流程,使得开发用户越来越少,应用越来越匮乏,所以WinCE也慢慢退出了VOS的舞台。   2. Linux:   对于计算机开发人员来说,Linux的出世可以说普大喜奔。因为它是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。最最主要的是它是一套免费使用和自由传播的类Unix操作系统。   Linux以它的高效性和灵活性著称,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议,支持32位和64位硬件。它还包括带有多个窗口管理器的X-Windows图形用户界面,如同大家使用Windows一样,允许使用窗口、图标和菜单对系统进行操作。   同时Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统,Linux的架构如下:      容易让人误解的是,小编或者网络中大家说的Linux,其实是指代的是Linux kernel。因为Linux操作系统因为发行方的不一样,有着不同的发行版,譬如说Ubuntu,Debian,Fedroa,RedHat等等。每个发行厂商根据不同的Linux Kernel版本,发布自己的新版本。   而在VOS上,大多数车机的OEM厂商是基于Linux Kernel LTS(长期支持版本)版本,然后自己通过裁剪和配置,完成车载操作系统的开发。因为一般LTS发布版本,将会提供 2 年的支持。所以稳定性更好,成熟度更高。   Linux操作系统结构设计偏重于可靠性和网络设计,所以在后台(服务器和数据中心)操作系统中占据着领先地位。现在IT基础设施从服务器和数据中心移动到了云端,而云运行在 Linux 上。即使是在微软 Azure 上,2016 年的时候超过 1/3 的虚拟机运行在 Linux 上。   但是Linux的普及范围小和开发难度大,限制了它在车载导航和车载娱乐上的发展。但是随着车联网、ADAS的介入,对可靠性以及网络设计的需求,也许Linux会异军突起,成为VOS的热门系统。   3. Android   Android操作系统,让小编带着大家单刀直入的描述。因为Android手机的市场份额已经超过了80%,远远高于历史上任何一个操作系统的份额。基本上10台智能手机中就有8台是Android手机,大部分对它的熟悉可能并不差于小编。   你可能不知道的是,到目前为止,Android是基于Linux Kernel开发的最成功的产品(也有人认为iOS是最成功的产品)。2009年,谷歌和一些硬件厂商组成的开放手机联盟发布了 Android。它现在已经成为了最流行的终端用户操作系统。   看一看它的架构,就能够看得出它和Linux的关系:      Linux Kernel:其底层是基于Linux Kernel的。主要完成的是操作系统所具有的功能,基本上是许多驱动程序,通过这些驱动程序来驱动设备上的硬件设备工作以及对电源的管理。   Android RunTIme:Android的运行环境。Android Runtime里的Core Libraries就相当于java的JDK,是运行android应用程序所需要的核心库,Dalvik Virtual Machine就相当于JVM,这时Google专为Android开发的运行android应用程序所需的虚拟机。   Liberaries: Android的库文件。包括文件系统,多媒体构架,SQLite数据库、图形处理、网络开发的库文件等等。   Application Framework:应用程序的框架,这个是非常的重要的。通过Framework这一层定义的各种各样的框架,开发人员通过Java来实现当前手机上各式各样的Applications。   许多车机的OEM厂商选择Android的4.4版本为基础进行VOS的开发。主要是4.4版本对RAM做了很大的优化,甚至可以在512MB RAM的车机上流畅运行。这和Linux,WinCE来说非常接近。而以车载导航和车载娱乐为主要目的的车机配置很低也有关系。   4.4版本一些大的更新大家可以随时百度到,小编就不一一列举了。   Android最大的优势在于庞大的手机群体,为其OS开发了数之不尽的应用,并且大多数应用已经深入人心,欲罢不能。而且,随着车联网的开发,应该很快能有移植到车机中来,为车载娱乐系统开创互联网新时代。   但是Android操作系统并未如同在手机上占据统治地位一样,在车机中一帆风顺的迅速发展,主要的原因还是系统的实时性和稳定性,当然也包括对资源的过分需求。这也许会阻碍Android成为未来VOS最大的障碍。所以Google公司计划在Android N的开发中,为车载开发一套完整的操作系统,让大家拭目以待。   4. QNX:   大家可能对QNX并不是很了解,这里小编详细说一下。   黑莓(Blackberry)旗下全资子公司,作为黑莓核心技术部门BTS(Blackberry Technology Solutions)的最重要组成部分,承担黑莓业务中操作系统、汽车软件、M2M、物联网IOT及云计算等核心业务内容。   – 成立于1980年,全世界第一个实时操作系统公司。   – 为汽车、通信、网络、医疗、国防、航空航天、核电、工业自动化等细分市场提供操作系统、中间件和软件解决方案。   – 从思科的路由器,洛克斯德马丁的武器,GE的交通设备,飞利浦的医疗,阿尔斯通的轨道交通,霍尼韦尔欧姆龙的工业设备,西屋电气的核反应堆控制器,到国际空间站的对接臂控制系统,QNX的软件涉及人们生活的每一个环节。   QNX以其安全性和实时性著称,所以它的突破口是汽车的仪表(Cluster)。QNX操作系统是第一个符合ISO26262 ASIL D规范的实时操作系统,能满足数字化仪表盘功能性安全的要求,同时兼顾了数据安全要求,通过美国军方EAL4+。用户可以基于安全的内核进行系统开发,从而保证整机系统的安全可靠。   QNX的架构如下:      在小编讲述的所有操作系统中,只有QNX基于自己的VOS独立的为汽车车载系统开发了完整的娱乐平台(而不是车机供应商),称之为:QNX车载娱乐平台(QNX CAR Platform for Infotainment)。其架构如下:      小编认为QNX的野心还是很大的,毕竟汽车的半自动、全自动驾驶涉及到人的生命安全,安全性和实时性是非常重要的。所以小编认为QNX成为未来的VOS的机会非常大。   5. iOS:   iOS是由苹果公司开发的移动操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初只设计给iPhone使用,后来陆续扩展到iPod touch、iPad以及Apple TV等产品。   iOS与苹果的Mac OS X操作系统一样,属于类Unix的商业操作系统。这个系统原名为iPhone OS,因为iPad,iPhone,iPod touch,Apple TV,iWatch都使用,所以改名为iOS。也就是说,未来所有苹果的产品都由iOS支持。而如今,苹果已经杀入了自动驾驶汽车领域,小编也期待着iOS成为VOS的到来。   iOS的系统架构分为四个层次:核心操作系统层(Core OS layer)、核心服务层(Core Services layer)、媒体层(Media layer)和可触摸层(Cocoa Touch layer)。   下面是IOS系统结构图:      因为苹果对汽车的开发还处于保密阶段,我们只能翘首以待未来的结果。也希望如同iPhone一样,能够一鸣惊人。   现在让小编简单总结一下具有VOS潜质的几个操作系统的现状和未来:   

    时间:2020-08-20 关键词: iOS Linux WinCE

  • Windows xp嵌入系统简介(一)

    Windows xp嵌入式系统简介(一)  究竟什么是嵌入式系统?很难用一两句话说透彻,但简单地看,手持式轻便设备、智能型移动设备、以及某些大型产品中(像汽车之类)附属的智能部分,都可以理解为嵌入式系统。嵌入式系统几乎都有体积和重量的限制,不能可像桌面计算机那样,让设计开发人员纵横驰骋、游刃有余地自由挥洒,必须高度重视可用空间、显示面积、电源消耗、工作环境、外观以及人体工学等一系列问题。而且要求无论是软件或是硬件,都应当具备“可剪裁”的特性。在后PC时代,嵌入式系统将是一个新兴的发展方向。因此,处处占尽先机的微软公司,不失时机地推出了自己的嵌入式操作系统。目前最新的版本是Windows xp,它继承了Windows 2000的内核,是一个可以达到工业级可靠性和安全性的内核。并可以支持多媒体、使用浏览器,进行电源管理以及支持众多的设备。那么,它有哪些新的特征和优势呢?  Windows xp整合进了当前()能够利用的新功能,例如,灵活的系统引导、储存选项以及设计相当完善的工具箱,这个工具箱也称为Windows Embedded Studio,利用这个工具箱,可以进行快速的开发或者配置丰富的应用程序。  Windows xp嵌入系统是基于32bit体系并使用了完善的内存保护模式,大大增强了运行的可靠性。下面分别予以介绍。  一、高度的可靠性  1. 文件保护:Windows xp嵌入系统所设计的文件保护机制,主要是在安装应用程序的时候,避免覆盖掉系统的核心文件。并设计有相关的恢复机制,万一出现有用文件被覆盖的问题,可以利用这个恢复机制,将覆盖掉的文件复原为正确的版本。  2. 设备驱动程序回滚( rollback):  在安装新版本的设备驱动程序之后,如果发现工作不正常,可以利用这种“回滚”功能,退回到老的版本中去(当然你必须保证老的驱动程序是没有问题的)。这可能会降低一些性能,但绝对要比废掉这个设备强的多。  3. 设备保护机制:  保护设备机制的原理是利用一个数据库,里面列出了在Windows xp嵌入系统下工作有缺陷的设备列表,利用这个列表来核对你准备加入到目前系统中设备,看是否正好是“黑名单”中的哪些有缺陷的设备,如果是的话,可以给出消息提示,并指引你连接到对应的WEB页面获得更多的相关信息。  4. Windows Update:  一看这个功能的名字,我想就不用再多说什么了。  二、高性能的平台  1. 抢先的多任务体系:  这个体系结构可以让用户同时执行多个应用程序,增强系统快速响应的同时保证稳定性。并且增强了内存管理,确保从磁盘预读取的内容到达正确的内存页面之中。这种技术虽然在桌面计算机中已经不算什么新奇的东西,但在系统资源有限的嵌入式系统中实现它,却也难能可贵。这样,你就可以在执行网络搜索操作的同时,还可以进行文档的拼写检查――当然,这仅仅是一个微不足道的例子。  2. 快速的引导过程:  这主要体现在以下几个方面:  A、 系统能从待机状态或者休眠状态中快速恢复到全速运行状态。  B、 改进了引导的“装载”机制,缩短了设备响应时间和注册表初值的设置时间。  C、 同步的磁盘I/O和设备的初始化,系统利用“预取指令”技术,加速引导,缩短引导时间。  D、 Windows xp嵌入系统的OS可以连续地“观测”系统引导过程中需要使用的数据,然后根据特定规则来优化数据在硬盘上的存放位置,因此而实现加速引导的目的。  3. 资源管理:  比之以前的版本,资源管理的改进包括:  A、 预先维护功能:可以在用户的空闲时间内,激活某些系统维护功能,例如根据系统优化原则来重新分配某些文件在硬盘上的存放位置,或者,利用空闲时间来填写系统恢复文件的内容。更有效地利用系统资源,并提高了整个时间的利用率。  B、 系统恢复:这主要指硬件资源如何合理利用,核心技术仍然是利用设备驱动程序回滚( rollback):一旦新版本的设备驱动程序不正常,可以退回到老的版本中去,最大限度地保护用户的前期投资。  C、 自动进行硬件性能调节。  D、 内存管理:Windows XP Embedded,可以根据用户的应用程序模式,恰当分配所需要的物理内存和虚拟内存。  E、 改进了注册表使用机制,这种改进主要体现在对于注册表缓存的规划使用上,可以使Windows XP Embedded将某些公用的查询结果,放置到缓存空间中去。  4. 高度的文件安全功能:  A、 能支持多用户的文件加密系统:所采用的是随机产生的密钥,然后加密每个文件,无论加密过程或解密过程,对于用户来说,都是透明的,并允许多个经过授权的用户来访问加密文档。  B、 安全协议:支持利用VPN(虚拟私人网络)模式传输加密的数据资料,即在发送端事先对要传送的数据加密,通过VPN传送到对方并进行解密。这种将模式很像通过隧道传送的情形(隧道内传送的东西不能被外部看见),所以有的场合干脆称为“隧道传送”。  C、 支持:由于各种各样的卡,渐次走入我们的生活和工作中,所以在Windows XP Embedded的OS中,也整合进了对 支持,包括利用 的注册机终端服务器的登录功能。  D、 Kerberos 验证协议,利用Kerberos许可验证协议,可以提供工业标准的信任证明功能。  E、 连接防火墙:  利用客户端的防火墙,可以放置来自公用网络上的入侵和攻击。  F、 Microsoft 护照: 这个功能,可让消费者很容易地建立一个特定的登录名字以及密码,然后利用在用户联机之后利用登录名字和密码验证用户身份,之后才可以享受“护照”准许的Web访问和相关服务。Microsoft公司允许自由软件开发者将Microsoft护照功能内建在自己开发的应用程序中。值得注意的是,由于很多人怀疑这个功能可能会导致个人隐私和敏感信息的泄漏,所以,尽管是新功能,但相关的争议和疑虑却一直挥之不去。  G、 软件限制策略: 软件限制策略提供一种策略机制,可以识别将要运行的程序,并核对该程序是否位于可执行的范围之内,这可以拒绝执行某些不适合运行在嵌入环境下的程序,或者是不需要的程序。软件限制策略的主要用途是防止运行不正确的设备驱动程序。  H、 证书服务:可以通过网络,支持多种级别的证书服务和利用数字签名功能进行授权。  I、 证书管理:这种特征主要是将用户相关信息存放到一个安全的地方,供用户再次访问该处时,一旦输入用户名称和密码,就可以自动提供后续的信息。其实,这种功能我们在桌面计算机上早已用过,但对于嵌入式的系统,可能还是新东西。  5、对用户访问的安全支持  应当事先说明:此处所涉及的访问,并不单指网络访问,而是包括对整个计算机软硬件资源的访问。这涉及很多与安全相关的设置:例如,用户访问许可、应用程序以及系统资源等,主要的支持包括下面诸种项目:  A、 访问控制列表ACL( ):这种功能需要首先建立一个资源,例如文件夹或者文件共享等,然后可以将其设置为下面两种情形之一:接受默认的访问控制列表设置或者定制一个访问控制列表设置。  B、 组策略:这和桌面机使用的组策略概念是一样的,无需赘述。  C、 组安全:这实际是为了安全而将用户分组管理的机制,例如通常我们将用户分为:一般用户、超级用户、系统管理员等不同级别,这也是继承了桌面机的技术。  D、 安全配置管理:这实际是利用了一个设置工具来管理系统的安全问题,例如:如何在大到团体单位、或一个域,小到该机器中设置安全管理策略?这就需要使用安全配置工具来解决问题。

    时间:2019-03-11 关键词: Windows 系统 简介 xp WinCE

  • 基于S3C2410的WindowsCE5.0 BSP移植

    1 引言在当今后PC时代,嵌入式系统应用得越来越广泛,嵌入式产品充斥着许多领域,日常生活的手机,MP4,PDA等都属于典型的嵌入式系统。在嵌入式系统中,微处理器和操作系统是进行应用开发的基础。在微处理器方面,S3C2410是Samsung公司推出的一款基于ARM920T内核的16/32位 RISC嵌入式CPU,主要面向手持设备以及高性价比、低功耗的应用。在操作系统方面,Windows CE 5.0是由微软提供的一款嵌入式操作系统,在Windows CE 4.2基础上,它又加入了一些新特性以满足市场需求。板级支持包 (Board Support Package,BSP)是操作系统的一个组成部分,提供对硬件的支持。BSP的开发在整个产品开发时间上占了很大比例,快速的移植满足产品需求的BSP 在竞争激烈的市场环境里显得很重要。目前已有许多关于S3C2410、Windows CE以及BSP相关的研究报道,文献[1]研究基于s3c2410的GPS通信技术及实现,文献[2]中详尽分析Windows CE的结构,文献[3]中归纳了Windows CE 4.2专用操作系统的定制和裁剪方法,文献[4]则探讨基于DSP嵌入式多媒体应用系统板级支持包的开发。目前关于Windows CE的应用主要采用Windows CE 4.2及以下版本,本文研究基于S3C2410的Windows CE 5.0 BSP移植技术。2 Windows CE 5.0及BSP结构分析移植基于S3C2410的Windows CE 5.0 BSP,需要分析Windows CE 5.0 及BSP结构。Windows CE 5.0是一款开放的、可升级的32位嵌入式操作系统,具有高可靠性,是一种硬实时嵌入式操作系统,它可以在多种处理器架构(如x86、MIPS、ARM和 SH4)上运行,Windows CE支持ARM体系结构,这是基于S3C2410 处理器进行BSP移植的前提条件。Windows CE 5.0 BSP通常包含以下几部分:Bootloader,OAL(OEM adaptation layer),设备驱动程序,配置文件等。BootLoader是加电即运行的一段程序,它初始化硬件,建立系统的内存空间映射,为最终调用系统内核做准备。在Windows CE 5.0系统中,它主要用于下载和启动镜像nk.bin,也就是两种工作模式:启动加载模式:用户最终使用的产品即为该模式;下载模式:镜像首先被 bootloader下载到目标机的RAM中,然后被固化到Flash。设备驱动程序按照导出的接口不同可分为:本机驱动程序以及流接口驱动程序.本机驱动程序有GEWS.exe加载的鼠标,键盘,触摸屏,显示驱动等。而流接口驱动程序使用一组流函数来实现,通常由Device.exe加载,如网卡,声卡,USB等。OAL是逻辑上驻留在Windows CE内核与目标设备之间的代码层,在物理上OAL与内核库连接来产生内核可执行文件。OAL简化了操作系统与目标代码之间的通信,OAL代码用来处理中断,记时器,电源管理,通用I/O控制等[5]。Configuration File里面包含的是与生成的镜像相关的配置信息。移植Windows CE下S3C2410对应的BSP,就是修改Windows CE自带的BSP或者修改硬件平台以前版本的BSP的几个主要组成部分,使得BSP能有效支持硬件系统。3 BSP移植如果从零开始开发Widows CE 5.0 BSP,则需要相当长的时间。通常的做法是:⑴将自己硬件平台基于Windows CE 4.2及以前版本的BSP移植到Windows CE 5.0系统上;⑵从Windows CE 5.0 BSP中寻找与硬件平台最接近的作为模板,然后再从自己的硬件平台上入手做相应的修改,从而得到可以在自己系统上使用的BSP。本文探讨的BSP移植属于第一种情况。本次移植平台采用的是深圳英蓓特公司的EdukitIII实验箱,微处理器是S3C2410,外带64M NAND Flash芯片等相关硬件资源。软件资源有:edukit2410包(Windows CE 4.2版本下的BSP)。3.1 bootloader移植bootloader的执行流程如下:⑴ 执行startup.s:对CPU,内存控制器,Cache等做一些基本的初始化。⑵ 初始化串口:调用函数OEMInitDebugSerial()来完成。⑶ 初始化平台:调用函数OEMPlatformInit(),主要对所需硬件资源进行初始化,通常包括:以太网控制器(CS8900A)、系统时钟、存储设备以及其他一些外围设备。⑷ 调用函数OEMPreDownload():做一些准备工作如获取IP地址,初始化TFTP连接等。⑸ 执行函数DownloadImage():下载镜像到SDRAM中。⑹ 调用OEMLaunch()函数启动操作映像。其中startup.s,OEMInitDebugSerial()可以与OAL共享使用,两函数的修改在OAL移植过程中叙述。Bootloader移植主要过程有:⑴ 修改相应的dir,source文件,下面列出部分库路径:TARGETLIBS= $(_TARGETPLATROOT)lib$(_CPUINDPATH)csp_arm.lib $(_COMMONOAKROOT)lib$(_CPUDEPPATH)eboot.lib $(_COMMONOAKROOT)lib$(_CPUINDPATH)cs8900dbg.lib其中csp_arm.lib这个库只存在于Windows CE 4.2的$(_PUBLICOAKROOT),是ARM体系结构链接库之一,在Windows CE 4.2系统下位于PUBLIC目录,而在Windows CE 5.0系统下存在于PLATFORM,导致编译系统找不到该库文件,因此,修改这个库的链接路径,使得Platform builder这个编译系统能够找到这个链接库。⑵ 修改makefile.inc,因为该文件指定生成eboot.bin(Ethernet bootloader镜像)所需要的文件以及拷贝eboot.bin到releasedir目录,其中:romimage $(_TARGETPLATROOT)ebootboot.bib为生成生成eboot.bin所需要的配置文件,否则,系统通过编译却无法生成eboot.bin.⑶ 修改boot.bib,使其不与config.bib中的内存分配造成冲突。⑷ 改进eboot,因为eboot烧写NK.BIN(OS镜像)的时候会查找BINFS分区,然后把下载的image烧写到BINFS分区。如果没有找到现存的BINFS分区,eboot会低格NAND FLASH,并创建MBR(main boot record),在MBR中有分区表。目前最多支持4个分区,而BINFS分区的大小是以NK.BIN展开的大小按block对齐,所以会出现个问题,当修改过重新生成的NK.BIN比之前写进NAND FLASH的IMAGE大并且超出block对齐的时候,将会导致烧写新的NK.BIN失败,我们可以通过每次下载烧写NK.BIN前先低格NAND FLASH来解决这个问题,但显然这不是妥善的解决方法,增加用户使用复杂度,所以我们可以把BINFS分区的大小固定,而这个固定的大小可以参考生成 NK.BIN的config.bib中定义的ROMSIZE,这样无论NK怎么修改,BINFS一经创建无需更改,eboot把NK写进NAND FLASH之后,会把剩余的FREE空间创建一个FAT分区,如果我们要实现HIVE REGISTRY就可以把这个分区mounts成MountAsBootable。3.2 OAL移植OAL的移植过程中,OEM主要实现以下几个函数:Startup.s,调试串口函数,OEMInit函数,系统时钟函数,中断处理函数等。⑴ 修改Startup.s,此函数为OS启动时第一个要调用的函数,也是OEM要实现的重要函数之一,主要完成的功能是:将CPU初试化到一种已知的状态;并调用内核初始化函数kernelstart。Startup.s需要修改,修改后的部分代码如下: …… ldr r0, = 0X4A000008 ldr r1, = 0xffffffff ; 禁止所有中断 str r1, [r0] ldr r0, = 0X4A00001C ldr r1, = 0x7ff ; 禁止所有子中断 str r1, [r0] …….. add r0, pc, #g_oalAddressTable - (. + 8) bl KernelStart //跳转到KernelStart⑵ 修改串口调试函数。执行完Startup.s,系统就跳转到Kernelstart函数,位于private目录,该函数第一个任务就是初始化串调试口,否则,就无法进行后面的调试工作。其中OEMReadDebugByte, OEMWriteDebugByte, OEMWriteDebugString不用做修改,需要注意的是OEMInitDebugSerial,选UART0,UART1的寄存器配置不一样,若选用UART0,使用配置:s2410IOP->rGPHCON &= ~((3 << 4) | (3 << 6));s2410IOP->rGPHCON |= ((2 << 4) | (2 << 6));而选择UART1,则使用配置的是:s2410IOP->rGPHCON &= ~((3 << 8) | (3 << 10));s2410IOP->rGPHCON |= ((2 << 8) | (2 <<10));⑶ 实现OEMInit(),该函数将调用以下函数:OALCacheGlobalsInit(),OALIntrInit(),OALTimerInit(),OALKitlStart()来初始化Cache Global,中断,时钟,启动KITL,实现代码如下:void OEMInit(){ OALCacheGlobalsInit();// 初试化cache globals if (!OALIntrInit()) { OALMSG(OAL_ERROR, ( L"ERROR: OEMInit: failed to initialize interruptsrn" )); } // 初试化中断 OALTimerInit(1, S3C2410X_PCLK/2000, 0); // 初始化时钟 OALKitlStart();// 初始化KITL }⑷ 实现OALTimerInit(),该函数用于初始化OS TIMER,设置每毫秒产生一个System tick,为系统计数,触发进程调度。由CPU的运行主频和硬件定时器资源来确定,执行过程有:初始化时钟状态全局变量,初始化高分辨率时钟函数指针,使能TIMER。⑸ 实现中断处理处理函数:OALIntrInit(),该函数通常先初始化中断映射表,因为WINCE为了模块化,把平台相关物理中断号和系统中断号建立映射。然后清除外部中断,内部中断等。3.3 驱动移植以触摸屏为例,来探讨Windows CE 5.0系统驱动程序移植。这里以三星公司ARM9内核芯片S3C2410触摸屏接口为基础,通过外接4线电阻式触摸屏构成硬件基础,整个触摸屏由横向电阻线和纵向电阻线组成。触摸屏驱动的主要函数组成有:TSP_Poweron 该函数将执行触摸屏的一些初始化,主要是寄存器的配置。DdsiTouchPanelEnable:使能DDSI接口,使得硬件能将流数据提供给DDSI接口,就可以实现触摸的操作了。DdsiTouchPanelSetMode:模式设置函数,设置触摸屏是高采样率还是低采样率DdsiTouchPanelGetPoint :触摸屏进行采样函数TSP_CalibrationPointGet:坐标转换函数,该函数实现将从AD采样植转换成坐标。移植主要过程:⑴ 修改source文件,要添加如下库文件:TARGETLIBS=$(_COMMONSDKROOT)lib$(_CPUINDPATH)coredll.libSOURCELIBS= $(_COMMONOAKROOT)lib$(_CPUINDPATH)tch_cal.lib $(_COMMONOAKROOT)lib$(_CPUINDPATH)tchmdd.lib因为这个驱动在Windows CE 4.2下面是在Public目录,而这里将该触摸屏移到了Platform下面,在Windows CE4.2下面是没有以上三条链接库,但Platform,Public编译路径,先决条件都不同。因此引用的库不一样。⑵ 删除如下库文件: $(_TARGETPLATROOT)lib$(_CPUINDPATH)drvlib.lib该库在Windows CE 4.2系统下为触摸屏与音频共用库,但在Windows CE5.0系统下,这个库已经不是必要的并且已经不存在了,所以删除掉,否则系统会出编译错误。⑶修改platform.bib,将我们移植过来的驱动dll包含到nk.bin中⑷修改platform.reg,其中CalibrationData是触摸屏的一个参数:[HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPTOUCH]"MaxCalError"=dword:7portrait"CalibrationData"="517,610 897,934 142,936 129,290 891,285 "其他驱动的过程与触摸屏类似。3.4 移植小结此次移植是升级BSP,而硬件上基本没有变化,因此很多代码不需做修改即可使用,通过以上移植,不难发现此类移植BSP过程中所要做的工作主要在以下几个方面:⑴ 修改dir文件,在dir文件中指定了当前目录哪些文件夹被系统编译,编译器根据dir层层搜索,而移植BSP不可避免的带来了目录的变化,通过修改dir来指定新的编译路径。⑵ 修改sources文件,在sources文件中,指定了编译类型有PLATFORM,OAK;编译的时候引用的库 sourcelib,targetlib不一样,移植的时候一定得注意。目标文件类型有Library,Dynlink,program;include 字段包含的则是编译时候所需要的头文件目录。有个比较特殊的sources是位于Platform(例如smdk2410)下的sources.cmn,它包含了该平台的通用库,头文件路径,这个文件在移植过程中需要修改的,否则,编译出错。⑶ 修改platform.bib,platform.reg等文件,因为这两个文件决定了镜像中包含哪些模块(dll)以及注册表相关信息,驱动移植的过程中,每个模块的改动都需要修改这两个配置文件。⑷ 驱动源文件中的头文件的修改以及函数,变量修改等,这些依据编译时候出现的错误来确定。除此之外,各部分的移植还需特别注意的地方有:Bootloader部分:因为bootloader下载,烧写,启动镜像过程会涉及到内存地址的问题,各种入口地址不能出错误,以及内存超出范围,冲突都需要特别小心。尤其是g_oalAddressTable这个表,这个表定义了物理地址虚拟地址之间的转换以及内存的大小,如果设置不正确,将出现校验错误,下载失败或者镜像无法启动等错误。OAL部分:startup.s以及OEMInitDebugSerial两函数需要特别注意,这两个主要是初始化硬件及串口,这是系统运行及驱动调试的基础,如果硬件配置以及调试串口有改变,则需要适当的修改。此次BSP移植,因硬件平台没有变化,因此OAL部分很多代码无须修改即可使用。驱动部分:Windows CE4.2与Windows CE5.0的结构,库有了很大的改变,因此需要修改引用库路径,以及头文件的引用路径,大部分驱动都将会遇到这样的问题。4 结束语本文创新点:通过对BSP结构分析,将具体平台的Windows CE 4.2 BSP移植到Windows CE 5.0版本,包括移植bootloader,OAL,驱动程序,使之能够通过编译并生成镜像,已经能在平台上成功运行。通过这次移植,使笔者体会到BSP 移植是一个挺复杂,烦琐的过程,因Windows CE 5.0跟Windows CE 4.2 BSP包的组织结构不同,导致很多链接库无法找到或者是这些库已经被替换,删除,只有耐心的根据这些错误提示来定位,有时候也需要去makefile里去找答案。不过移植BSP比重新开发BSP更加节省开发时间,从而缩短产品的研发。参考文献:[1] 潘永才,鲁启华,田茂.基于s3c2410的GPS通信实现[J].现代电子技术,2006,15,157-159[2] 林涛.嵌入式操作系统Windows CE的研究[J].微计算机信息,2006,6-2,91-93[3] 吕秀平,李小民.Windows CE.NET的定制和裁剪[J].科学技术与工程.6卷第21期,2006年11月,p3483-3486[4] 曹荣,刘峰.一种DSP嵌入式多媒体应用系统板级支持包的研究[J] .第26卷第3期,2006年3月,p746-748[5] 何宗健.Windows CE嵌入式系统[M].北京:北京航空航天大学出版社,2006.

    时间:2019-03-08 关键词: bsp WinCE

  • Windows 7上市后微软希望能延续“7”的辉煌

    随着Windows Embedded CE正式更名为Windows Embedded Compact 7,微软操作系统产品Windows 7、Windows Embedded STandard 7、Windows PhONe 7、Windows Embedded Compact 7都归入了“7”系列,不难看出随着Windows 7上市后取得的不俗成绩,微软在专用设备上的开发平台、手机平台都希望能延续“7”的辉煌。  微软将Windows 7很好的用户体验移植到了专用设备上,推出了Windows 7的嵌入式版本操作系统Windows Embedded Standard 7,在我们的日常生活中,越来越多的会接触到嵌入式设备,比如POS机、导航设备、银行的自动取款机、自动终端查询;我们乘坐公共汽车的刷卡机、地铁站的终端机等等,要想在这些专用设备上有与在PC上同样的用户体验,Windows Embedded Standard 7将会起到至关重要的作用。  51CTO.com联合微软共同举办了《Windows Embedded Standard 7颠覆嵌入式应用开发体验》巅峰访谈,邀请微软嵌入式Windows产品部项目经理施卫娟、北京思创银联科技有限公司副总经理万雪松、北京诚亚博瑞科技有限公司技术工程师、嵌入式MVP肖正波一同探讨这一场“7”的颠覆从何而来!从现场实录中可以引发我们的诸多思考:  Q:Windows Embedded Standard 7包括了一个新的TCP/IP堆栈,提供最新的无线网络功能而且通过网络访问保护(NAP)增加了安全性,让设备可以轻松集成到企业网络中,这一点能否请专家详细讲解一下?  网络访问保护(NAP)实际上不能防*,实际上网络访问保护(NAP)很像一个过滤器,它可以过滤掉存在潜在危险(安全性变差)的客户端,来保护网络的安全。  Q:要深入的了解嵌入式操作系统,是否可以推荐一些相关的技术书籍?  Windows Embedded Standard 7刚刚发布还没有这方面的书籍,首先建议你要熟读开发工具的帮助文档,开发团队的Blog,以及相关技术论坛上的一些内容。  Q:对于嵌入式系统中的内存选择,如何对成本和效能作出平衡?  这是个成本控制问题。硬件首先上是够用就好,留有一定的升级余地,硬件的稳定性要好,这会大幅度减少硬件维护成本。最大限度的的优化嵌入式系统和应用程序。关于内存的选择也取决于很多因素。例如:你的主板类型、系统开销等  Q:之前的Windows Embedde平台上的应用,迁移到最新的Windows Embedded Standard 7,要注意哪些问题?  你的现有硬件平台要可以满足WES 7的运行要求,你需要测试你的应用软件是否与WES 7完全兼容。  Q:Windows 7可以用U盘直接当内存,Windows Embedded Standard 7可以吗?  Readyboost?可以,Windows Embedded Standard 7是支持Readyboost技术的。  Q:Windows Embedded Standard 7怎么应付在极端环境下出现的“跑飞”问题,是立刻恢复任务执行、重新开始任务还是直接蓝屏。  看你跑飞的程度?应用程序未响应、应用程序崩溃、系统挂起、系统崩溃(蓝屏)?在这里有个“万能”的解决方法,如果你开启了EWF或者FBWF保护磁盘,你可以选择带有硬件看门狗的主板定时喂狗。当出现超时,强制重启动系统。这很适合在无人值守环境中部署的设备。不过你需要根据具体情况制定应对方案。

    时间:2019-03-07 关键词: Windows 微软 辉煌 希望能 WinCE

  • 平板电脑硝烟再起 Windows 8难撼市场格局

    目前,仍在平板电脑市场独大,微软则寄希望于借Windows 8操作系统之力冲击现有市场格局。至此,平板电脑市场的纷争才刚刚开始。近两年来,平板电脑作为新兴的智能终端产品深受消费者的追捧,终端厂商对此趋之若鹜,因此,平板电脑市场迅速进入到爆发阶段。但与2011年不同的是,用户与平板电脑的蜜月期已经结束,其市场也逐渐趋于饱和。  与此同时,苹果仍旧在平板电脑市场一家独大,微软则寄希望于借Windows 8操作系统之力冲击现有市场格局。应该说,平板电脑市场的纷争才刚刚开始。  市场一边倒  2010 年,苹果首款平板电脑的出现,一方面宣判了上网本产品的死刑,另一方面也叩响了后PC时代的大门。在彼时,也近乎成为平板电脑的代名词。 而在2011年,搭载Android操作系统的平板电脑如雨后春笋般大规模上市,与苹果公司同期推出的iPad 2大演对手戏,平板电脑市场也顺势快速成型,并呈现出井喷式的增长状态。  不过,尽管Android阵营对平板电脑的投入不遗余力,但Android平板电脑厂商的市场状况却难以与iPad相提并论。根据市场调研公司IHS iSuppli发布的最新数据显示,苹果成为2011年全球第一大平板电脑厂商,其市场份额高达62%,三星、亚马逊位居第二、第三位,市场份额分别为9%和6%。  业 内分析师王斌认为,基于平板电脑的娱乐和便携上网的产品定位,苹果App 有最丰富的应用和强大的品牌影响力,加上iPad相对出色的使用体验,其市场份额可谓是取之必然。相比之下,Android平板电脑产品难以摆 脱跟随者的角色,诸如摩托罗拉XOOM、HTC Flyer等产品在市场上也都是叫好不叫座。  据 统计,2011年全球平板电脑销量约为6300万台,其中iPad占比超过73%。但值得注意的是,今年3月刚刚上市的New iPad除了在个别硬件配置上有所提升外,并没有在创新方面取得突破,这也让消费者大失所望。同时,也给了Android等操作系统的平板电脑得以喘 息的机会。  后入者的抗争  在日新月异的移动互联时代,微软的反应却始终是“慢半拍”,但作为统治PC领域的操作系统厂商,微软的每次动作都牵动着终端产业敏感的神经。  在今年2月的巴塞罗那世界移动通信大会上,微软Windows 8消费者预览版高调亮相,该操作系统具有专门的ARM版本,以及全新的触控界面Metro,主要支持平板电脑等移动终端产品。这被视为微软在平板电脑领域对苹果和谷歌的挑战,也是微软作为后入者,试图在移动互联市场挽回劣势的重大举措。  有 分析人士指出,相对于iOS和Android,Windows 8操作系统入主平板电脑市场具备三大优势,首先是该款操作系统能够通过其云服务整合PC、智能手机,以及平板电脑等多个智能终端设备;其次,微软在移动办 公方面的优势得到凸显,Windows Office将成为该操作系统的一大杀手级应用。最后,目前传统PC厂商纷纷进军平板电脑市场,而微软在他们中间具有强大的影响力,这便为微软向平板电脑 市场渗透埋下伏笔。  但是,就目前平板电脑市场而言,Android操作系统的发展已然 高度成熟,其兼容性极佳的Android 4.0版本更是获得终端厂商的一致推崇。据了解,包括三星、联想、华硕等诸多厂商均有Android 4.0平板电脑产品即将上市。由此可见,任何传统PC厂商或是终端厂商都不会轻易放弃Android系统。  更 重要的是,平板电脑作为一个载体,其价值主要通过各式各样的应用软件来体现。而根据统计,微软应用商店Market Place的应用数仅有70000余个,相比于Android和iOS丰富的第三方应用软件,Market Place则显得捉襟见肘。不难看出,微软的产业生态链尚不完整,明显缺乏第三方应用开发者的支持。  此外,不论是相对于iOS、Android,还是Windows系统早期的版本,Windows 8在操作上都具有很大差异,这无疑是对用户使用习惯的一次挑战。可以预见,在重重阻力之下,Windows 8短期内难改平板电脑市场格局。

    时间:2019-03-07 关键词: 电脑 平板 格局 硝烟 WinCE

  • 基于WindowsCE的遥控遥测警报系统的设计

    基于WindowsCE的遥控遥测警报系统的设计

      系统的选择论证  目前,一般警报发放系统是基于PC机/单片机技术的半双工的点对多点天线专用遥控网。系统中控制中心由PC/工控机担任,各执行终端以单片机为核心的控制器来执行控制功能。 从使用管理和建设角度看,有如下不足:基于PC机/工控机技术的控制中心单位体积大,设备成本较高,且由于承担的任务相对简单,故使用效率不高,而基于单片机技术的控制执行终端能较好地完成解码控制功能,但不能满足警报发放技术的信息交互化改进和运行管理的需求,例如由单片机完成高质量,高效率的音频编解码,录入和还原来实现信息交互化功能是一个比较棘手的问题。本文设计的目的是鉴于以上需求,采用硬软件资源丰富且可裁减的数据处理能力强大且具备一般单片机控制功能的嵌入式技术,设计一种体积小,成本低,功能强,开发周期短的嵌入式中心控制器和终端控制器,以对原有警报发放系统进行改进。  系统整体介绍  改进的系统由一个控制中心和多个终端构成。控制中心和终端之间使用无线数传模块来构成无线数据通路。每个终端配置唯一的地址,当发放警报时,控制中心既可以以群发的方式发放警报内容,又可以通过指定终端地址,以点对点的方式向某一指定的终端主机发放指定的警报内容。  终端控制器的音频输出端口和功放相连。当终端接收到属于本机的警报指令后,根据不同的警报内容,调用不同的音频文件,最后由音频输出单元和功放发放。  为保证控制器的可靠性,需要定时进行检测。检测时主控中心以串行点名的方式对每个终端进行查询。检测的内容包括中心和终端的无线数据通路和音频发放设备的工作情况。为了能正确了解终端设备的工作情况,在终端音频输入接口配备麦克风,用于采集发放的警报声音,采集的声音压缩文件再通过无线网络返回给主控中心,再在主控中心进行处理,分析终端的整套设备工作正常与否。  一般来说嵌入式控制器是针对某一特定功能来设计的,它可被认为是一种具有特定功能的专用计算机。在本系统中,控制中心和终端控制器需要实现的主要任务都是数据传输和音频的处理,所以在硬件资源选择上,中心和终端可以使用同一套硬件设备。在系统组网时,只需在中心控制器和终端控制器上安装不同的应用软件即可完成系统要求。所以在设计开发中,一旦实现了控制中心的功能,也就是基本上完成了终端的设计任务。 系统硬件软件资源的选择  系统选择  为了能方便的实现音频的处理功能,加快系统的开发时间,选择Windows CE作为控制器的操作系统。虽然Windows CE是一个软实时的操作系统,但是完全可以满足本系统队实时性的要求。同时Windows CE具有出色的图形用户界面,强大的多媒体功能,良好的通信能力。界面友好的嵌入式平台工具Platform Builder为Windows CE的制定提供了方便。具有和Visual C++基本相同特性的应用程序开发工具Embedded Visual C++又为熟悉Windows编程的开发人员提供了捷径。所以使用具有功能完备的API函数库的Windows CE操作系统,能使系统显示出很大的优越性。  硬件结构  目前已有多款CPU内核支持WinCE操作系统,例如ARM、x86、MIPS、PowerPC、SH等。目前市场上采用MIPS和ARM架构的CPU占据了主导地位。本系统控制中心的CPU选择Intel @XScale PXA255微控制处理器它遵从ARM 5V.TE体系构架,运行速度高达400MHz,Intel超流水线技术和独特的动态功率管理技术,使它兼有高性能与低功耗的特点。为了达到嵌入Win CE操作系统的要求,系统配置64M SDRAM和32M Flash。系统还配置LCD显示系统和触摸屏。音频控制器采用TI公司的TSC2301 Audio Codec芯片,该芯片支持AC’97标准20位立体声编/解码、支持可编程采样率、输入输出增益和数字音响处理功能,同时集成触摸屏控制功能。它也是本系统硬件的重要组成部分。基于串口通信的无线数传模块在实际应用中已经很成熟,在市场上也有多种可供选择的产品。本文对此不作详细介绍。以下是系统硬件结构图。  Windows CE操作系统和应用程序  系统的制定  每一个Windows CE操作系统都是基于固定的硬件平台来运行的。一个完整的Windows CE操作系统的基本内容包括以下几个方面:  1. Bootloader,用于加载Windows CE操作系统的程序;  2. CPU初始代码,基于特定的CPU系列;  3. 驱动程序,包括键盘、鼠标、声卡、COM等等,不同的硬件设备可能有不同的设置,驱动程序分别由Windows CE和硬件厂商提供;  4. 用户界面接口;  5. 完成特定功能的应用程序。  WinCE的制定是在Platform Builder下完成的,在此过程中需要选择特定的开发板支持包BSP和相应的应用程序和服务组件,在选择过程中为了节约硬件资源,使内核在能到达要求的前提下尽可能的小,需要尽量精简应用程序和组件。  自己编写应用程序后,为了使应用程序也能成为镜像系统的一部分,可以在Platform Builder下创建自己的CEC文件,使其成为新的特性并添加到需制定的系统特性目录中去。  制定完成的系统经过编译后即可生成系统内核镜像,同时还能生成一个Eboot文件。首先通过JTAG下载Eboot文件,再通过以太网下载系统镜像文件,在这基础上便可以完成对系统同的调试和固化。  应用程序  应程序主要是绘制人机交互界面,实现串口通信功能,并具有声音的采集、编码和播放功能。  应用程序是在Embedded Visual C++的环境下编辑的。Win CE同桌面Windows系统一样也是一个图形界面的操作系统他可以帮助我们设计出丰富的图形界面,Win CE提供了功能强大的图形设备接口(GDI),利用GDI函数可以方便地绘制出点、线、矩形、多边形、椭圆、位图、以及文本等,同时和Visual C++一样embedded Visual C++也提供了许多常用的控件,所以绘制人机交互界面的工作相对简单。  Windows CE的串行口通信程序  在Visual C++中实现串口通信可以简单地使用MSCOMM控件,但是在Embedded Visual C++中没有此控件,所以串口的实现相对复杂。但是Win CE提供了丰富的API函数库,在EVC的编辑环境中可以使用API函数来实现嵌入式系统控制器和无线数传模块的通信。具体过程是首先对串口进行初始化,其中包括使用CreateFile函数打开存在且没有被占用的串口资源,设置设备的属性例如波特率,数据位数,校验方式等。然后设置串口的读写时间,指定端口监测的事件集。在串口的读写过程中,因为写是可以控制的,而读的时候无法确定数据什么时候能收到,所以可以在程序的主线程中写数据,同时创建一个辅助线程专门用来读数据,当有数据需要发送时,使用WriteFile函数向已打开的串口写需要发送数据。而在辅助线程中,用WaitCommEvent来检测线路状态,当检测到收到一个字符的事件发生时调用ReadFile函数对串口进行读操作。读取数据后,为了触发事件响应以完成数据处理,可以在辅助线程中使用PostMessageBox函数向应用程序主窗体类邮递一个自定义消息,这样就可以在主线程中完成消息响应过程。  值得注意的是Win CE操作系统是一种UNICODE环境它只支持UNICODE的应用程序和控件,这也是为什么同样是32位机,具有基本类似的API函数,很多在Windows下能运行的控件或类在WINCE环境中无法正常工作的原因。所以在进行串口数据发送的时候需要把数据由UNICODE字符串转换为ANSI字符串,可以使用API函数,WideCharToMulitByte进行转换。  另外WINCE操作系统中不支持重叠I/O模式,所以在打开串口的时候需要选择以非重叠I/O方式打开,但是在同步方式下如果有一个通讯API在操作,另一个会被阻塞,直到上一个操作完成,所以当读数据的线程停留在WaitCommEvent的时候,WritFile就无法继续执行。为了解决此问题需要在调用WritFile函数之前使用TerminateThread函数先终止写线程,在发送完数据后再次创建同样的写线程用来等待数据接收事件。因为无线数传模块就是被设计成使用半双工方式进行数据传输的,所以使用非重叠方式是合理的。  系统进行警报发放时,由控制中心向终端发送数据包,数据包被定义为如下格式:  终端接收到数据头后,判断设备地址是否为本机地址,如果是则读取命令,根据命令字,发送不同的警报,如果地址不是本机地址则丢弃数据包。  Windows CE中声音播放程序的实现  系统的在检测时需要系统在终端进行声音播放和录入,再通过无线网络把录入的声音文件传送到控制中心。在应用程序中,声音的录入和播放使用波形音频编程接口来实现,通过这个接口可以对音频以脉冲编码调制(pulse code modulation,PCM)的方式进行压缩编码,并能使应用程序精确地控制波形音频的输入输出设备。  声音的录制过程如下:  1. 使用waveInOpen函数打开一个音频输入设备;  2. 使用WAVEHDR结构体分配录制声音时所需的内存,然后调用waveInPrepareHeader函数准备一个音频输入的数据头;  3. 调用waveInAddBuff函数为音频输入设备准备一个缓存数据块;  4. 使用waveInStart函数开始录制音频;  5. 录音结束时使用waveIn UnprepareHeader函数释放音频输入缓存区,并调用waveInClose函数关闭音频设备。  音频的播放过程如下:  1. 使用waveOutOpen函数打开一个音频输出设备;  2. 使用WAVEHDR结构体分配录制声音时所需的内存,然后调用waveOutPrepareHeader函数准备一个音频输出的数据头;  3. 使用waveOutWrite函数发送数据块到音频输出设备;  4. 录音结束时使用waveIn UnprepareHeader函数释放音频输入缓存区,并调用waveInClose函数关闭音频设备。  相对来说音频地录入比输出更为复杂一些。将模拟的(连续的)声音波形数字元化(离散化)的过程,主要包括采样和量化两个方面。数字音频的质量也主要取决于:采样频率和量化位数这两个重要参数。此外,声道的数目、相应的音频设备也是影响音频质量的原因。在PCM语音压缩编码中:  数据量=(采样频率×量化位数)/8(字节数) ×声道数目  应用程序录制的Wave文件中也同样有几个重要的参数来定义声音数据格式,它们是:采样方式、采样位数、采样频率和声道数。一般采样频率有8kHz、11kHz、22kHz和44kHz,采样频率越高,声音的保真性就越好,但同时也就使音频数据的存储量增大了。在本设计中采集声音只是为了检测设备的运行情况,所以对声音的质量要求不是很高,同时为了减轻网络负担,提高检测速度,设定数据格式为8kHz采样频率、8位量化、单声道。通过实验发现,采样得到音质有所下降,但是可以十分清晰地分辨警报类型的。假设我们测试设备的时间为三秒钟,那么数据量为8000×8÷8×1×3=24KB,在串行口波特率为76800bps时,加上数据包的包头、包长,大约在3~4秒的时间能完成一个终端设备的检测。 结语  本设计完成了对遥控遥测警报系统中心控制器的硬件结构的设计,并在嵌入式硬件平台的基础上,开发了控制中心和终端的应用程序。新的系统更好的满足了用户的,同时控制器体积变小了,可靠性增加了。不过,由于系统中无线通信模块无法达到太高的波特率,导致系统检测时间比较长,在这一点有待进一步改进。    参考文献:  1 Nick. Grattan and Marshall. Brain.Windows CE 3.0 Application Programming, Prentice Hall PTR, 2000.  2 Eric J.Braude. Soflt Engineering An Object-oriented Perspective. John Wiley&Sans Inc. 2001  3 周毓林 宁杨 陆贵强 付林林.Windows CE. Net 内核制定及应用开发.电子工业出版社,2005  4 田东风.Windows CE应用程序设计. 机械工业出版社.2003年  5 龚建伟. Visual C++/Turbo C串口通信编程实践.电子工业出版社,2004

    时间:2019-03-07 关键词: 系统 windowsce 警报 WinCE

  • Windows Embedded Compact 7

    随着软件和硬件的不断发展,计算平台尺寸越变越小,性能却日益提高。各种嵌入式安装都已通过因特网、云段服务、RFIS和其它技术走进我们的生活,嵌入式计算已晶无所不在。与此同时,人们对气候变化的担心使节能受到越来越多的重视,因此低功耗、高效率的应用编程为IT专业人士的目标。为实现这一目标,他们改进硬件制造工艺,采用相应软件控制、管理系统;因此将需要越来越多的平台将二者整合起来以提供最优越的性能。研华在研发工业控制安装领域拥有者25年的资深经验,已经从工业计算领域跨至软件领域,设计开发了一系列产品,如固件、驱动、软件API、并创建了自己的品牌 程序。更为重要的是,研华还将 Microsoft Windows Embedded OS 集成到了平台内,允许工业控制领域的客户端开发应用,在研华提供的卓越系统性能撒和那个提升平台的稳定性和性能。研华的软件团队仍在Microsoft OS产品上继续开发各种API和工具,以求研华平台产品提供更多增值服务,进而提升产品竞争力。  研华已与Microsoft合作多年,已在2011年4月将作为新一代Microsoft实时OS-WinCE家族一员的WindowsEmbedded 7引进至新产品中。 这为客户提供了更多选项,实现更多功能和更高的性能,支持更加快速稳定的硬件平台,为客户开发的系统提供了附加价值,并为客户提供了更多竞争优势。  Windows Embedded 7  Windows Embedded 7(WEC 7)由Windows Embedded CE发展而来。Compact 7是一款组件化的实时操作系统,用于各种小型工业应用。  过去的15年里, 都需依赖于高度可靠的操作系统将其应用带上市场。但是现在WEC 7 采用了改进版内核,能够为关键应用性能和设备可用性提供新支持。 开发人员可使用熟悉的工具在熟悉的环境下继续拧开发,并可访问全球Windows Embedded合作伙伴社区帮助合作伙伴开发新一代设备。  WEC 7引进了新技术,可用于设备与用户界面脱离的应用。WEC 7提供了更新版声明性UI架构,允许开发人员和设计人员共同合同重复进行UI开发,这一特性是前所未有的。新版嵌入式IE增加了客制化浏览器UI、缩略图和书签管理支持,并且其新型数字生活网络联盟(DLNA)够创造新的娱乐体验打下了基础。

    时间:2019-03-06 关键词: Windows embedded compact WinCE

  • Windows xp嵌入系统慨述(五)

    三、网络连接方面的支持这些支持包括下面列出的项目:  :   802.11: 这是一种无线局域网技术使用的协议。  802.1X: 802.1X 可以对无线局域网和以太网提供安全可靠的访问,对于有线和无线网络都可以使用。  Universal and Play (UPnP): 统一即插即用,这时一个新的协议,主要是用于消费类设备和网络之间的连接。该协议的底层仍然建立在TCP/IP 协议之上。简言之,就是将、洗衣机、电视机,音响设备,空调等……,连接到上的协议。其最大的优势是,虽然实现了由网络控制消费类设备的功能,但并不需要改动现有的物理结构(例如增加布线等)。这样,你在下班的路上,就可以先打开家里的空调、厨房设备,等你到家,饭菜烧好,空调温度正合适!美吧?  PPP over (PPPoE): 支持PPPoE   Extensible Authentication Protocol over (EAPOE): 这项用于增强无线局域网的安全性能,允许服务器将其配置在以太网和无线局域网上。  Remote Protocol (RDP): 远程桌面协议。利用这个协议,可以实现远程桌面控制。只要是基于windows 系统的用户,无论LAN、WAN,也无论用拨号上网、, DSL, 或 VPN都可以用该协议工作。远程桌面协议的5.1版本,还包括更高的颜色支持模式、本地打印支持以及本地音频回放功能。     location awareness: 这是所谓的网络位置识别功能,可以探测网络系统的相关信息。  Enhanced peer-to-peer : 增强的对等网支持。   Connection Sharing (ICS): 支持Internet连接共享,即允许多个设备共享单一的Internet连接。   Wireless LAN : 使用802.1x标准,支持无线局域网,上面已经有相关介绍。   : 支持最新的协议。  即时通讯与协同作业方面的支持:  3.1: 这个用来支持电话应用程序接口。  Microsoft Queuing (MSMQ) : 这时消息队列支持,利用这一功能可以向Internet或者intranet(企业内部互联网络)发送消息到一个消息队列中,它种采用ULR格式作为消息的名字,例如 DIRECT=://sitename/msmq/queuename.  Outlook   Windows Messenger   NetMeeting  上面的三项就不必说了吧?  本地管理和远程管理:这主要包含下面几个管理工具:  可以使用现有的管理工具:例如管理控制台工具(MMC)、系统管理服务器(SMS)等等。  客户活动目录:关于活动目录的介绍已经太多,你只要知道也可以支持活动目录就行了。  远程桌面与终端服务:这原也是桌面计算机具备的功能,在嵌入式系统中,也提供了使用远程管理服务的用户图形界面。  漫游用户的的轮廓文件:这主要用脱机文件夹来改进漫游用户的访问,并方便协同工作。  改进的组策略支持。

    时间:2019-03-06 关键词: Windows 系统 xp WinCE

  • 研华发布用于3.5"SBC和SOM-ETX平台的WindowsCE6.0解决方案

    研华发布用于3.5"SBC和SOM-ETX平台的WindowsCE6.0解决方案

    研华发布用于 AMD Geode LX800 3.5" SBC PCM-9375 和 Intel? Pentium? M SOM-ETX SOM-4481 嵌入式平台的新版 Windows? CE 6.0 嵌入式操作系统和板卡支持包 (BSP)。研华 Windows CE 即用平台为系统整合商 (SI) 提供了一套完整的组件,用来加快样品、应用程序开发和 Windows CE 应用演示的进度。 研华嵌入式电脑事业群副总裁 Jack Huang 指出,“作为 Microsoft 的 VAP 和金牌合作伙伴,我们很高兴推出新版 Windows CE 6.0 嵌入式操作系统,”“Windows CE 6.0 拥有全新设计的内核,最多支持 32,000 个并发处理,每个处理的虚拟内存访问最大可达 2 GB。此外,.NET Compact Framework v2.0/SP1 还提供更多的组件和 API,可为应用开发人员提供最大程度的支持。这样研华和我们的 SI 客户就可以设计和推出各种最新增值解决方案。研华将充分利用 Windows CE 6.0 的全面优势增强我们的硬件平台功能,以帮助我们的客户设计更加稳定的兼容产品。很快将会有越来越多的平台使用 Windows CE 6.0。” 研华最新推出在3.5" 饼干 SBC PCM-9375 和 SOM-ETX SOM-4481 上运行的 Windows Embedded CE 6.0。PCM-9375 是一款带有丰富嵌入式功能的最新 3.5" 饼干 SBC。最新的 AMD Geode? LX 800@0.9W 处理器将高性能与低功耗完美的结合在一起,为 32 位嵌入式应用提供了最佳解决方案。SOM-4481 支持 Intel Pentium M 和 Celeron M 处理器,是一款功能强大的无风扇 SOM-ETX CPU 模块,适合大部分需要高性能 CPU 处理和图形支持的嵌入式应用。

    时间:2019-03-05 关键词: quot 平台 解决方案 研华 WinCE

  • Windows Embedded Compact 7无限连接

    前不久微软发布了Windows Embedded 7的CTP社区预览版,让人眼前一亮,它提供了相应的工具和技术,帮助们构建出丰富生动的设备,提高生产效率,拥有应用程序和Windows世界的互联体验,达到完美的无缝连接。 Windows Embedded 7是一个具有战略意义的操作系统,它拥有windows 7的特点,支持虚拟内存机制、按需分配内存和内存映射文件;是抢先式多任务并具有强大通信能力的嵌入式操作系统,现阶段看来,它应该是微软专门为信息设备、移动应用、消费类电子产品、嵌入式应用等非PC领域而设计的。 提到Windows Embedded 7,首先会想到Windows 7,是的,无缝连接到Microsoft Windows 7操作系统,是它的一大特色。借助集成的Windows Stage,可以简化设备管理,完全支持USB、蓝牙,WiFi等,让使用者可以充分感受到无线宽频的便利;而且Windows Stage不需要用安装软件来实现,只要从Windows自动更新里,获得最新的驱动程序就可以了。 不过,随着PC、服务器和通信需求的日渐增加,很多们意识到如果要成功,必须在降低开发时间和费用的同时,给市场提供更高级、更有特色的产品。 Windows Embedded Compact 7可能对于这些们而言是最合适的选择,因为它可以提供灵活的、可靠的设计性能,与Windows 7和Web应用程序无缝的集成,支持全新的嵌入式专业设备开发。 比如,可以利用MTP支持同步数据和媒体,也就是支持对数字音频播放器的音乐文件,在移动媒体播放器上的电影文件的传输;算是Windows Media框架的一部分,能够用于同步传输媒体文件;如果专业嵌入式设备加上了这一特点,在功能上就可以满足很多用户需求,从而提高市场占有率。 使用Windows Embedded Compact 7的连接性,可以让OEM们顺应嵌入式市场的潮流: 日益增加的连接组件使用:OEM们可以通过Windows Embedded Compact 7的无缝集成工具(比如:Embedded Visual C++等),加快开发的商业嵌入式平台和编程模型,在很大程度上节省了时间和费用。 连接设备趋于规范化发展:支持不同设备一起工作、共享信息的网络、通信服务互操作性,已经成为OEM们之间的标准设计需求。Windows Embedded Compact 7本身就是这么一个嵌入式平台,可以方便地根据需要进行配置,以无缝连接到设计、PC和服务器上,达到增值服务。 更关注设备连接特色:Windows Embedded Compact 7让OEM们可以集中精力在客户的设备设计上,让他们集中时间开发满足特定需要的应用程序和服务。比如:丰富的网络和标准的安全协议支持;或者通过Expression Blend,大家可以制作精美复杂的用户界面,比如:在美工板上绘制形状、路径和控件,然后修改其外观,可以导入图像、视频和声音等。 嵌入式连接也进化:过去,工程师具有丰富的专用系统设计经验;现在,OEM正在利用Windows Embedded Compact 7开发和工具的智慧结晶,减少投放入市场的时间和费用。比如,OEM想做商务方面的嵌入式设备,那么只需无缝连接Office查看器,就可以指出通向Office文档的捷径;而且同步协议AcTIveSync,能方便地在PC与PPC或智能手机之间方便地进行数据同步。 Windows Embedded Compact 7改变了人们与设备的交互方式,它让大家可以创建出一种能无缝连接 PC、媒体以及在线内容和数据的专业设备,可靠性和灵活扩展的能力,让很多可能变为现实。

    时间:2019-03-05 关键词: Windows embedded compact WinCE

  • 总结:微软Windows系统的七类安全漏洞

    目前微软系列产品中,危害计算机安全的漏洞主要有7个: 一、LSASS相关漏洞是本地安全系统服务中的缓冲区溢出漏洞,5月份的“震荡波”病毒正是利用此漏洞造成了互联网严重堵塞。 二、RPC接口相关漏洞首先它会在互联网上发送攻击包,造成企业局域网瘫痪,电脑系统崩溃等情况。去年爆发的“冲击波”病毒正是利用了此漏洞进行破坏,造成了全球上千万台计算机瘫痪,无数企业受到损失。 三、IE浏览器漏洞能够使得用户的信息泄露,比如用户在互联网通过网页填写资料,如果黑客利用这个漏洞很容易窃取用户个人隐私。 四、URL处理漏洞,此漏洞给恶意网页留下了后门,用户在浏览某些美女图片网站过后,浏览器主页有可能被改或者是造成无法访问注册表等情况。 五、URL规范漏洞,一些通过即时通讯工具传播的病毒,比如当QQ聊天栏内出现陌生人发的一条链接,如果点击过后很容易中木马病毒。 六、FTP溢出系列漏洞主要针对企业服务器造成破坏,前段时间很多国内信息安全防范不到位的网站被黑,目前黑客攻击无处不在,企业一定要打好补丁。 七、GDI+漏洞可以使电子图片成为病毒!用户在点击网页上的美女图片、小动物、甚至是通过邮件发来的好友图片都有可能感染各种病毒。 根据消息称,目前国内有一些盗版XP用户在进行了操作系统升级过后,计算机出现比如:死机,蓝屏,进不了系统,提示请激活还有30天等情况出现。据专家分析,这些现象不是病毒爆发引起的。针对部分用户更新了微软补丁出现机器倒计时30秒的情况,反病毒专家再次强调,要防范类似于冲击波、震荡波这样的病毒一定要做好操作系统补丁升级工作,目前微软针对系统安全类的补丁是开放的进行升级。 因此,目前要防范病毒破坏最好在已安装的操作系统上打上这些补丁。

    时间:2019-03-05 关键词: Windows 微软 系统 安全漏洞 WinCE

  • Windows xp嵌入系统慨述(二)

    一、高度的可靠性  1. 文件保护:Windows xp所设计的文件保护机制,主要是在安装应用程序的时候,避免覆盖掉系统的核心文件。并设计有相关的恢复机制,万一出现有用文件被覆盖的问题,可以利用这个恢复机制,将覆盖掉的文件复原为正确的版本。  2. 设备驱动程序回滚( rollback):  在安装新版本的设备驱动程序之后,如果发现工作不正常,可以利用这种“回滚”功能,退回到老的版本中去(当然你必须保证老的驱动程序是没有问题的)。这可能会降低一些性能,但绝对要比废掉这个设备强的多。  3. 设备保护机制:  保护设备机制的原理是利用一个数据库,里面列出了在Windows xp下工作有缺陷的设备列表,利用这个列表来核对你准备加入到目前系统中设备,看是否正好是“黑名单”中的哪些有缺陷的设备,如果是的话,可以给出消息提示,并指引你连接到对应的WEB页面获得更多的相关信息。  4. Windows Update:  一看这个功能的名字,我想就不用再多说什么了。

    时间:2019-03-05 关键词: Windows 系统 xp WinCE

  • 兼容Windows 7的Libero集成式设计环境

      爱特公司(Actel Corporation)宣布推出兼容Windows® 7的 Libero®集成式设计环境(IDE) v9.0 Service Pack 1和Service Pack 2。这款完备的软件工具套件的最新版本为SmartFusionTM智能混合信号FPGA和RTAX-DSP FPGA提供了崭新的重要功能,并增加了对新的操作系统的支持,以便在最新的个人电脑上进行Actel FPGA设计。  增强功能包括:  •加入32位和64位(x64) Windows® 7 操作系统以及x64 Vista 与 Windows 7 USB驱动器对FlashPro3 和 FlashPro4编程器的支持。而Libero IDE v9.0 SP1和SP 2还首次增加了Red Hat® Linux® OS支持,可配合SmartFusion FPGA设计。  •加强了SmartFusion器件功能,包括在FPGA逻辑资源加入时钟调理配置(fabric Clock Conditioning Configurator, Fab_CCC)和在编程器件库中加入SmartFusion A2F500器件支持。Fab_CCC使得A2F500器件上拥有第二个PLL/CCC资源。  •支持RTAX4000D 400万门耐辐射航天DSP器件的编程,在通过检验的可靠的工业标准化RTAX-S产品系列中增加了嵌入式耐辐射乘法累加模块。  爱特公司设计解决方案市场和培训高级经理 Wendy Lockhart称:“爱特公司继续提供运行于最新流行的个人电脑和操作系统上的具有竞争优势的工具,使客户能够升级到最新的PC和Windows 7操作系统后,能够确信Actel FPGA开发工具与之完全兼容。最新版本的Libero IDE将为FPGA设计人员提供易于使用的工具以提升设计性能并使之能充分利用半导体器件的各种特性,以更快地达成自己的设计目标。”  价格和供货  Libero IDE可直接从爱特公司网站下载并安装,Service Pack 2包含所有Service Pack 1的功能,用户使用前请详细阅读SP1与SP2的用户指南。支持Windows 7、XP或Vista 的Actel Libero Gold(金)版本可免费取得;Libero IDE Platinum(白金)版本的售价则为每用户 (per seat) 2,495美元,另外也提供单机版(node-locked)和浮动版(floating) 授权。所有版本都是以一年期可续约授权方式供应。

    时间:2019-03-05 关键词: Windows 环境 libero WinCE

  • 基于WindowsCE物流车载终端设计

    物流在现代社会中正扮演着越来越重要的角色。但是,与国外技术密集型的物流行业相比,国内物流行业在信息化、智能化程度上还存在着较大差距。鉴于这样一种状况,本文提出了一个基于WindowsCE平台的物流车载终端设计方案。该物流车载终端以阿尔泰ART270开发板为硬件平台,在嵌入式操作系统Windows CE上实现的功能有:电子地图,实现地图4级缩放、平移、归中功能;无线通信,实现终端与控制中心的GPRS无线通信;GPS定位,定位车载终端当前的位置;语音提示,提供更好的人机交互功能。1 软硬件平台简介本车载终端以ART270板为硬件平台。ART270是北京阿尔泰科技推出的一款基于Intel XScale PXA270处理器的高端ARM开发平台,性能高,功耗低,接口丰富,功能强大,适合作为语音系统、指纹识别、PDA终端、车载GPS导航、无线上网、数码媒体播放、工业控制等设备的开发参考,也是高等院校高级嵌入式软硬件开发教学的首选平台。PXA270是Intel于2004年4月发布的XScale处理器家族的升级产品,最高主频达624MHz。该款芯片把X86架构奔腾4系列上的多媒体扩展功能引入到了Xscale芯片组的产品线中,用户通过这个无线多媒体扩展技术(MMX)可以在掌上设备上播放高质量的视频和玩三维游戏。同时,PXA270还加入了Intel SpeedStep动态电源管理技术,在保证CPU性能的情况下,最大限度地降低移动设备功耗。PXA270处理器已经成为高端移动设备中最受欢迎的处理器之一。ART270采用240Pin核心板加底板的配置,使得调试和应用更加方便,使用户有更灵活的扩展方式。核心板上集成PXA270 嵌入处理器、64MB SDRAM、32M Nor Flash、总线驱动、电源管理芯片等,结构紧凑;底板上提供CPLD,LCD接口,AC97音频输入输出接口,100M网口,USB Host/Device接口,串口,JTAG接口,VGA接口,外扩高精度时钟芯片等,另外,一个扩展总线接口使用户可以根据自己的需要自由扩展。本设计方案采用WindowsCE作为软件平台。WindowsCE是一种针对小容量、移动式、智能化设备的多任务、抢占式、模块化实时嵌入式操作系统。Windows CE具有与桌面Windows几乎完全兼容的API接口,为了配合WindowsCE上的应用程序开发,微软公司推出了eMbedded Visual C++(简称 “eVC”)集成开发环境。本系统采用的是eVC 4.O。2 硬件模块2.1 GPS模块阿尔泰GPS 扩展模块是一种种低功耗GPS接收机模块。模块板上集成天宝新型lassen IQ 12路低功耗快速定位GPS接收模块,性能良好; 采用RS232串口与设备联接,与GPS通信的各种协议相兼容,方便用于研发; 外接电源采用常见的5V电源,3V锂电池作为lassen IQ模块的后备电源,存储星历数据; 可接3.3V有源天线,扩展板配有紧凑型磁性封装天线,这种天线适用灵活、可动安装。模块集成一个RS232串口,可通过跳线配置为不同的lassen IQ输出端口,使用不同的通信协议; 在工作状态下,GPS接收机的功耗为96mW。使用不同的协议可实现1Hz更新速率; 三种传输协议:TSIP、TAIP(天宝标准界面协议)和NMEA0183协议;三种协议可灵活通过软件或跳线配置。在本设计中使用了此模块,较好的实现了GPS定位分析的效果。GPS性能:· 接收机:L1(1575.42MHz),C/A码,12通道,连续追踪,32位CPU· 更新率:TISP 1Hz NMEA 1Hz· 精度:水平 <5米(50%),<8米 (90%) 垂直精度 <10米(50%) ,<16米(90%)· 操作限制:高度<18000米或者速度<515米/秒· 捕获时间:再次捕获:<2秒(90%)· 冷启动/温启动/热启动/分别是15分/38秒/10秒· 动态范围:加速度 4g/39.2米/秒22.2 GPRS模块阿尔泰GPRS模块支持三频GSM/GPRS 900/ 1800/ 1900 MHz,采用SIM300GSM/GPRS模块,提供标准的RS-232接口,工业标准设计,使其能以小尺寸和低功耗实现语音、SMS、数据和传真信息的高速传输,可直接与上位机设备透明通讯,在PC机上用AT命令通过串口对它进行设置,是小体积即插即用模块中完善的三频GSM/GPRS 解决方案,能应用于许多方面本车载终端采用GPRS Modem与控制中心进行无线数据通信,对GPRS Modem的控制和读写通过串口进行。由于与控制中心交互的数据种类较多,因此定义了相应的应用层数据包格式。数据包的所有字段均采用单字节ASCII编码且为固定长度。在发送端,数值型字段需要在发送前格式化为定长字符串再封装到数据包中;在接收端,需要将数据包中的格式化字符串还原为数值型常量。数值型字段不足部分以字符“O”为前导字符进行填充;字符型字段不足部分以空格(SPACE,0x20)为前导字符填充。字符串型字段的长度不包括字符串结尾的NULL字符(在C语言中为0x00)。所有采用UNICODE编码的字符数据在封装到数据包中之前必须进行转换。定义的数据包主要有以下几类:客户端位置更新数据包;客户端接件信息数据包;客户端送达签收数据包;服务器新任务数据包;客户端确认数据包;服务器确认数据包;客户端车辆故障数据包;客户端道路堵塞数据包。为了能够正确解析数据包中的数据,所有数据包都具有相同的包头(head),即数据包类型(packet type),时间戳标记(time stamp)、数据包顺序号(packet sequencenumber)3个字段。当接收到一个数据包之后,根据包头中的类型字段就能判断该数据包主体部分的长度,由此即可正确解析出包中的内容。包头之后是数据包主体(body)部分,不同数据包类型有着不同的字段和长度。上述8种定义类型之外的数据包均为未定义类型,应当被丢弃。类型为NTSK、TMLF、RCNG的数据包需要接收端的确认;而RECV、SEND、UPDT、CACK、SACK这5种类型的数据包不需要确认。GPRS Modem的数据传输与接收是通过串口编程来实现的。Windows CE平台上的串口编程依赖于与文件相关的API接口:CreateFile()打开串口,ReadFile()从串口读取数据,WriteFile()向串口写入数据。由于网络数据包的到来是一个异步过程,因此还需要处理串口的异步事件:GetCommMask()取得串口已经设置的事件,setCom-mMask()设置串口事件集,WaitCommEvent()等待预先设置的串口事件集中的某一事件发生。产品特点:· 采用Simcom公司高性能工业级GSM/GPRS模块SIM 300· 带有音频接口、电话线接口、RS232接口、SIM卡接口· 三频 900/ 1800/ 1900 MHz· GPRS (class 10/8) 标准· GPRS (class B)· 满足GSM(2/2+)标准Class 4(2W@850/900MHz)Class 1 (1W@1800/1900MHz)· 语音、SMS、数据和传真信息的高速传输· 支持RS232/RS485透明短信传输功能· 通过AT命令控制(GSM07.07,07.05和增强AT命令)· 支持电路交换(CSD)功能,适合于点对点数据通信· 数据终端永远在线· 多种工作模式选择,使用方便、灵活2.3语音提示模块考虑到配送人员在驾驶车辆的过程中不便于时刻留意系统中任务的变化情况,因此在车载终端上加入了语音提示模块。Windows CE提供了音频API接口:BOOL WINAPI PlaySound(LPCSTR pszSound,HMOD-ULE hmod,DWORDfdwSound);该函数的第1个参数表示要播放的音频文件,第2个参数设置为NULL,第3个参数指定影响声音播放的一些标志。因此,语音模块的实现就是在不同的情况下播放不同的提示声音。3 结论基于阿尔泰公司的ART270开发板的车载物流终端集成了电子地图、GPS定位、GPRS无线通信、语音提示等功能。由于采用栅格图像来实现电子地图,因此通过将小范围内的地理经纬度坐标简化为线性坐标模型,可成功地在栅格图像上实现车辆定位实时监控的功能。

    时间:2019-03-04 关键词: 终端 windowsce 物流 WinCE

  • 互联性激发Windows Embedded Server潜能

    在过去的一个月中,Windows Embedded团队在网上发布了多篇有关Windows Embedded 在安全、医疗、工业自动化 和 电信等行业做出贡献的文章。如果你还没有阅读这些文章,Windows Embedded团队为你提供了这样一个机会,可以深入了解你未曾想到的Windows Embedded会涉足的有意思场景 ,例如如何确保娱乐场所的安全以及控制工厂厂区内的设备等。 服务器设备市场拥有包括上述领域在内的广泛应用场景,他们因其安装快速、维护简便以及可靠性高而日益受到青睐。服务器设备通常会连同操作系统(如Windows Embedded )、数据库、网络接入等根据客户需求或者标准模式来打包销售。 据VDC Research的研究结果显示,Windows Embedded 等平台面临着巨大的市场发展机遇。VDC预计在2015年前,全球每年生产的连接设备将超过100亿台,因此,必须建立一个能够支持实时数据存储和分析的网络,以更好地满足消费者和企业对服务器和数据库的互联性需求。这正是Windows Embedded Server的市场切入点。 VDC在其最新发布的报告中指出:“尽管互联性在工厂自动化监控或电信基础设施等应用中已经普遍存在,但是在众多的嵌入式设备中,拥有支持此类最新功能的内部资源才刚刚开始组建。随着越来越多的设备要求必须拥有这些全新特性,很多工程企业将被迫重新评估是采用‘自建还是购买’的模式来应对这类需求。” 通过Scalable Nodes (可扩展边缘节点,缩写为SEN),Windows Embedded Server等平台带来了一整套全新的可能性。SEN是一种全新的硬件平台,它将“设备的应用密度与嵌入式计算机的灵活性融为一体,从而可以用于包括控制应用在内的各种关键业务应用,并迁移至云服务。”尽管将传统的企业基础设施迁移至SEN平台可能是一项巨大的挑战,但是,毫无疑问,Windows Embedded Server的端到端一体化软件框架将这一切变得更简单。 同时,还必须确保产品能够很快推向市场,这也是这些行业开发商经常面临的压力。VDC指出,由于技术规范的变动、人力缺乏或者不切实际的规划,目前有超过42%的在开发项目延迟完工。为此,Windows Embedded Server有助于最大限度降低实施过程中的风险,并可以帮助IT组织机构开发应用,或者将各种可获取的应用生态系统进行集成。在这个过程中,遵守时间表是至关重要的。 随着我们迈向连接性更强的世界,Windows Embedded Serve将带来无限的可能性,如需了解这方面更多的相关信息,请浏览VDC Research有关服务器设备的白皮书。

    时间:2019-03-01 关键词: Windows 互联 embedded 潜能 WinCE

  • PGI编译器使天气预报模型运行在Windows Server平台上

    意法半导体全资子公司Portland Group(PGI)日前宣布,国家气候研究中心利用PGI的高性能64位并行编译器和工具,成功地将其广泛使用的天气研究预报模型(WRF)移植到Microsoft Windows Compute Cluster 2003操作平台。近日一个64位的WRF原型将在2006年国际超级计算机大会微软上向观众展出。 WRF项目是一个由几个公司组织联合成立的合作项目,合作目标是研发下一代地区天气预报模型以及业务数值天气预报和气候研究所需的数据同化系统。到今天,WRF开发已有几年,得到了各种版本的操作系统和计算机平台的支持。在美国国家气象局、美国空军气象局以及几家其它国家的天气预报中心,WRF业务实施测试已进入冲刺阶段。WRF模型免费提供给气候科学界,目前已有3000余名来自全球各种研究机构、大学和商业的注册用户。 国家气候研究中心(NCAR)、微软、AMD和PGI在2005年11月的国际超级计算机大会上经过磋商后,决定开始执行一项将WRF移植到Windows 2003 x64集群器的计划。根据这项计划,联盟在科罗拉多州的国家气候研究中心利用Portland Group的PGI Workstation 6.1 编译器和工具开发出一个WRF的原型,并向公众展示一个在基于AMD Opteron处理器的集群系统上并行运行的WRF模型。WRF模型V2.1.2软件发行版由大约360,000行源代码组成。如果利用PGI编译器和工具在Windows Compute Cluster 2003平台上建立一个业务版WRF,需要修改的源代码数量不超过750行。 “总之,虽然有些问题还依然存在,但是,看到只需对WRF结构机制进行数量极为有限的修改,PGI编译器和Windows Compute Cluster Server 2003就能提供一个有利的移植环境,将现有的巨大的高性能计算机应用如WRF应用迁移到Microsoft Windows x64操作系统环境,” 国家气候研究中心WRF软件首席开发员John Michalakes表示。 “这是将多个重要的科研应用模型迁移到Microsoft Windows Server 2003 x64集群操作系统的过程中迈出的第一步” Portland Group总监 Douglas表示,“我们旨在于使客户能够无缝跨跃多个平台构建、维护、使用像WFR一样的科研应用模型。这次移植和演示证明了这种移植方法的相对简易性。” “科研应用正在向64位计算机世界发展,Portland Group在帮助NCAR将天气研究预报模型迁移到Windows Compute Cluster Server 2003平台上发挥重要作用,”微软公司高性能计算平台总监Kyril Faenov表示,“现在使用基于Windows工作站的研究实验室、商用天气预报公司和学术机构等NCAR合作者可以在高性能计算机的Windows Compute Cluster Server 2003操作系统下运行WRF应用程序。” “世界上很多性能最强大的计算机都以技术为核心。通过与PGI和Microsoft等合作伙伴联盟,我们现在利用处理器、操作系统和工具技术创造了一个性能强大的管理型平台,以解决日益复杂的问题,” AMD软件联盟副总裁Terri L. Hall表示。“AMD十分高兴能够协助WRF开发下一代地区天气预报模型。”

    时间:2019-03-01 关键词: 模型 编译器 天气预报 平台上 WinCE

  • 联发科将引发智能手机山寨潮

      据台湾媒体报道,联发科正在研发基于Windows 6.5的智能手机方案。  根据消息,联发科研发的智能手机方案,包含了2.75G手机芯片组MT6516、应用处理器(AP)、2.8寸QVGA电阻式触控屏幕、200万像素相机、、Wi-Fi、蓝牙等功能。   市场预计全功能主板价格,在90美元左右,而采用芯片组、应用处理器、、 WiFi、蓝牙的“实惠版”主板,价格更低只需大约60美元;并且这两个版本均包含了Windows 6.5授权金。  联发科的MTK手机,改写了中国乃至全球手机产业的格局,使得“山寨”成为商业和文化的双重现象,并在全球范围内产生了激烈的讨论。  据称,在联发科的智能手机方案预计能在2010年一季度推出。而基于该方案的手机出厂价,约在100美元左右。而目前市场中基于Windows 6.5智能手机价格,最低也会超过200美元。  此外,联发科此次联手微软,使得其智能手机方案问世之前,已经具备了摆脱“侵权”和“纯山寨”的可能,因此,当联发科向业界公布该消息后,国内品牌手机商和山寨商均大规模向联发科订货,而这一消息也导致业界对联发科明年业绩的预期,再上台阶。 联发科在MTK手机方案上取得的成功,让业界对联发科将在3G终端领域内的动作,有所期待,而联发科以此为契机,也在积极和上游软件和系统厂商合作。在和微软合作的同时,联发科还和Google合作,成为Android平台的OMA(开放联盟)成员。尽管此次联发科推出的智能手机平台,尚停留在阶段,还无法突入3G领域,但联手微软、结缘Google的动作,已使得联发科下一步的走向非常明显。

    时间:2019-03-01 关键词: 山寨 智能手机 联发科将 WinCE

  • Windows xp嵌入系统慨述(一)

    究竟什么是嵌入式系统?很难用一两句话说透彻,但简单地看,手持式轻便设备、智能型移动设备、以及某些大型产品中(像汽车之类)附属的智能部分,都可以理解为嵌入式系统。嵌入式系统几乎都有体积和重量的限制,不能可像桌面计算机那样,让设计开发人员纵横驰骋、游刃有余地自由挥洒,必须高度重视可用空间、显示面积、电源消耗、工作环境、外观以及人体工学等一系列问题。而且要求无论是软件或是硬件,都应当具备“可剪裁”的特性。在后PC时代,嵌入式系统将是一个新兴的发展方向。因此,处处占尽先机的微软公司,不失时机地推出了自己的嵌入式操作系统。目前最新的版本是Windows xp,它继承了Windows 2000的内核,是一个可以达到工业级可靠性和安全性的内核。并可以支持多媒体、使用浏览器,进行电源管理以及支持众多的设备。那么,它有哪些新的特征和优势呢?  Windows xp整合进了当前()能够利用的新功能,例如,灵活的系统引导、储存选项以及设计相当完善的工具箱,这个工具箱也称为Windows Embedded Studio,利用这个工具箱,可以进行快速的开发或者配置丰富的应用程序。  Windows xp嵌入系统是基于32bit体系并使用了完善的内存保护模式,大大增强了运行的可靠性。下面分别予以介绍。 (待续)

    时间:2019-03-01 关键词: Windows 系统 xp WinCE

  • WINCE下s3c2410+cs8900 板子的网络问题解决

    CS8900+s3c2410上网掉线的问题及其解决办法自我理解是,系统在运行网络的时候,经常会去使能网络中断,而造成网络复位了找到 E:WINCE420WINCE420PLATFORMSMDK2410KERNELHALcfw.c找到 BOOL OEMInterruptEnable() 函数 里 case SYSINTR_ETHER:使网卡的初始化只出现一次,因为每次初始化以后,连接就会断掉加一个全局变量 Inited == FALSEcase SYSINTR_ETHER: // Ethernet on EINT9. if(Inited == FALSE) // edit by andy { s2410IOP->rEINTPEND = 0x200; s2410INT->rSRCPND = BIT_EINT8_23; // by shim if (s2410INT->rINTPND & BIT_EINT8_23) s2410INT->rINTPND = BIT_EINT8_23; Inited = TRUE; } s2410IOP->rEINTMASK &= ~0x200; s2410INT->rINTMSK &= ~BIT_EINT8_23; break;http://hi.baidu.com/fei_chen/blog/item/c961e933ff04d342ac4b5f3c.htmlWINCE下s3c2410+cs8900 板子的网络问题解决WINCE下网络PING通一会就断,解决方法根本原因 在于 中断处理服务中,把已经产生的 中断 标志 给 清除掉了!这样就丢失一次中断。因为原驱动里配置中断为上升沿触发!一次中断丢失,就导致不会再产生中断信号跳变,因为,只有在中断服务中读取了cs8900的 Interrupt status queue寄存器后,才会产生下一次中断!(见cs8900 datasheet 的 14页 中关于 INTRQ的解释!关于为什么 , 原驱动 会 把已经产生的 中断 标志 给 清除掉了! 你可以跟踪一下 cs8900驱动 中断服务中 开中断 关中断的过程! 解决cs8900+s3c2410+wince平台网络断线的问题! rEINTPEND = 0x200;s2410INT->rSRCPND = BIT_EINT8_23; // by shimif (s2410INT->rINTPND & BIT_EINT8_23)s2410INT->rINTPND = BIT_EINT8_23;Inited = TRUE;}s2410IOP->rEINTMASK &= ~0x200;s2410INT->rINTMSK &= ~BIT_EINT8_23;break;在 全局 定义: BOOL Inited = FALSE;

    时间:2018-12-19 关键词: s3c2410 cs8900 网络问题 WinCE

  • 在wince下如何禁止移动窗体

    给窗体设置扩展风格WS_EX_NODRAGModifyStyleEx(0, WS_EX_NODRAG, 0); 或者:把窗体的标题栏拿掉,实在想要就自己在窗体上绘一个假的。

    时间:2018-12-05 关键词: 窗体 WinCE

首页  上一页  1 2 3 4 5 6 7 8 9 10 下一页 尾页
发布文章

技术子站

更多

项目外包