那些联网汽车为什么选择Linux开源平台?

发布者:心愿达成最新更新时间:2015-07-21 来源: 美通社 关键字:Linux 手机看文章 扫描二维码
随时随地手机看文章

    这是汽车行业的黄金时代。开源软件(OSS)、“万物互联”,以及无数用来支持主动安全系统、驾驶员信息显示和车载电子产品等技术的硬件涌现聚集,让即使是最普通的汽车也具备了成为真正超级巨星的潜力。
这不只是关于汽车数字基础架构内部元件的连接,而是关于汽车与外界的连接——比如和其它汽车、互联网以及云的连接。虽然硬件厂商不断做出重大贡献,但重点已经转向了推动互联汽车的软件。事实上,用于嵌入式系统的软件开发,包括原型设计、调试、测试和验证,现在占据了汽车制造的大部分时间。

    现在制造的汽车在不久的将来可能会有大约2000万行代码(已经超过一架美国F-35喷气式战斗机),预计豪华高端汽车的代码还有可能超过1亿行。汽车软件的开发是件严肃的事。

 

当Linux遇上汽车

    虽然还算不上家喻户晓,但可能会在你身边的某辆车上看到,Linux操作系统是很多顶级汽车制造商首选的汽车开源软件平台。它已经取代无数专有或封闭的操作系统。许多全球领先的汽车制造商将Linux作为操作系统,不仅用来运行汽车的音响主机或信息娱乐中心,还用来运行远程信息处理系统、仪表板,等等。

     当然,Linux已经存在了几十年,已经证明自己是高性能计算机操作系统。如今,Linux更多的是一种网络操作系统,对互联汽车来说是个好兆头。可能大家都知道,Linux帮助推动了智能手机行业的发展。许多在手机行业得到完善的进步技术正在被开发应用于汽车Linux。

    除了其广泛的网络功能,Linux平台还具有可观的成本节约潜力。在一个世界性的开源开发人员团体的支持下,Linux内核会不断完善和更新。老实说,“开放”并不一定意味着所有人都可以免费使用该操作系统,而是说软件开发人员可以开放获取Linux内核。当然,关于“免费使用”声明也有一些规定,但事实仍然是Linux的软件授权方法更简化,这对于必须考虑利润的汽车制造商来说非常具有吸引力。

    一个众所周知的事实是,当Linux首次引入汽车电子系统时,汽车制造商和一级供应商是持怀疑态度的。一辆车的平均寿命大概是十年。智能手机的寿命远不到十年。随着汽车的老化,怎么向客户承诺最新的电子创新?怎样把一款新的车载信息娱乐系统引入一个已经使用了五年的硬件架构?

    首先,Linux是一个协同设计环境的一部分。有成千上万的软件开发人员一直在为Linux内核和中间件层工作。世界上没有其它操作系统投入这么多人力(或工时)来主动解决汽车行业正在发生的需求和挑战。汽车制造商能够利用这种协作式的开源工作来加快新技术在汽车领域的应用,并节省这个过程中的成本。

    此外,众多组织和非盈利联盟已经建立,来协助汽车制造商保持软件和中间件的更新,以及满足汽车行业和管理机构制定的严格标准。其中有两个这样的联盟,他们是GENIVI Alliance以及Linux基金会的Automotive Grade Linux (AGL)。

    去年,福特汽车公司通过GENIVI Alliance推出了其AppLink专有源代码和平台。GENIVI是一个由建立和共享基于Linux的车载信息娱乐平台的汽车制造商和一级供应商组成的非营利组织。GENIVI主要推动开源中间件兼容,旨在为所有成员建立一个更通用的系统平台。虽然中间件是共享的,但成员仍然可以在应用层面添加他们自己的差异化特点,从而建立独一无二的品牌和产品(图1)。

    随着福特的加入,GENIVI及其成员能够用一个久经考验的框架补充这个开源车载信息娱乐系统平台,从而与智能手机和平板电脑应用互动。福特成功了,是因为该同步平台在这一方面现在已经具备了成为开源汽车标准的潜力。

    今天确实有了无线软件更新技术,并被用来更新车载远程信息处理和信息娱乐系统。关注点仍然围绕车载通信网络上其它模块的编程(比如控制器局域网),尤其是安全和内存要求。但是这样的技术确实存在,来保持信息娱乐系统和其它电子模块贯穿车辆整个生命周期的更新。

