基于Android的开源平板电脑_第1页
基于Android的开源平板电脑_第2页
基于Android的开源平板电脑_第3页
基于Android的开源平板电脑_第4页
基于Android的开源平板电脑_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Android的开源平板电脑(FSPAD723)系统构成分析潘友华平板概述平板的硬件系统概述ARM处理器主要外设平板的软件系统概述系统移植android文件系统内容大纲平板电脑(Tablet

Personal

Computer),是一种以触摸屏作为输入设备的小型、方便携带的个人电脑。微软的定义:平板电脑就是一款无须翻盖、没有键盘、小到可以手持的功能完整的PC。目前主要有基于ARM架构和x86架构两类,前者主要支持的系统有iOS和android,后者主要支持windows系统。60年代末艾伦·凯(AlanKay)提出新型笔记本电脑,本世纪初比尔·盖茨(Bill

Gates)正式定义了平板电脑,到2010年被乔布斯(Steven

Paul

Jobs)称为非平板的iPad的出现,引发了平板电脑应用的火爆。平板概述1、苹果、骁龙、Tegra基于ARM架构2、Atomx86架构平板电脑由于其自身的特点:低功耗、高性能,故此其硬件系统一般都是基于嵌入式处理器芯片构成。目前比较主流的平板电脑的嵌入式芯片主要有:高通的骁龙处理器、苹果的Ax系列处理器、intel的Atom处理器、NVIDIA的Tegra系列处理器、通用ARM处理器。主要的外设:视频、音频、摄像头、wifi、重力传感器、大容量外存、外置I/O口、电源等等。平板的硬件系统-概述平板的硬件系统-概述平板的硬件系统-概述珠海全志科技股份有限公司是领先的智能应用处理器SoC和智能模拟芯片设计厂商。公司主要产品为多核智能终端应用处理器、智能电源管理芯片等。平板的硬件系统-ARM处理器平板的硬件系统-ARM处理器扩展内存平板的硬件系统-主要外设S/T:sample

test平板的硬件系统-主要外设MLC

全称为Multi-LevelCell,多层单元闪存,MLC通过使用大量的电压等级,每一个单元储存两位数据,数据密度比较高。扩展外存Sandisk SDTNQFAMA-004G4G

bit

Nand

Flash

19nm

MLC平板的硬件系统-主要外设LCD(Liquid

Crystal

Display)–

1路RGB输出、800x480像素、电容式触摸屏(可支持5点)平板的硬件系统-主要外设CTP(Capacitive

Touch

Panel)5点电容式触摸屏控制芯片GT818:采用投射式电容检测原理,由16个驱动通道与10个感应通道组成触摸检测网络,通过内置模拟放大电路、数字运算模块及高性能MPU,得到实时准确的触摸信息,并通过I2C传输给主控芯片,实现“所点即所得”。平板的硬件系统-主要外设WifiRealtek

RTK8188ETV802.11b/g/n无线网络,支持2.4G频段平板的硬件系统-主要外设传感器重力传感器:MEMSIC

mxc6225xu该传感器利用MEMS热对流技术,使用标准的CMOS工艺制造。传感器内部不包含任何移动部件,从而大大提高了现场可靠性,消除了与竞争产品相同的重复性问题。平板的硬件系统-主要外设Camera格科GC0308CMOSimagesensor,效果出众的高端VGA芯片。支持640

x

480分辨率,数据格式(8-bit)YUV/RGB/RAW

Bayer平板的硬件系统-主要外设电源适配器

AXP223是高度集成的电源系统管理芯片,针对单芯锂电池(锂离子或锂聚合物)且需要多路电源转换输出的应用,提供简单易用而又可以灵活配置的完整电源解决方案。

集成了USB3.0-Compatible

flash

charger,支持21电源输出。还整合了过/欠压(OVP/UVP)、过温(OTP)、过流(OCP)等保护电路。

智慧电能平衡(Intelligent

Power

Select,IPS™)电路可以在USB以及外部交流适配器、锂电池和应用系统负载之间安全透明的分配电能,并且在只有外部输入电源而没有电池(或者电池过放/损坏)的情况下也可以使应用系统正常工作。平板的硬件系统-主要外设S/T:sample

test平板的软件系统—概述系统引导过程平板的软件系统—概述android系统构成平板的软件系统—概述移植的主要工作一般的,系统软件移植,主要会有选、改、添/减:A、有现成直接可用的代码,则选中编译主要是熟悉源码组织结构和编译系统。一般的,基于linux环境下的编译系统,一般都是由脚本及Makefile组成。B、有现成的代码,但是部分代码不合适,则修改后选中编译除熟悉源码组织结构和编译系统外,还需要熟悉系统初始化流程,理解代码组织框架等等。C、没有的代码,则编写添加,多余代码则删除一般的,需要添/减的都是涉及设备控制的逻辑和功能模块。添加的时候,除熟悉源码组织结构和编译系统外,对该系统源码设计的思路要充分理解,按照其设计思路设计新的代码并加入到源码中。平板的软件系统—系统移植平板的软件系统—系统移植三个方面的工作:1、选平台

指定平台相关的代码目录。系统软件一般都是分层设计:存在应用需求代码,逻辑核心代码及硬件相关代码三个层次。一般的,这个选平头的工作主要是选择与硬件平台相关的初始化代码。2、修改/定制板级文件

板级相关的代码,逻辑及设备初始化相关代码添/减、修改。3、选配模块

