QT Creator 创建QNX7.0工程

QT Creator 创建QNX7.0工程,第1张

QNX开发办需要开启SSH功能

包括QNX端 sshd的启动

<1>挂载可读写文件系统到/,并且在该文件系统中同样需要创建/etc/ssh等目录,镜像文件系统时只读的。

<2>配置启动镜像中的ssh_config文件,以及必须路径等。

<3>利用ssh_keygen在QNX中生成所需的key。主要如果/etc不可写,会出现错误。

由于仅仅使用qt creator作为调试环境,因此只编译qtbase模块即可。可

获得qtbase源码,并利用以下,编译得到qnx arm版本的qmake。

编译前需要source sdp7.0下的qnxsdp-env.sh,并将QCC 添加到系统path。编译器配置文件在态乎qtbase/mkspecs/首游common/qcc-base-qnx-armle-v7.conf文件中

需要配置QNX kid,包括编译器qcc 调试器ntoarmv7_gdb,qnx arm版本的qmake等路径的配置

配置QNX device,主要是ssh端口,者闭销用户名,密码等设置,并且test连接通过

如果test失败,是由于检测的对应的程序如kill uname等不在target的默认路径中,而是放在了/proc/boot中,此处需要修改镜像build文件中路径设定。

由于不使用qt库,因此去掉对gui 以及core的调用。

并且添加部署命令:

不等供应商了,第二家德国车企拿出了整车OS系统的具体自研计划。

2月23日,梅赛德斯-奔驰(简称奔驰)宣布基于域集中式电子电器架构(简称E/E)打造的自有整车 *** 作系统MB.OS将于2025年随MMA平台车型推向市场。

基于MB·OS,奔驰将与谷歌、英伟达、高德地图、腾讯云展开深度合作,提升信息娱乐系统体验,并致力于将L3级自动驾驶系统的应用速度从目前的60km/h提升至130km/h。

2019年大众集团宣布成立“Car.Software”打造“ VW.OS”时,行业曾认为VW.OS将是“干掉特斯拉”的开始。但三年过去,ID.系列车机黑屏、迪斯下课,VW.OS整体上车时间推后至2025年,都显示出传统车企在软件领域所面临的巨大挑战。

因此,当新造车势力已“玩了”三年域控和OS,中国主流车企搭载域控E/E架构和整车OS的车型将在2023年大面积落地时。针对MB.OS,奔驰高管被频繁追问的问题是:奔驰如何应对来自中国对手的竞争?

01

OS,智能汽车的基石技术

自有整车 *** 作系统,是卜尺维护未来车辆大脑和中枢神经系统数字主权的唯一途径。”奔驰首席执行官康林松2020年接受媒体采访时解释为何自研MB.OS。

2021年,上汽董事长陈虹因类似的“灵魂论“被推上舆论的风口浪尖,随后上汽软件公司零束科技发布了包含 *** 作系统在内的银河”智能汽车全栈解决方案1.0;

当年年底,应用华为HarmonyOS系统的问界M5上市后迅速成为黑马;

进入2023年,中国车企亮出的计划中几乎“人手一个”OS。

OS(Operating System *** 作系统)到底是什么?为何如此重要?

安卓和IOS是人们最为熟悉的OS,但准确来说都属于广义 *** 作系统:向下与SOC等硬件计算平台强相关,向上面向开发者,实现软硬解耦(鼠标可以点位置也能做画笔做薯、闪光灯可以拍照也可以做手电),支撑一系列系统服务开发的软件集合。

广义 *** 作系统绝大多数基于内核开发。如安卓基于Linux、IOS基于Unix,内核即狭义 *** 作系统,提供内存、文件、CPU调度、输入输出管理等基础功能。

来源:东吴证券研究所

过去,传统汽车是“用不上”广义OS的。

传统汽车采用分布式E/E架构,一个功能对应一个ECU(车载电脑),运行基础软件程序或简单的嵌入式实时OS(为特定应用设计的OS)。由此,一个功能独立拥有一套软硬件资源,保证功能的高可靠性。

但在智能汽车纯弊者时代,要同时进行智能驾驶+语音助手聊天+车辆“看到”前方洒水车工作自动关闭车窗时,需要对整车,而非单一功能的软硬件资源进行控制管理;

还要实现软硬解耦,以释放硬件的多种潜力(如摄像头可以用来ADAS,可以拍照修图上传朋友圈),支撑上层应用的开发——

集中式的E/E架构和广义OS应需而生,成为汽车智能化的基石技术。

