Android系统移植(一) | 您所在的位置:网站首页 › rpg移植安卓怎么操作 › Android系统移植(一) |
项目:安卓系统移植
1.什么是Android?
百度百科:Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。 而这只是书面用语,并不能让我们更清楚的认识what is Android? 就像android开源和兼容性技术负责人danmorrill在android开发手册兼容性部分所解释的,“android并不是传统的linux风格的一个规范或分发版本,也不是一系列可重用的组件集成,android是一个用于连接设备的软件块。”
what is Android? 而我个人认为安卓更像是应用系统或者应用程序,只不过是一种特殊的应用程序而已。 那我们又如何使用它呢?这就是我们接下来需要做的工作:Android系统移植 2.为什么需要移植Android? Android系统移植就是为了让Android运行在特定的硬件环境,我们才能够使用它。那 怎么移植Android系统呢?首先来看看Android系统整体架构,以便于更清晰的认识它。 Android从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。
Linux内核和应用程序框架层之间的HAL层主要是对linux内核驱动的封装,将硬件抽象化,屏蔽掉了底层的实现细节。HAL规定了一套应用层对硬件层读写和配置的统一接口,本质上就是将硬件的驱动分为用户空间和内核空间两个层面;Linux内核驱动程序运行于内核空间,硬件抽象层运行于用户空间。 了解了Android的整体架构,大家是不是更迷惑了?这不就是linux操作系统么?也有linux内核,也有库,框架等等。android开源和兼容性技术负责人dan morrill:“android并不是传统的linux风格的一个规范或分发版本”,Android并不是linux: 1. 它没有本地窗口系统 2. 它没有glibc支持 3. 它并不包括一整套标准的Linux使用程序 4. Android专有的驱动程序 虽然Android不是linux,但是它是基于linux内核的“操作系统”。因此我们移植Android也和linux的关系比较大。接下来回到我们的主题:怎么移植Android呢? 大家先想想当按下Android设备电源键时都做了什么工作?
当你按下电源开关后Android设备执行了以下步骤:
从这幅图上面,我们可以看到Android启动流程。 而Android操作系统运行所需要的三大重要部分:bootlader,kernel,ramdisk Bootlader 作为引导程序,引导linux内核的加载。如uboot Kernel linux内核,选用linux-3.5 Ramdisk 文件系统 有了这三个重要部分,我们的Android才能正常运行于目标硬件上。 接下来,我们就正式开始Android系统的移植的准备工作。 3.移植前奏 正式开始之前我们当然要准备好所需要的软硬件了: 目标硬件:TINY4412 开发环境:ubuntu 12.04.1-64位 编译器:arm-none-linux-gnueabi- 4.5.1 Android源码:Android4.2.2 Bootlader和kernel和Android4.2.2源码均由友善之臂提供 接下来可以开始准备移植前的工作了: 3.1 Bootlader模块 3.2 Kernel模块 3.3 Ramdisk模块 具体过程省略,见另一篇文档。 4.LED驱动测试在移植Android完成成功启动Android后,编写LED驱动并测试。 此过程省略,见另一篇文档。 5.总结1. 官方文档的重要性 2. 还是没有把握好项目整个流程,思路比较野 3. 解决问题的思路有点乱,没有理解清楚问题产生的根源便急于去解决而造成大量时间的浪费
这是我在CSDN写的第一篇博客,不足之处请大家见谅。若文章有任何错误的地方,欢迎大家指出。共同进步,共同努力! 未完待续!
|
CopyRight 2018-2019 实验室设备网 版权所有 |