图1  GENIVI软件架构

互联汽车带来的新问题

    看看当今汽车的内部,你会发现有很多电子系统在工作。现在的汽车可能包含军用式夜视功能来帮助分辨路口的行人;先进的安全程序来确保安全气囊在一微秒内启用;电子稳定控制系统和防抱死刹车帮助在恶劣天气引导车辆;或者是备用摄像头(传感器)来帮助驾驶员在不良驾驶环境下看得更清楚。

    所有这些电子系统都需要电子控制单元来保持正常运行。一旦车辆增加了车载信息娱乐系统,开发人员也就一下子面临了一辆车上很多复杂的连接性挑战。显然,一辆车的多媒体功能要被分类,并与安全关键性功能区分出不同的优先顺序。

    互联汽车也意味着使用了空前多的电子控制单元。最近有研究显示,当今的高端豪华车上可看到近100个电子控制单元。还发现了从8位和16位应用处理器向低端32位微控制器的转移。这只有在硬件成本不断下降而硬件性能和功能提升时才适用。互联汽车中的这些活动需要处理复杂的活动。这就是全功能汽车操作系统能够发挥作用的地方。Linux作为一个操作系统显示出了很广阔的发展前景,它能够将众多功能集于它的中间件。

    目前正在努力确保在达到基本活动要求的同时,将汽车关键活动独立出来,确保安全性和数据完整性,这通常会使用一套虚拟层和虚拟化技术。在虚拟层技术中将Linux与经过安全验证的RTOS相结合提供了一种绝佳的选择,既能够在单芯片平台上整合各种关键应用,又可以通过模块的整合降低整体汽车成本。

    除了为安全关键应用提供支持外,安全也正成为互联汽车领域重点关注的问题。安全增强Linux (SELinux)是Linux的一个成熟组件,目前正被研究用于安全至上的互联汽车的内部功能。这也是Linux远超专有操作系统的一个方面。

    随着电子功能不断增多,对模块整合的需求变得愈加明显。由于汽车结构中加入了新的电子控制单元,很多问题随之出现。汽车线束的复杂性和重量有所增加。通常会配置多余的软件功能,以便为汽车平台的可升级性提供更好的支持。

    例如:一辆车配备支持语音识别的远程信息处理模块,而信息娱乐系统也支持语音识别,从而实现指挥与控制。车载信息娱乐系统可能通过联网的移动设备实现免提功能。我们还看到新兴先进驾驶辅助系统(ADAS)与驾驶座信息娱乐和驾驶员信息系统在传感器输入处理方面存在许多共性,这为模块整合提供了又一个用例。

     汽车中电子控制单元的不断增多也更凸显了标准化的重要性。随着硬件平台发生变化,这就需要重新设计软件,甚至重新设计系统,以整合各模块的功能。汽车开放系统架构(AUTOSAR)很好地为不同汽车软件架构创建了开放性标准,以解决这些问题(图2)。汽车原始设备制造商、电子产品供应商、芯片制造商和软件公司组成了AUTOSAR联盟。

图2  AUTOSAR开发环境

    互联性不仅限于汽车内的电子控制单元,还涉及汽车与外界沟通的方式。汽车可能需要接入蜂窝无线网络。信息娱乐系统将通过与带入汽车的移动设备互联而获益,不仅可以访问设备上的多媒体、应用和数据,而且还为接入互联网提供了新的选择。

    这方面有两项新兴技术:车与车(V2V)和车辆与基础设施(V2I)通信,统称为V2X(图3)。V2X是一种机器对机器(M2M)通信,可在汽车之间、汽车与路边基础设施之间,甚至汽车与云之间实现自动通信。V2V使汽车能够进行对讲,使用短程无线电交换交通堵塞、天气状况和意料之外的施工区等数据。此外还有收费等许多商业应用。V2V能够大大提升驾驶的安全性,因而前景十分广阔。

    诸如V2V通信之类的车辆通信系统并非ADAS专用,但却为ADAS应用带来了很多有趣的新功能。这项技术基于专用短程通信(DSRC),采用5.9 GHz频段,该频段也用于Wi-Fi。这样就可以将信息发送至附近的汽车,一般最多只能传输1000米。该技术适用于在汽车之间或者汽车与路边站台之间收发本地信息。从ADAS的角度来说,V2V代表着另一种类似于传感器的输入系统,可用于改善策略和反应。

    当然,V2V和V2I的实用性基于成本和客户需求。部署激励措施很可能最终将通过政府强制执行。在任何情况下,成本都将成为一个问题。Linux作为一种开源软件平台,在降低开发成本方面发挥着重要作用。此外,GENIVI等联盟将必须加大力度确保V2V和V2I符合全行业都接受的通用标准。

 