02

汽车OS,中外站上同一条起跑线

在汽车广义 *** 作系统(简称汽车OS)这一基石技术领域,中国车企难得与奔驰等百年跨国车企站在了同一条起跑线上。

软硬强耦合的ECU时代,OEM可以直接从供应商处采购具备该功能的ECU,加入整车系统进行调试适配即可。

但当汽车电气化功能不断增多,要将“人种、文化、语言”都千差万别的ECU们整合到一套系统中变得非常困难,开发成本、周期指数级上升。

2003年,宝马、博世、大陆、奔驰等9家主机厂和一级供应商组成开放联盟,构建不同ECU软件间通信接口、握手协议、数据类型、配置功能等内容的标准化平台——AUTOSAR(Automotive Open System Architecture)汽车开放式系统架构。

作为AUTOSAR的核心会员,奔驰等国际车企自然比中国车企积累了更多的应用经验。

但AUTOSAR本质上是汽车OS的中间件部分,且面向分布式架构定义成型,导致其在功能上无法支持集中式E/E架构上,诸如整车OTA、智能驾驶等智能汽车的核心需求;

更重要的是,分而治之的系统架构涉及,对要跨系统,甚至跨域调用软硬件资源生产新功能的开发者来说非常困难,就难以形成新的应用和生态,实现从功能汽车到智能汽车的根本模式转型。

没有现成产品可用,只好自己干。

基于QNX、Linux、Android三大狭义OS(内核),特斯拉Version、大众VW.OS、奔驰MB.OS、华为鸿蒙OS、AliOS、蔚来NIO OS、小鹏Xmart OS这些独立开发的企业自有汽车OS陆续亮相问世。

这些OS力求在汽车上实现软硬解耦、原子化功能封装,为应用程序开发者提供易于开发的基础平台。

值得注意的是,鸿蒙OS目前处于Linux、LiteOS和鸿蒙微内核多核心并存的阶段,未来将回归鸿蒙微内核主体,真正从底层对标安卓的系统。

03

赛点一:从不同的深度开始

从技术起点来看,虽然都是基于内核进行定制化开发,但各家系统的定制化深度不同。

特斯拉、大众、奔驰走RAM型路线(随机存取存储器,Random Access Memory,可随时读写),在狭义OS之上进行诸如修改内核、硬件驱动、运行时环境、应用程序框架等深度的定制化开发;

蔚来、小鹏等大部分国内厂商走的则是ROM型路线(只读存储器,Read-Only Memory,只能读出无法写入信息),不涉及更改内核,一般只修改 *** 作系统自带的应用程序。

RAM模式下,对狭义OS的修改可使广义OS更适合汽车场景特征,带来更多的灵活性,覆盖兼容更广泛的车辆内部。

例如VW.OS可运行多个底层系统(如Linux、QNX、Vxworks),并最终支撑12个品牌的车型;

MB.OS在安全性较高的部分基于QNX开发,Linux负责信息娱乐系统。

“(深度上,)MB.OS针对如传感器、发动机等硬件有基础架构;软件基础层则有如安全诊断等基础功能;中间件层对AUTOSAR有应用和改进升级;应用层则通过容器技术帮助开发者实现软件复用;连接层则确保MB.OS能够快速便捷地与外部的不同内容实现连接;

(广度上,)MB.OS涵盖了从芯片到云端的技术堆栈,全面打通信息娱乐、自动驾驶、车身与舒适、行驶与充电的整车车辆功能。”奔驰董事会成员及首席技术官,负责研发和采购的薛夫铭向《电动汽车观察家》表示。

薛夫铭(Markus Schäfer)梅赛德斯-奔驰集团股份公司董事会成员及首席技术官,负责研发和采购

相比之下,ROM模式是在底层 *** 作系统之上的再开发,适用边界和软硬解耦程度,都会在一定程度上受限。

例如Xmart OS在小鹏P7上覆盖智能舱、驾两域,整车控制域和中央网关还未涉及;

NIO OS则无法在蔚来两代平台上迭代通用,NT 1.0上运行Aspen·白杨,NT 2.0运行Banyan·榕。蔚来将对Aspen系统维护15年,带来500人规模的软件团队成本。

从RAM模式出发的汽车OS将具有更强的兼容性和灵活性,为车辆提供可持续成长的环境。

如薛夫铭所说,基于MB.OS ,奔驰MMA平台的每个域中,“会不断搭载最先进的芯片技术来实现超级运算能力,通过超高带宽和超低时延支持快速计算,并且确保能耗保持在最低的水平。特别是在信息娱乐和自动驾驶域。”

