Android手机平台移植与底层开发

更新时间:2023-07-26 22:25:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Android手机平台移植与底层开发

Android手机平台移植与底层开发

版权

}

}华清远见嵌入式培训中心版权所有;未经华清远见明确许可,不能为任何目的以任何形式复制或传播此文档的任何部分;

本文档包含的信息如有更改,恕不另行通知;

保留所有权利。}}

2

Android手机平台移植与底层开发

内容提纲

}

}

}介绍Android平台架构与移植的关系如何移植Android平台到新型硬件Android底层开发技术解析3

Android手机平台移植与底层开发

Android

体系结构与移植工作

Android手机平台移植与底层开发

支持Android的热门ARM硬件平台简介lARMv7架构SOC

l

l

l

l

lTI OMAP系列,2009年OMAP3和OMAP4关注度较高Freescalei.MX51系列Qualcomm 8650/8672Samsung S5PC110/S5PV210Marvell ARMADA系列

l新的ARMv7共同点是提供600MHz到2GHz主频的双发射处理器和128bit NEON SIMD,并提供双核版本l

lOMAP4440 1+ GHz dual-core ARM Cortex-A9 MPCore+ PowerVRSGX 540 GPU + C64x+ DSP + ISP (Image Signal Processor) 1080p HDQSD8672

1.5 GHz dual-core ARM Cortex-A9 MPCore+ 3D + 3G (HSPA+, CDMA200 1x) + 1080p HD

Android手机平台移植与底层开发

ARMv7-a指令集亮点

l

l

l

l

lARMv7-a提供单周期执行2条ARM指令的能力提供NEON SIMD指令集,可以操作128bit 寄存器NEON指令集最高可以同时操作16个8bit数据GCC编译器提供-ftree-vectorize自动生成向量指令C语言程序可以很容易显式使用NEONl

l

l需要16像素混合,直接调用内建函数uint8x16_t vmlaq_u8 (uint8x16_t, uint8x16_t)等效向量指令: vmla.i8 q0, q0, q0

Android手机平台移植与底层开发

如何移植Android到新的硬件平台

l移植Android到新的硬件,需要的部件lGCC工具链

需要交叉编译工具链,如arm-linux-gnueabi工具链

需要支持新硬件的androidenabled内核

当需要支持不同的指令集/架构时,需要相应的mterp优化代码

确保编译和运行OKlAndroid操作系统内核 lDalvikVM interpreter l其余的根文件系统

Android手机平台移植与底层开发

支持新硬件的android内核

l例如以支持Cortex-A8 omap3530 i.mx515的内核为基础,加入android

特性

Android手机平台移植与底层开发

选定支持的硬件平台

l比如选择

I.MX515

Android手机平台移植与底层开发

添加内核新特性

l使用更新的ubifs替代android已有的

yaffs2

Android手机平台移植与底层开发

添加优化的Dalvikinterpreter代码

l

l

l

l

l

l

l

l

l

l

l

l

l

lzhoum@gowinserver01:/build/android/dalvik/vm/mterp$ ls-ltotal 164-rw-r--r--1 zhoumzhoum812 2009-09-09 23:37 InterpAsm-allstubs.S-rw-r--r--1 zhoumzhoum408310 2009-09-09 23:37 InterpAsm-armv4t.S-rw-r--r--1 zhoumzhoum407957 2009-09-09 23:37 InterpAsm-armv5te.S-rw-r--r--1 zhoumzhoum1215759 2009-10-05 11:26 InterpAsm-armv7a.S-rw-r--r--1 zhoumzhoum303297 2009-09-09 23:37 InterpAsm-x86.S-rw-r--r--1 zhoumzhoum148940 2009-09-09 23:37 InterpC-allstubs.c-rw-r--r--1 zhoumzhoum67640 2009-09-09 23:37 InterpC-armv4t.c-rw-r--r--1 zhoumzhoum67641 2009-09-09 23:37 InterpC-armv5te.c-rw-r--r--1 zhoumzhoum67641 2009-10-22 09:50 InterpC-armv7a.c-rw-r--r--1 zhoumzhoum159124 2009-09-09 23:37 InterpC-portdbg.c-rw-r--r--1 zhoumzhoum148771 2009-09-09 23:37 InterpC-portstd.c-rw-r--r--1 zhoumzhoum98912 2009-09-09 23:37 InterpC-x86.c

Android手机平台移植与底层开发

Android调试新平台

l调试新平台的工作

l

l

l

l调试内核调试Dalvik调试Android应用调试本地程序

Android手机平台移植与底层开发

Android平台支持现状

lAndroid硬件平台支持状况

lARM平台

支持最早,特性最丰富

提供一定程度支持

正在积极移植当中

正在移植当中lX86平台 lMIPS平台 lPowerpc平台

Android手机平台移植与底层开发

Android底层除了移植还有什么可作的?

lAndroid底层开发的推动力

l

l已有的非Android软件资源对用户有强大的吸引力(想想在新买的NokiaN900上面同时使用Nokia的Maemo应用和Android应用,或者把上网本当作Android平台)Dalvik欠缺必要的高级特性,如JIT等

Android手机平台移植与底层开发

Android底层开发关键技术解析

l解决底层问题方法-解除Android系统的耦合l

l

l

l将Dalvik于bionic以及硬件驱动剥离开修改Dalvik以支持标准glibc和GNU/Linux把Dalvik当作普通应用程序Dalvik可被单独优化和改进

Android手机平台移植与底层开发

在实际硬件上运行Android

l

l

l

l

l部署android到目标平台上准备好zImage镜像准备好android-fs.ubi镜像通过bootloader或已有的linux系统将zImage和ubi写入到flash重新启动

Android手机平台移植与底层开发

我们提供的培训课程

}Android系统开发培训班(2天)

}

}第一天:Android底层架构介绍与内幕分析【内容】分析和学习Android底层软件架构,功能实现机理。以最新的Linux内核与Android代码为例介绍驱动,接口,软件库的开发原理与技巧。第二天:最新硬件平台Android移植案例

【内容】分析Android最新硬件平台ARM11和Cortex-A8移植实例,学习成功的Android平台移植技巧和技术诀窍,深入了解贴近实际的Android硬件驱动和相关软件。17

Android手机平台移植与底层开发

bd336x280();y=393-592.jpg" alt="Android手机平台移植与底层开发" />

Q&A18

Android手机平台移植与底层开发

谢谢!19

本文来源:https://www.bwwdw.com/article/6x1m.html

Top