新闻中心

EEPW首页 > 汽车电子 > 设计应用 > 基于Android系统的车载娱乐系统软件架构

基于Android系统的车载娱乐系统软件架构

作者:时间:2011-11-02来源:网络收藏

2.1 结构概述
架构由5部分组成:Linux内核、库函数、运行态、应用程序框架、应用程序。
在线性架构的底层是Linux内核,基本上是Linux2.6.27版本。通过Linux内核为更新补丁,内核负责管理服务程序以及驱动模块、内存管理、任务调度。根文件使用rootfs,而数据及文件使用YAFFS,它是专门为NAND和NOR存储器设计驱动的文件系统。
应用程序框架和Android运行时态主要通过C/C++库,这部分库包括标准的C库、多媒体库、图形界面库、浏览器、字体库以及数据库。
Android运行态包括核心库以及Java Dalvik虚拟机,Dalvik是一种允许在有限的内存上运行多进程的虚拟机,每一个程序运行在一个独立的Linux进程里。
应用程序框架由许多类、接口、包组成。它的目的是提供一种简单、连续的方式去管理图形化用户接口,访问资源内存,收到通知,或者处理来电,主要的组成部分有可视系统、activity类管理、共享管理、资源管理、通知管理、电话管理。
2.2 安全性
Android内部进程通信以及安全性主要指在安装第三方应用的情况下,尽可能保证系统的稳定性。底层的许可机制是由Linux内核以及文件系统提供的,基本上可以满足基于Linux内核的其他系统。由于Android设备针对的是单用户,因此多用户服务的设备靠分配唯一的标识才能应用。
此外,Android是静态的安全许可系统,它在程序安装时被强制使用。
2.3 进程间的通信
Android有两种进程间通信的模型:intent和code绑定。intent类框架提供上层的进程间通信,这是最好的方式,可以动态地利用SDK包进行开发,并与上层应用程式绑定。intent类包含了几个用来描述调用者真正意图的域,调用者发送intent给Android的intent解析器,And-roid系统将通过intent过滤器从所有的应用程序中选择最适合处理该intent的activity类。intent域包含了期望的处理方式、类以及数据字符、数据的MIME类型。
intent能够被用来触发activities,发送数据给广播并启动相应的服务。安全性方面的限制主要通过Android系统提供的权限框架类来实现。
每个程序运行在自身的进程里,但开发者能够写一个服务运行在不同的进程中,一些对象在进程间传递也是允许的。在Android平台上,一个进程通常不能进入其他进程内存。因此,两个进程间如果相互通信,需要把他们的对象分解成操作系统可以识别的基础类型,并且通过进程的边界来控制对象。附带SDK的AIDL工具自动生成控制代码段,AIDL是用来生成在两个进程之间通信代码的一种接口描述语言。AIDL IPC机制就是使用代理类在客户端和实现端传递参数。

3 Android应用在车载电子的一种架构
Android扩展了汽车的总体结构,基本架构如图1所示,自定义的Android平台应用在汽车功能模块和支持组件的一边。这种扩展的目的是提供一种允许可信任的应用程序访问汽车功能模块(车辆制动、转向或电力传动分配)的安全机制,而不可信任的程序被隔离并且不可以访问。应用程序之间的这种强制性的安全策略是源于可靠性要求的IVI系统。通过汽车管理类可信任应用程序有机会访问一些特性(CAN总线),但处理不当也可能危及车辆安全(例如通过连续发送无效的数据帧使得CAN总线带宽饱和)。这种方案的主要特点是使上层逻辑去耦合,那样就可以方便上层应用获取并处理来自底层数据。

本文引用地址:http://www.eepw.com.cn/article/197288.htm

a.jpg



评论


相关推荐

技术专区

关闭