04

赛点二:谁先量产谁先迭代

从技术积累逻辑来看,汽车OS和整车 *** 稳、NVH并没有区别,仍是一个高度依赖实际量产后海量真实场景验证,不断迭代完善的过程。

不过这次,中国车企更早进入“实战”。

截至到2018年,我们只要把AUTOSAR的本地化做好就行。因为之前欧洲是领先我们几年的,欧洲开发完我们拿来(本地化后)直接用肯定是够的。”首批中国AUTOSAR高级会员单位东软睿驰首席科学家李冰告诉《电动汽车观察家》。

2019到2020年,随着中国新造车势力率先在新一代集中式电子电气架构领域发力,AUTOSAR作为标准已经无法满足国内需求。

包括东软睿驰在内的中国汽车产业链各方开始突破AUTOSAR,在“无人区“进行探索,并逐步构建起与集中式域控强相关的汽车OS系统。

例如2020年,小鹏P7搭载的智能驾驶域控制器的狭义OS系统基于QNX,但其中间件由中国供应商德赛西威提供;东软睿驰同年在NeuSAR 3.0的版本上全面支持SOA;在智能座舱领域更是涌现出众多的自研OS系统。

同期,国外使用集中式E/E的主机厂只有特斯拉和大众,而且2019年问世的ID.3也还是以分布式为主的E/E架构。

2023年,一汽、上汽、广汽、长安、长城等多家主力中国车企的新产品上,将开始落地中央超算、跨域融合等集中度更高的E/E架构,并在其上应用跨多域,甚至整车级的汽车OS系统。

而相比之下,大众、奔驰的汽车OS整体上车时间都在2025年。

但值得注意的是,今年各中国车企应用集中式E/E架构和汽车OS的产品将集中在少量的旗舰车型上;

大众、奔驰的汽车OS在2025年上车时将是能够支撑集团内多品牌、多车型的系统。

先实现量产上车,意味着有机会先完成系统迭代,达到稳定。

李冰表示:汽车软件的稳定和可靠性最终是靠,在实际用户日常用车的海量场景中不断验证完善的。

在传统汽车时代,由于

【本文来自易车号作者电动汽车观察家,版权归作者所有,任何形式转载请联系作者。内容仅代表作者观点,与易车无关】

嵌入式 *** 作系统的分类 篇1

第一类、传统的经典RTOS:

最主要的便是Vxworks *** 作系统,以及其Tornado开发平台。Vxworks因出现稍早,实时性很强(据说可在1ms内响应外部事件请求),并且内核可极微(据说最小可8K),可靠性较高等,所以在北美,Vxworks占据了嵌入式系统的多半疆山。特别是在通信设备等实时性要求较高的系统中,几乎非Vxworks莫属。Vxworks的很多概念和技术都和Linux很类似,主要是C语言开发。像Bell-alcatel、Lucent、华为等通信企业在开发产品时,Vxworks用得很多。但Vxworks因价格很高,所以一些小公司或小产品中往往用不起。目前很多公司都在往嵌入式Linux转(听说华为目前正在这样转)。但无论如何,Vxworks在一段长时间内仍是不可动摇的。与Vxworks类似的稍有名的实时 *** 作系统还有pSOS、QNX、Nucleus等RTOS。

第二类、嵌入式Linux *** 作系统:

Linux的前途除作为服务器 *** 作系统外,最成功的便是在嵌入式领域的应用,原因当然是免费、开源、支持软件多、呼拥者众,这样嵌入式产品成本会低。Linux本身不是一个为嵌入式设计的 *** 作系统,不是微内核的,并且实时性不强。目前应用在嵌入式领域的Linux系统主要有两类:一类是专为嵌入式设计的已被裁减过的Linux系统,最常用的是uClinux(不带MMU功能),目前占较大应用份额,可在ARM7上跑;另一类是跑在ARM9上的,一般是将Linux2.4.18内核移植在其上,可使用更多的Linux功能(当然uClinux更可跑在ARM9上)。很多人预测,嵌入式Linux预计将占嵌入式 *** 作系统的50%以上份额,非常重要。缺点是熟悉Linux的模如人太少,开发难度稍大。目前很多教材和很多大学都以ucOS/II为教学用实时 *** 作系统,这主要是由于ucOS/II较简单,且开源,非常适合入门者学习实时 *** 作系统原理,但ucOS/II的缺点是功能有限,实用用得较少,所以要学习尘敏就应学直接实用的,比如uClinux就很实用。况且熟悉派码枝了Linux开发,不仅在嵌入式领域有用,对开发Linux应用软件,对加深 *** 作系统的认识也有帮助,可谓一举多得。据说,目前Intel、Philip都在大搞ARM+LINUX的嵌入式开发,Fujitum则是在自己的处理器上大搞Linux开发。目前在嵌入式Linux领域,以下几个方面的人特别难找,一是能将Linux移植到某个新型号的开发版上;二是能写Linux驱动程序的人;三是熟悉Linux内核裁减和优化的人。

第三类、WindowsCE嵌入式 *** 作系统:

Microsoft也看准了嵌入式的巨大市场,WinCE出来只有几年时间,但目前已占据了很大市场份额,特别是在PDA、手机、显示仪表等界面要求较高或者要求快速开发的场合,WinCE目前已很流行(据说有一家卖工控机的公司板子卖得太好,以至来不及为客户裁减WinCE)。WinCE目前主要为4.2版(.NET),开发平台主要为WinCEPlatformBuilder,有时也用EVC环境开发一些较上层的应用,由于WinCE开发都是大家熟悉的VC++环境,所以学习Windows程序设计课程不会有多大难度,这也是WinCE容易被人们接受的原因,开发环境方便快速,微软的强大技术支持,WinCE开发难度远低于嵌入式Linux。对于急于完成,不想拿嵌入式Linux冒险的开发场合,WinCE是最合适了(找嵌入式Linux的人可没那么好找的),毕竟公司不能像学生学习那样试试看,保证开发成功更重要。根据不同的侧重点,WinCE还有两个特殊版本,一个是MSPocketPC *** 作系统专用于PDA上(掌上电脑),另一个是MSSmartPhone *** 作系统用于智能手机上(带PDA功能的手机),两者也都属于WinCE平台。在PDA和手机市场上,除WinCE外,著名的PDA嵌入式 *** 作系统还有PalmOS(因出现很早,很有名)、Symbian等,但在WinCE的强劲冲击下,Palm和Symbian来日还能有多长?据观察,目前在嵌入式平台上,LINUX是叫得最响,但还是WinCE实际用得更多。嵌入式LINUX可能更多地是一些有长远产品计划的公司,为降低成本而进行长远考虑。WinCE和多媒体(如MPEG技术)是微软亚洲工程院目前做得较多的项目领域之一,他们很需要精通WinCE的人。

嵌入式 *** 作系统的分类 篇2

目前我国已推出一些应用比较成功的EOS产品系列。随着Internet技术的发展、信息家电的普及应用及EOS的微型化和专业化,EOS开始从单一的弱功能向高专业化的强功能方向发展。嵌人式 *** 作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。EOS是相对于一般 *** 作系统而言的,它除了是具备了一般的 *** 作系统最基本的功能,比如:任务调度、同步机制、中断处理、文件功能之外的话,它还含有以下的特针:

(1)可装卸性:开放性、可伸缩性的体系结构。

(2)强实时性:EOS实时性一般较强,可用于各种设备控制当中。

(3)统一的接口:提供各种设备驱动接入。

(4) *** 作方便、简单、提供友好的图形GUI,图形界面,追求易学易用。

(5)提供强大的网络功能,支持TCP/IP协议及其它协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。

(6)强稳定性,弱交互性:嵌入式系统一旦开始运行就不需要用户过多的干预,这就要负责系统管理的EOS臭有较强的稳定性。嵌入式 *** 作系统的用户接日一般不提供 *** 作命令,它通过系统调用命令向用户程序提供服务。

(7)固化代码:在嵌入系统中,嵌入式 *** 作系统和应用软件被固化在嵌入式系统计算机的ROM中。辅助存储器在嵌入式系统中很少使用,因此,嵌入式 *** 作系统的文件管理功能应该能够很容易地拆卸,而用各种内存文件系统。

(8)更好的硬件适应性,也就是良好的移植性。

国际上用于信息电器的嵌入式 *** 作系统有40种左右。现在,市场上非常流行的EOS产品,包括3Corn公司下属子公司的PalmOS,全球占有份额达50%,Microsoft公司的WindowsCE不过29%。在美国市场,PalmOS更以80%的占有率远超WindowsCE.开放源代码的Linux很适于做信息家电的开发。

然而我们常见的嵌入式系统有:Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX、Rtems、QNX、INTEGRITY、OSE、CExecutive.嵌入式 *** 作系统的发展也必将带动新一轮的科技竞争。

嵌入式 *** 作系统的分类 篇3

常见的嵌入式系统有这么多:

Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX、Rtems、QNX、INTEGRITY、OSE、CExecutive、autosar......

什么是嵌入式 *** 作系统?

嵌入式 *** 作系统是一种支持嵌入式系统应用的 *** 作系统软件,它是嵌入式系统的重要组成部分。嵌入时 *** 作系统具有通用 *** 作系统的基本特点,能够有效管理复杂的系统资源,并且把硬件虚拟化。

从应用角度可分为通用型嵌入式 *** 作系统和专用型嵌入式 *** 作系统。常见的通用型嵌入式 *** 作系统有Linux、VxWorks、WindowsCE.net等。常用的专用型嵌入式 *** 作系统有SmartPhone、PocketPC、Symbian等。

按实时性可分为两类:

实时嵌入式 *** 作系统主要面向控制、通信等领域。如WindRiver公司的VxWorks、ISI的pSOS、QNX系统软件公司的QNX、ATI的Nucleus,很多汽车电子行业都是利用实时性很强的 *** 作系统等。

非实时嵌入式 *** 作系统主要面向消费类电子产品。这类产品包括PDA、移动电话、机顶盒、电子书、WebPhone等。如微软面向手机应用的SmartPhone *** 作系统。

嵌入式系统的设计和实现而言,基本上需要四种不同的工作:系统设计工作,硬件设计工作,驱动程序和 *** 作系统移植工作和应用程序设计开发工作。

1、 系统设计工作

在系统的设计阶段,系统分析师将根据需求确定系统的硬件的基本构成,根据系统的需求选择使用那种处理器,使用哪种 *** 作系统,使用那些软件开发工具。系统分析师往往是较为完整的参与过嵌入式系统设计的全过程,对于系统应用的行业较为了解,对于嵌入式系统本身的开发流程十分清楚的人。

2、硬件设计工作

系统硬件设计人员需要根据系统分析师的设计结果,进行硬件原理图的设计。通常需要硬件设计人员熟悉嵌入式系统的硬件构成。硬件设计人员需要了解常用的嵌入式系统处理器,存储器(Flash,SDRAM),以太网MAC芯片,音频/视频编解码芯片,电源管理芯片,总线接口电路(USB,PCI),液晶显示模块,可编程逻辑器件(FPGA/CPLD),无线网络通信模块(Bluetooth,WLAN,GPRS)等硬件电路构成元素的基本工作原理,连接使用方法,使用注意事项,基本调试方法等内容。在网络上能找到很多公司的评估板的原理图,对于这些原理图要仔细研究,摸清处理器同存储器,网卡,液晶模块等器件的连接方法和原因。通过对这些电路的研究,能够较快地了解整个嵌入式系统的构成,这些电路同实际产品中的电路虽有一定差别的,特别是对于手持设备,但这些差别不影响初学者学习嵌入式系统的硬件设计基本构成。

1)学习Linux系统安装、常用命令、应用程序安装。

2)学习Linux下的C编程、这本书必学《UNIX环境高级编程》、《UNIX 网络编程》,RechardStevens写的,C高手大都学习过《C和指针》、《C缺陷与陷阱》、《高质量C/C++编程指南》、《C专家编程》、《TheCprogrammingLanguage》

3)程序员大都要学:数据结构,嵌入式程序员数据结构必学!

4)底层开发人员大都要学:微机原理、计算机体系结构,嵌入式开发人员必学!

5)单片机可以让一个从事软件开发的人了解和如何 *** 作硬件,有必要学,因为一开始就从ARM入手,不太现实!

6)ARM体系结构,其中有汇编。

7)数字电路有必要学习,不然你在做底层开发时真的会不知道怎么看原理图,起码也得懂与或门吧。

8)ARM+Linux应用程序开发。(前提是要有开发板)

9)要做底层开发,就必须知道软硬件之间是如何衔接和配合工作的,那么电子技术应该要好好学习了,很多时候会用到模拟电路知识,这是区别好手与菜鸟的不同之处之一。

10)Linux下的汇编要学,这样你才能真正了解你写的程序是如何在一个特定的硬件上跑的。这是区别好手与菜鸟的不同之处之二。

11)TCP/IP协议栈要学,所有的嵌入式高手都得掌握的东西,这是区别好手与菜鸟的不同之处之三。

12)有了这些东西,拿下Linux驱动已经不再话下,需要你去学习Linux内核源代码和Linux驱动程序设计,这是一个技术升华。

13)音频、视频的解码译码技术你得学。

14)各种IC,各种bootloader你能够参与其开发设计。

15)自行设计开发新产品,新技术。

学到这个地步差不多要花个3年的时间吧。但是后面的路该怎么走呢?嵌入式系统性的东西搞了一个产品之后,基本上一些套路都摸清楚了。

不同的行业,对于系统的要求是不一样的,比如汽车行业,航空航天行业等一些高精度,高安全的需要对实时性要求非常之高,对于安全性和可靠性的要求非常严格。而有些行业比如消费类产品,娱乐类的,生活用具方面的对于用户体验是不一样的,数码产品对于一些图像声音的处理,要求更高,需要高清,高品质的。而对于一些通信设备类对于网络的应答数据传输要求就非常严格,等等。这些根据不同的要求,选择符合自己的 *** 作系统,能对开发工作有更大的帮助。

嵌入式 *** 作系统的分类 篇4

DOS

微软一开始选用了派特森的Q-DOS“QUICKANDDISKOPERATINGSYSTEM”为基础然后再扩充功能而成MS-DOS,主要是采用由IBM提供的使用8088微处理器的计算机作开发平台,它是以16字节单人单工 *** 作系统,特别适合一些功能简单装置使用。

WindowsCE

虽然微软Windows系统已经称霸了PCDesktop环境。但是对于嵌入式系统这块大饼,微软也是垂涎已久,桌上型的Windows桌业系统对于嵌入式系统来说自然是太过于肥大的产物,于是微软推出精简版的WindowsCE作为进攻嵌入式系统的主力。目前主要应用于PDA上头,但是跟微软一系列Windows系统一般,WindowsCE也承袭了原有的缺点:耗系统资源、不稳定、效率不佳等等。毛病实在太多,后来将整个架构重新改写后推出WindowsCE3.0版,或称为PocketPC。改版之后的确改进了不少缺点。

WindowsCE可应用于PDA、WebPAD、ThinClient等等。是采用WindowsCE为 *** 作系统的SIMPad(西门子公司所有)。

Palm

由PalmComputing公司的嵌入式 *** 作系统,目前最大的应用在PDA,是市场占有率最高的PDA *** 作系统,Palm *** 作系统架构非常简洁,因为少去了很多功能,如内存管理、多任务等等,使得Palm可以非常不耗系统资源,硬件需求低,连带的整体耗电量便可压缩到非常低,因此采用Palm *** 作系统的PDA都有待机时间长的优点。

EPOC

由英国手持装置大厂Psion所开发,常用于PDA与手机结合的场合。最有名的例子Nokia9110系列手机,它就是采用EPOC系统。

著名的嵌入式实时系统

实时系统是嵌入式系统里头非常重要的一环,很多人都误以为实时系统执行速度非常快的系统,事实上不然,所谓实时代表的意义是『实时反应』,一般多人多任务 *** 作系统如:Windows、UNIX,在上面执行的软件都一起分享CPU,因为CPU速度快,所以我们感觉好象可以同时执行多支软件,其实在系统内部的同一时间内都只有一个程序在执行,每个软件都必须排队,而且规定只能用一小段时间后就要换下一位,但是因为CPU速度够快,很快又可以被执行到,所以人们感觉并不会很明显软件是一段一段在执行。这是一般所谓的非实时性的 *** 作系统运作模式,而实时 *** 作系统具有立即反应而且不能让出资源的特性,例如汽车的ABS煞车系统,如果不采用能够立即反应的实时系统,后果可就不堪设想。而这类的应用多半多属体积小、功能简单的地方,所以也算是嵌入式系统。QNX的QNXOS、WindRiver的VxWorks、Microware的OS9、pSOS等等,都是有名的嵌入式实时系统公司。

Linux

Linux不是都用来做服务器吗?不然就是Cluster,怎么会跟嵌入式系统扯上关系?不要怀疑,Linux除了对伺服工作应付自如外,嵌入式系统也难不倒Linux。

那么究竟Linux有怎样独特的能耐,可以想变大就变大想缩小就缩小?又用Linux来发展嵌入式系统有什么优点?请看底下介绍。

开放原始码、模块化设计

Linux采用GPL授权,除了把原始码公开以外,任何人都可以自由使用、修改、散布,而Linux核心本身采模块化设计,让人很容易增减功能,例如我的平台并不需要蓝芽的功能,我只要不把这项功能加入,有需要就加入,不需要就删除,由于这样的高的d性,我们可以调校出最适合我们硬件平台的核心出来。

相较于Linux,Windows是走封闭原始码路线,所以我们完全无法得知或修改它的核心部份。另外因为是采用GPL授权自然就没有什么权利金或保密协议的约束。

稳定性够

Linux不属于任何一家公司,但是它的开发人员却是全世界最多的,每天在全球都有无数的人参与LinuxKernel的改进、除错、测试,这样严苛的条件造就了稳定度高的Linux。

就因为如此,Linux虽不是商业的产物但是品质却不逊于商业产品。

网络功能强大

Linux的架构是参造UNIX系统而来,因此Linux也承袭了UNIX强大的网络功能。在这个每样事情都讲求网络的时代下,只能说是Linux大放异彩的年代。未来可能家里的电冰箱、冷气、电视机都会连上网络,如何增加这些家电的网络功能,Linux可以替他们办到。

跨平台

Linux一开始是基于Intel386机器而设计,但是随着网络的散布,各式各样的需求涌现,因此就有许多工程师致力于各式平台的移植,造成了Linux可以在x86、MIPS、ARM/StrongARM、PowerPC、Motorola68k、HitachiSH3/SH4、Transmeta..等等平台上运作的盛况。这些平台几乎涵盖了所有嵌入式系统所需的CPU,因此选择Linux就可以把更多的`硬件平台纳入考量的范围。

嵌入式环境不如x86PC那样单纯,嵌入式环境所采用的CPU架构之多,使用Linux作开发,就等于有更多硬件的选择,硬件成本是商业公司考量的一大重点,选择多自然可以找到最合适的硬件,对于公司的竞争力是有极大的帮助。

应用软件众多

自由软件世界里有个很大的特色就是软件超级多,而且几乎都是符合GPL标准,换句话说,大家都可以自由取用,因为这些软件多半是由工程师业余空暇时间所发展,而且不以营利为性质,所以并不能担保这些软件完全没有BUG,但是仍旧有许多杀手级的软件出现,大家熟知的KDE与GNOME便是很好的证明,当然与嵌入式系统较为相关如:gcc编译器、Kdevelop整合式开发环境等等。

通常我们都会先在PC端造出仿真出嵌入式的环境,并直接在上头开发,因此用的工具也都与开发一般Desktop软件类似,良好的工具能够增加开发的速度。

选择多样

如果公司有能力可以自己实作Linux嵌入式系统,因为程序代码全部都开放在那里,您可以随心所欲的设计出自己想要的EmbeddedLinux系统,但是有更多的公司的业务重点不在于此,这时候您也可以选择购买商业版的EmbeddedLinux系统,像是有名的Redhat公司、Lineo、MontaVista..等等,这些都是商业的Linux公司,购买他们的产品就可以得到完整的服务。因此商业或非商业全都在于您的需求。

自行开发系统

当然您也可以自行开发系统,严格控制硬件,但是相对的必须投注更大的成本在于研发系统上,原则上如果目标简单明确只是一些基本的I/O控制,例如:跑马灯。便适合自己开发,但是如果系统过于复杂则必须审慎评估自行研发的难度与时程的控管。

嵌入式 *** 作系统的分类 篇5

进程的同步(直接制约):synchronism

指系统中一些进程需要相互合作,共同完成一项任务。具体说,一个进程运行到某一点时要求另一伙伴进程为它提供消息,在未获得消息之前,该进程处于等待状态,获得消息后被唤醒进入就绪态。同步是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源。

进程的互斥(间接制约)mutualexclusion

由于各进程要求共享资源,而有些资源需要互斥使用,因此各进程间竞争使用这些资源,进程的这种关系为进程的互斥。某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。

相关概念:

互斥:指多个进程不能同时使用同一个资源;

死锁:指多个进程互不相让,都得不到足够的资源;

饥饿:指一个进程一直得不到资源(其他进程可能轮流占用资源)

临界资源:系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源或共享变量

临界区:进程中访问临界资源的一段代码。

临界区问题

临界区(criticalsection):进程中访问临界资源的一段代码。

进入区(entrysection):在进入临界区之前,检查可否进入临界区的一段代码。如果可以进入临界区,通常设置相应"正在访问临界区"标志

退出区(exitsection):用于将"正在访问临界区"标志清除。

剩余区(remaindersection):代码中的其余部分。

使用临界区应遵循的准则

有空让进:当无进程在临界区时,任何有权使用临界区的进程可进入

无空等待:不允许两个以上的进程同时进入临界区

多中择一:当没有进程在临界区,而同时有多个进程要求进入临界区,只能让其中之一进入临界区,其他进程必须等待

有限等待:任何进入临界区的要求应在有限的时间内得到满足

让权等待:处于等待状态的进程应放弃占用CPU

平等竞争:任何进程无权停止其它进程的运行进程之间相对运行速度无硬性规定

Linux下的进程包含以下几个关键要素:

有一段可执行程序;

有专用的系统堆栈空间;

内核中有它的控制块(进程控制块),描述进程所占用的资源,这样,进程才能接受内核的调度;

具有独立的存储空间

进程和线程有时候并不完全区分,而往往根据上下文理解其含义。

嵌入式 *** 作系统的分类 篇6

1、绪论

电控机械式自动变速器(AutomaticMechanicalTransmission,AMT)具有传动效率高、成本低、 *** 作容易、驾驶舒适等优点,已成为车辆自动变速器发展的一个重要方向。AMT的核心部件是电控单元(TCU),实时采集和检测输入信号(发动机转速、输入轴转速和车速,油门踏板位置、节气门开度、变速箱油温等以及各种状态信号)并进行调理、存储,同时,TCU根据这些运行参数进行工况判断并发出控制信号,完成车辆的平稳起步或自动换挡,从而使车辆获得优良的舒适性、燃油经济性与动力性能。较之传统的控制器,TCU有更多的传感器,执行器以及更为复杂的控制算法,若TCU设计不合理,难以满足实时性与可靠性的要求,同时,如果换挡规律不合理,汽车难以获得较好的燃油经济性和动力性。本文从TCU硬件和软件设计做了相应的介绍。

2、TCU软件设计

TCU软件部分的核心是控制策略,其主要部分是最佳换挡规律。本控制器采用两种换挡控制策略,即经济性换挡规律,综合性换规律,通过模式选择开关进行切换,使用Simulink搭建的换挡控制策略。

Simulink模型无法直接烧写到单片机中运行,编写好的程序通过Simulink提供的RTW工具生成可用的C代码,编写接口嵌入到软件系统中。生成的C代码是上层核心算法程序,只提供与底层程序的接口,而底层程序则须自己编写并留出对应接口和上层代码对应接口进行连接[3]。然后把相应的C代码添加到CCS中的工程文件中,并编写代码的接口,实现软件三部分的无缝连接;其中驱动程序包括信号输入通道设置与信号处理驱动程序、输出通道设置与输出处理、通信设置与数据转换。

3、TCU硬件设计

根据TCU的功能需求,把硬件电路划分以下几个部分:信号采集输入调理电路、执行器控制电路以及主控电路。

(1)主控电路:TCU的硬件电路选择了TMS320F2812主控芯片,两个16位通用定时器,以负责离合器转速信号、车速信号等脉冲信号的采集;8个16位的脉宽调制(PWM)通道、可以实现对离合器电磁阀、换挡电磁阀的控制;16通道A/D转换器,在采集节气门位置、离合器位置等传感器输入的多路模拟信号的应用中,可以简化硬件,提高系统可靠性;拥有改进的局域网络(eCAN)支持CAN2.0B协议,以实现串行信号的输入输出以及与汽车发动机ECU的信息交换,实现ECU之间的CAN通信。

(2)输入电路:对于主控芯片TMS320F2812芯片上带有AD转换模块的处理芯片,其输入的模拟信号需要经过简单的滤波、放大后才可接入DSP。开关量信号采用光电隔离来实现信号的转换,数字信号调理部分的作用是将仿正弦信号经过处理后,变成电平范围在DSP允许范围内的方波信号。数字信号调理部分的设计采用先滤波后整形,最后光电隔离的办法。

(3)TMS320F2812主控芯片EV外设提供的PWM外设功能,对电路进行控制,但,由控制器输出的PWM波的峰值电压只有5V,不足以驱动电磁阀,这就需要电磁阀驱动电路将PWM控制信号的功率进行放大,从而控制电磁阀正常工作。

4、结论

自行设计了TCU软硬件,对设计的TCU做了相应的硬件在环试验,利用RealTimeWorkshop实现控制模型向C代码的转化,优化后下载到TCU,进行了硬件在环仿真实验,篇幅有限,本文不做具体说明。试验结果表明,设计的该TCU,能按照控制策略实时、准确、可靠的控制AMT的换挡过程,同时,同时获得了较好的经济性以及动力性能。为AMT控制器的开发提供了参考。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12541925.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存