选择相应的应用需求代码、逻辑相关代码或是设备驱动代码。平板的软件系统—系统移植BL两个阶段的代码:A、第一阶段初始化基本的硬件把bootloader自搬运到内存中设置堆栈指针并将bss段清零。为后续执行C代码做准备跳转到第二阶段代码中B、第二阶段初始化本阶段要使用到的硬件读取环境变量如果是自启动模式,从Flash或通过网络加载内核并执行如果是下载模式,接收到用户的命令后执行平板的软件系统—系统移植内核启动的准备条件:A、保存平台号到r1中B、保存参数地址到r2中(param_struct或taglist)C、关闭d-cache、i-cache、mmu等等平板的软件系统—系统移植android

kernel与linux

kernel的差异:本质上android

kernel还是linux

kernel,但是还是修改添加了一些内容,譬如:Android

IPC(Binder)、Android日志系统(Logger)、Android电源管理(Power)、Android闹钟管理(Alarm)、Android内存控制台(Ram_console)、yaffs文件系统等等。kernel编译系统:Kconfig——提供选项.config——保存选择结果Makefile——根据.config中选择结果来指导编译机器码定义arch\arm\tools\mach-types内核启动参数格式u-boot可以传递内核启动参数给内核,但是存在两种格式交叉编译工具链的版本平板的软件系统—Android文件系统文件系统就是管理外存上数据的逻辑结构,是存储、组织计算机文件和数据的一种方法,更严格地说,是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型(Abstract

data

type),通过它来访问、查找文件和数据很容易。外存数据在硬盘就是具体位置,用代码表述的话就是起始地址,但是看着不直观,操作也不方便,有文件系统弄出文件及目录的概念来翻译转换这些数据区域操作更方便。打个比方:一本书中就好比文件系统,目录及内容就是被文件系统管理的正文,有了目录,读写查找书的内容才方便。涉及概念:A、内容命令(软件、系统服务等)、库、脚本、配置、目录等等B、格式

文件系统的内容总是以特定格式存储在外存上的。嵌入式设备中常用flash作为外存,对应的文件系统有yaffs/yaffs2、jffs2、cramfs等等。平板的软件系统—Android文件系统一般的,Android系统磁盘分区如下:Boot分区:存储boot.img映像System分区:存放System.img映像UserData分区:存放userdata.img映像Recovery分区:存放recovery.img映像Cache分区:应用程序缓存分区,加快程序启动Misc分区:系统设置厂商硬件设置信息分区平板的软件系统—Android文件系统boot.img镜像不是普通意义上的文件系统,而是一种特殊的Android定制格式,由文件头信息boot

header,压缩的内核,文件系统数据ramdisk以及secondstageloader(可选)组成,它们之间非页面对齐部分用0填充。ramdisk.img是一个最基础的小型文件系统,是对root目录的打包和压缩,其中包含了启动android的很重要的文件,比如内核启动完后加载的第一个进程

init、一些重要的配置文件等,总之它控制着整个android的启动。根据

init.rc、init.xxx.rc来初始化并装载系统库、程序等直到开机完成。以下是一个典型的ramdisk中包含的文件列表:A、脚本配置文件及初始化程序/init.rc、/init.xxx.rc、p、/initB、目录/proc/、/dev/、/sys/、/sbin/、/system/、/data/android源码中提供mkbootimg工具来制作镜像包。格式如下:mkbootimg--kernel内核压缩包--ramdisk

ramdisk镜像--board"xxx"--base基地址-o

boot.img平板的软件系统—Android文件系统Android编译结果:保存目录:out/target/product/<products>/不同的平台其输出到out/target/product/不同的子目录下ramdisk.img:虚拟内存盘,用内存来模拟磁盘,它在Linux内核启动后被挂载,该映像里保存有Android最基本的文件系统以及一些命令system.img:Android系统主要的文件系统映像,里面包含有Android系统运行必需的库、程序和配置文件userdata.img:用户数据映像,它是用户应用程序、用户信息保存目录recovery.img:系统恢复映像,当系统进入恢复模式时的启动映像平板的软件系统—Android文件系统android源码的编译系统:build/envsetup.shA、定义了一些shell命令函数,这些命令主要是初始化编译环境,选择定制厂商等等。B、加载vendor目录下自定义厂商产品编译项文件vendorsetup.sh,以此来让编译系统编译不同产品的定制目录。lunch命令打印出所有系统编译项,设置主要环境变量TARGET_PRODUCTTARGET_BUILD_VARIANTTARGET_BUILD_TYPE平板的软件系统—Android文件系统android源码编译系统的几个重要的MakefileAndroid.mk编译源码Makefile文件,每个源码目录下都会有main.mk定义了编译全部代码的依赖关系config.mk用于配置编译系统,决定如何编译envsetup.mk定义了编译环境配置product_config.mk读取AndrodProducts.mk生成TARGET_DEVICE变量AndroidProducts.mk定义某厂商所有产品文件列表BoardConfig.mk定义开发板软件相关配置项,将来影响系统条件编译。平板的软件系统—Android文件系统厂商定制平板的软件系统—Android文件系统android根文件系统初始化平板的软件系统—Android文件系统init进程init进程是一个由内核启动的用户级进程。启动过程就是代码init.c(system\core\init目录下)中main函数执行过程。init进程会解析执行init.rc,就是所谓的初始化脚本。init.rc脚本init.rc文件由语句组成,主要包含了四种类型的语句:Action、Commands、Services、Options。在init.rc文件中一条语句通常是占据一行。单词之间是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论