图3  V2X格局:车与车(V2V)和车与基础设施(V2I)通信

采用Linux的汽车系统

    从信息娱乐和音响系统到远程信息处理系统(要求立即启动和强大的安全层),Linux将充当起运行大部分互联汽车功能的角色,这是大势所趋。开源软件正迅速占领裸机运行系统、实时操作系统或封闭式汽车操作系统等传统领域。

    为满足当今汽车软件解决方案的需求,一款开源软件解决方案必须像Linux一样具有成熟且值得信赖的内核。因此可以考虑选择Linux操作系统,此外还需要大量安全且高品质的定制软件组件。提供这类组件的厂商不仅需要有丰富的相关经验和服务的一致性,还要能够提供涉及各个学科的工程服务,这样才能与一级供应商及其他合作伙伴共同打造最终解决方案。

    除了值得信赖的安全内核外,软件平台还应能够满足汽车行业的特殊需求。其中不仅包括快速启动和图像效果等最终用户能轻易察觉的性能要求,还有对控制器局域网消息在50毫秒内做出早期响应的系统要求,这一点也是原始设备制造商所关注的。

    此外,拥有早期开发的硬件原型也很重要,汽车制造商和一级供应商可以用它们来进行应用软件开发。一开始就获得硬件原型让汽车制造商能更深入地参与开发过程,从而以有效且独特的方式来与一级供应链合作。

总结

    车载娱乐信息系统在广播内容方面已经形成了高度灵活的调谐/预置功能,能够呈现很多新的内容形式,其中一些是基于互联网的和交互式的。可以利用各类基础技术和操作系统来打造这些新系统。已投入生产的车载娱乐信息系统采用了Microsoft Windows、Linux以及QNX的专有操作系统等。然而,业内人士认为在汽车原始设备制造商要求的推动下,关注的焦点正从技术创新转向成本优化。接下来,Linux显然将成为成本最低的选择。

    其他汽车系统随着新要求的出现而不断发展,模式也很类似。远程信息处理系统、仪表板和其他电子系统开始具备标准化的新功能集,同时也出于商业上的因素,Linux很可能受到这些系统的青睐。事实上,整体都会有变化,因为汽车的各个部分都将受到影响。我们将看到,大量可移动、可互换的零部件将让汽车大变身。开源软件会成为这一巨大转变的核心力量吗?让我们拭目以待。

关键字:Linux 引用地址:那些联网汽车为什么选择Linux开源平台?

上一篇:智能制造试点示范项目名单公布,多家汽车相关企业入围
下一篇:Api.ai开放车载应用API,从此车企可以开发属于自己的语音交互

推荐阅读最新更新时间:2024-11-14 19:23

