微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > Android开发技巧:软硬件的巧妙整合

Android开发技巧:软硬件的巧妙整合

时间:01-16 来源: 点击:

最适当的软件设定等,更重要的是如何将软硬件整合,开发出差异化的产品。这中间所有的细节都会对产品最终样貌产生莫大的影响,像是其功能的完整度、使用接口的设计、效能表现(例如触控滑动画面、开启程序所需时间)、品质可靠度、甚至是后续的固件升级动作等等。在此百佳泰便试图以专业中立的测试实验室角度,来点出厂商应用Android于手机、平板电脑或其他设备时应注意的开发重点,以希冀作为一个有效的参考资讯。

  解构Android基本技术架构

  首先我们先来看到Android的基本技术架构,Android是以Linux为核心,并采用软件堆迭(software stack)的架构延伸发展的一套软件平台与操作系统。根据下图可以看出,其基本架构分为五层:

  *Android Structure by Google
  

  ·Linux核心(Linux Kernel):以Linux开发提供最底层的核心系统服务,包括安全性(Security)、存储器管理(Memory Management)、进程管理(Process Management)、网路堆迭(Network Stack)与驱动程序模型(Driver Model)。

  ·Android执行环境(Android Runtime):透过Core Libraries(核心函式库)以及暂存器型态的Dalvik Virtual Machine(Dalvik虚拟机器)来执行程序。

  ·系统函式库(Library):使用C/C++函式库的系统组件以供呼叫使用,开发者可透过上层的应用程序框架来运用这些功能,这也是主要Android设备的效能关键。

  ·应用程序框架(Application Framework):被设计来简化组件的再运用,开发者能完整存取使用与核心应用程序(Core Application)相同的API,应用程序可以发布功能并为其它应用程序所使用(需受限于其安全性限制),开发者也可运用同样的机制来新增与置换组件。

  ·应用程序(Application):所有Android应用程序皆是以Java程序语言编写,原始就会包含像是Email、简讯、日历、地图、浏览器、联络人等其它应用程序,让用户一开始就拥有这些基本功能,开发者也可在此客制其使用接口。

  厂商越想要设计出与原始设定不同且增强效能的产品,便越需要对这五层架构进行修改。譬如像是多任务处理能力(multi-tasking),便可能需要修改包括Linux核心与应用程序框架的设计;而应用程序的开发者更可能需要针对应用程序与框架进行调整。由此可见,对Android设备而言,任何一个功能的置入或是对硬件设定的细微更动,都需要对Android系统进行从下到上的调整以达到最优化的效能,而这正是最为困难与需要验证的一环。

  Android设备软硬件整合的五大技术环节

  如前所述,对众家开发厂商而言最大的挑战其实在于,如何将自己理想的产品诉求,与Android系统巧妙结合成一个功能完整并使用流畅顺手的产品,这其中牵涉了不同技术间的整合与运用。在此我们便根据其多年的测试与研究经验,归纳出五大Android相关设备在技术整合上的重要环节: 
 

  一、Linux驱动程序的导入

  由于Android是根源于Linux所延伸出来的操作系统,因此各种关键功能的驱动程序也必须要能顺利的写入其中,举凡像是字符设备、存储器的空间配置、中断处理、网路通信、萤幕显示或是连接接口像是USB与PCI的驱动程序,这些可能是自行撰写、或是来自不同组件厂商的驱动程序,都必须要能被导入到Android系统,并维持良好稳定的效能表现。

  二、系统单芯片的优化处理

  对厂商而言,开发一款Android设备,不仅仅只是将所有零组件组合成为一个产品那么容易,最大的学问便在于将系统单芯片(System-on-a-chip,SoC)、各种新技术和Android系统进行整合,SoC涉及像是Dalvik Virtual Machine、OpenGL、V8、Webkit Engine等上层的演算,与Android间的结合便必须透过不断的尝试与验证,才能研发出既符合成本效益、又有良好效能的优化产品。目前市面上有些SoC厂商已针对Android系统的特性,提供整合过的SoC平台,将蓝牙、相机或上网等常用功能模组预先写入,减少终端成品厂商费力整合开发的时间,但对厂商而言,这样的预先整合是否适合自身产品,以及是否需要再作更细致的修改,则又是更困难的课题。

  三、新技术的移植

随着技术的快速发展,更多新兴的技术规格也逐渐应用在手机等手持设备上,以手机为例,已经从过去以拨打电话为主要功能,转变为拥有各种多样化用途的产品。像是触控技术让消费者可以透过手指的滑动传送指令甚至是具备多点触控的支持、Wi-Fi模组提供随时无线上网的可能、通用图形处理器(General-purpose computing on graphics processing units,GPGPU)则能以并行方式透过图形处理器来执行通用计算任务、Android

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top