基于ARM-Linux及嵌入式Web技术的远程程控电源插座系统设计
互联网的迅速发展,实现了信息的高速传输和资源共享,极大地方便了人们的生活。嵌入式系统广泛应用于各种电器产品、智能仪表和控制设备中,它与互联网的结合是一种必然的趋势。 嵌入式系统和网络技术的快速发展,为网络远程控制的发展和完善提供了技术基础。 笔者综合运用嵌入式系统和Web技术,设计了一种可通过互联网进行远程控制的电源插座系统,实现对家用或工业电器的远程实时控制。用户通过网页浏览器访问该系统,对各插座进行打开或关闭的操作,实现对与其相连接的电器的远程控制。 1 嵌入式Web工作原理 嵌入式Web的体系结构如图1所示。客户端和嵌入式系统中Web服务器之间的通信协议采用HTTP(超文本传输协议)。嵌入式操作系统提供TCP/IP协议
[单片机]
基于ARM-<font color='red'>Linux</font>及嵌入式Web技术的远程程控电源插座系统设计
OK6410A 开发板 (八) 119 linux-5.11 OK6410A arm-linux的栈
硬件上: armv6 有 6个 R13 R13_usr 和 R13_sys 是同一个 还有 R13_svc R13_abt R13_und R13_irq R13_fiq 软件上 linux boot时有一个栈 linux 各种异常处理有栈(5个异常模式,1个system模式) 对应多少个栈? svc mode 对应每个进程有一个栈? irq mode 是固定的栈? abort 呢? und 呢 ? fiq 呢? system mode 呢? linux 在 user mode 时 有栈 , (应用程序的栈,每个应用程序有一个栈,有N个应用程序) boot的栈不管,没啥意思 从线程和异常来说事 1.
[单片机]
Linux2.6内核2410平台上的移植
一、准备必要的文件 1.首先去官方网站下载最新的llinux内核 http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.14.tar.bz2 2.因为linux2.6.14内核需要更新版本的编译器,所以需要下载交叉编译器 ftp://ftp.handhelds.org/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2 二、安装文件 1、把gcc解压到/usr/local/arm/3.4.1目录下 2、接下来需要解压linux内核,输入命令: # tar -jxvf linux-2.6.14.tar.bz2 将内核解压
[单片机]
OK6410A 开发板 (八) 91 linux-5.11 OK6410A 进程的发展历史
参考进程地址空间抽象 的由来来了解裸机到os的转换 一开始是裸机 后来多进程 后来在用户态实现多线程(即协程) // 属于线程模型的一种 Portable Thread 协程一开始被创造出来,然后被淘汰,到现在(2021-8-4),这项技术又开始兴起(主要得益于网络处理) 后来线程模型不断发展 线程模型 线程实现 1:1 LinuxThreads库+kernel NPTL库+kernel N:1 Portable Thread (用户空间实现) N:M NGPT
[单片机]
OK6410A 开发板 (八) 34 linux-5.11 OK6410A 内存管理第二阶段
B __turn_mmu_on符号 - setup_arch- paging_init- bootmem_init- memblock_allow_resize返回 ----此时memblock初始化完成,开启了基于虚拟内时代的 memblock内存管理器时代 流程 __turn_mmu_on mcr p15, 0, r0, c1, c0, 0 @ write control reg // 内存管理相关1 // 上句执行之后,mmu开启 ret r3 // 调用到 __mmap_switched __mmap_switched adr r4, __mmap_switched_data /
[单片机]
linux中LCD设备驱动(6)——Fbmem.c文件
前面几篇主要关注的是LCD驱动在6410平台上的实现,这一篇来说下linux帧缓冲设备驱动的上层建筑Fbmem.c文件。 1、先上第一道菜: 1.1、那我们现在来说Fbmem.c (linux2.6.28driversvideo)文件中的应用程序访问帧缓冲设备的接口,大家对下面这些应该都不陌生吧。: /** * fbmem_init - init frame buffer subsystem * * Initialize the frame buffer subsystem. * * NOTE: This function is _only_ to be called by drivers/char/mem.
[单片机]
<font color='red'>linux</font>中LCD设备驱动(6)——Fbmem.c文件
基于uClinux和Linux的对比分析
uCLinux是一种优秀的嵌入式Linux版本,是micro-Conrol-Linux的缩写。它秉承了标准Linux的优良特性, 经过各方面的小型化改造,形成了一个高度优化的、代码紧凑的嵌入式Linux.虽然它的体积很小,却仍然保留了Linux的大多数的优点:稳定、良好的移植性、优秀的网络功能、对各种文件系统完备的支持和标准丰富的API. Linux是一种很受欢迎的操作系统,它与UNIX系统兼容,开放源代码。它原本被设计为桌面系统,现在广泛应用于服务器领域。而更大的影响在于它正逐渐的应用于嵌入式设备。 uClinux从Linux 2.0/2.4内核派生而来 ,沿袭了Linux的绝大部分特性。它是专门针对没有MMU(内存管理单元)的
[电源管理]
基于3c2410的linux2.6.22移植(3)
4、 生成第一阶段gcc: $root@host:/home/arm/build-tools/# tar xvjf gcc-4.2.1.tar.bz2 打补丁: $root@host:/home/arm/build-tools/# cd gcc-4.2.1 $root@host:/home/arm/build-tools/gcc-4.2.1# patch Np1 i /home/arm/build-tools/patch/gcc-4.2.1-* $root@host:/home/arm/build-tools/ gcc-4.2.1# cd .. $root@host:/home/arm/build-tools/# cd
[单片机]
小广播
最新汽车电子文章
换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved