历史上的今天
返回首页

历史上的今天

今天是:2024年10月16日(星期三)

正在发生

2019年10月16日 | iTOP-4412开发板-Android5.1- 移植教程

2019-10-16 来源:51hei

本文档介绍itop-4412开发板上移植 Android5.1 的教程,包括:基础知识、搭建编译环境、编译、repo 下载、烧写等内容。


需要了解的基础知识有 git 和 repo 工具,这两个工具是程序员必备要会使用的工具;搭
建编译环境是基于 Ubuntu14,这是由 Android 的版本决定的,另外需要至少 120G 的硬盘空间;另外还有使用 repo 下载源码、编译、烧写等等。

1 Git 和 repo
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds(和内核发明人是同一个人)为了帮助管理 Linux 内核开发而开发
的一个开放源码的版本控制软件,它采用了分布式版本库的方式,不必服务器端软件支持。


Git 是一个,关于 Git 的教程,网上非常多,比较好的教程链接如下:
www点runoob点com/git/git-tutorial.html
在我们的移植教程中,Git 只需要简单了解下,但是这个工具还是很有用的,用户如果有
时间可以自己好好学习下,github 上还有很多有用的开源软件,非常哟用。


repo 只是 google 用 Python 脚本写的调用 Git 的一个脚本,主要是用来下载、管理
Android 项目的软件仓库。也就是说,repo 是调用 Git 的一个脚本,运行这个脚本会将源码下载到本地,也有同步和合并的命令。学习链接如下:
http://blog.csdn.net/wh_19910525/article/details/8164107


2 搭建基础编译环境
2.1 Ubuntu14.04 的安装
编译 Android5.1 需要用到 Ubuntu14.04,在网盘“iTOP4412 开发板资料汇总(不含光
盘内容)iTOP-4412 开发板搭建编译环境所需要的工具包以及补丁包8-Android5.1 开发工具包1-Ubuntu14.04 镜像”目录下。安装方法参考用户使用手册 3.2 小节,和

Ubuntu12.04 版本安装方法一样。


2.2 安装 ssh 和 vim
虚拟机 Ubuntu14.04 安装完成之后,首先需要开启 root 用户(参考用户手册 3.3.2 小
节)、联网以及更新数据源(参考用户手册 3.3.4 小节)。请注意:编译 Android5.1.1 之后,源码和中间文件有接近 90G,建议用户在安装的 Ubuntu 的时候,建议提供 150G 以上的空间,作者刚开始测试分配 100G,发现会报错。


联网和更新数据源之后,需要安装 vim 编辑器和 ssh 工具。
vim 工具的安装使用参考 3.4 小节。

参考 3.2.5 小节,首先在 Windows 上安装 ssh 工具(已经安装的就不需要安装了)。
Ubuntu14.04 上安装 ssh 工具,使用命令“apt-get install ssh”.
虚拟机 Ubuntu 上的 SSH 软件安装之后,还需要设置一下。


1)首先登陆 root 账户,然后使用命令“vim /etc/ssh/sshd_config”打开配置文件。

1.png?imageView2/2/w/550

2)打开之后如下图所示。
2.png?imageView2/2/w/550 
3)找到 Authentication 配置部分,将 PermitRootLogin without-password 修改为
PermitRootLogin,如下图所示。
3.png?imageView2/2/w/550 
4)然后保存退出,重启下 Ubuntu,Ubuntu 上的 ssh 就设置完毕。

3 编译内核
内核的编译使用 arm-2009q3 交叉编译工具,参考用户手册 5.2.2 小节。
1)拷贝网盘“iTOP4412 开发板资料汇总(不含光盘内容)iTOP-4412 开发板搭建编译
环境所需要的工具包以及补丁包8-Android5.1 开发工具包2-Android5.1 内核源码”文件
夹里面的 linux 内核源码 iTop4412_Kernel_3.0_for_android_5.1.1.tar.gz 到 ubuntu 系统
下,如下图:
5.png?imageView2/2/w/550
2)然后输入命令“tar -xvf iTop4412_Kernel_3.0_for_android_5.1.1.tar.gz”解压内核
源码,如下图:
6.png?imageView2/2/w/550

3)解压完生成 iTop4412_Kernel_3.0 文件夹,进入到该文件夹,如下图:

7.png?imageView2/2/w/550

4)根据使用的核心板型号选择对应的配置文件
scp 核心板输入命令:cp config_for_android_scp .config
pop 核心板输入命令:cp config_for_android_pop .config
(笔者使用的 scp 的核心板),如下图:
8.png?imageView2/2/w/550
5)然后输入命令 make,编译内核,如下图:
9.png?imageView2/2/w/550
6.编译完生成 zImage 镜像,如下图:

10.png?imageView2/2/w/550

4 下载和编译 Android5.1
在网盘“iTOP4412 开发板资料汇总(不含光盘内容)iTOP-4412 开发板搭建编译环境
所需要的工具包以及补丁包8-Android5.1 开发工具包3-repo 和补丁包”目录下有
“iTOP-4412-Android5.1-repo 文件.zip”和“itop4412_5.1_path_20180315.tar”两个压
缩包。
1)首先在 ubuntu 系统目录下建立文件夹“android-5.1.1_r9”,如下图:
11.png?imageView2/2/w/550
2)然后进入到“android-5.1.1_r9”文件夹,如下图:
12.png?imageView2/2/w/550
3)解压网盘“iTOP4412 开发板资料汇总(不含光盘内容)iTOP-4412 开发板搭建编译
环境所需要的工具包以及补丁包8-Android5.1 开发工具包3-repo 和补丁包”目录下的
“iTOP-4412-Android5.1-repo 文件.zip”压缩包,得到 repo 文件。
拷贝文件“repo”到 ubuntu 的 android-5.1.1_r9 文件夹下面,如下图:
13.png?imageView2/2/w/550
4)使用 chmod 命令修改 repo 文件的权限:chmod 777 repo,如下图:
14.png?imageView2/2/w/550
5)然后在当前目录下输入“./repo init -u
git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-5.1.1_r9”,初始化
android 5.1 的代码,如下图:
15.png?imageView2/2/w/550
6)然后输入命令“./repo sync -j4”(注意:-j4 表示系统是 4 核,如果是 8 核则可以
使用命令-j8,加快速度),开始同步下载 android 5.1 源码(确保 ubuntu 系统有足够的空
间,整个下载过程跟网速有关系,网速慢很可能超过 1 天),如下图:
16.png?imageView2/2/w/550
7)下载完 android 5.1 的源码,然后网盘“iTOP4412 开发板资料汇总(不含光盘内
容)iTOP-4412 开发板搭建编译环境所需要的工具包以及补丁包8-Android5.1 开发工具
包3-repo 和补丁包”文件夹里面的“itop4412_5.1_path_2018xxxx.tar.gz”压缩文件到
ubuntu 上的 android-5.1.1_r9 文件夹下面,如下图:
17.png?imageView2/2/w/550
8)然后输入解压命令“tar -xvf itop4412_5.1_path_20180313.tar.gz”,如下图:
18.png?imageView2/2/w/550
9)解压完成后,android 5.1 的源码就支持 itop-4412 平台了,然后输入编译命令
“./create.sh”,如下图:
19.png?imageView2/2/w/550
10)编译完成,会在“out/target/product/itop4412”目录下生成 android 镜像
ramdisk-uboot.img,system.img,如下图:
20.png?imageView2/2/w/550
11)如下图所示,作者编译过两次,给虚拟机 Ubuntu 提供了 8G 内存,第一次中间打
断,第二次编译耗费时间为 57 分 10 秒。
21.png?imageView2/2/w/550 
12)另外,如下图所示,如果用户空间不够,会报以下错误(作者的用 100G 测试报如
下错误)。
22.png?imageView2/2/w/550
5 烧写测试

烧写可以参考用户手册第三章,uboot 使用 Android4.0 的就成。

itop4412开发板:

TB2_M1bcXXXXXa3XXXXXXXXXXXX_!!684017536.jpg?imageView2/2/w/550


推荐阅读

史海拾趣

Ferroxcube公司的发展小趣事

在全球经济一体化的背景下,Ferroxcube公司意识到拓展国际市场的重要性。为了进一步扩大业务范围,公司决定在欧洲、亚洲和北美等地设立分支机构,以更好地服务当地客户。

通过在各地设立销售和服务中心,Ferroxcube成功地打入了多个国际市场。公司的产品和服务得到了越来越多国际客户的认可和赞赏。同时,公司也积极与当地的研究机构和高校合作,共同推动磁性元件技术的创新和发展。

这些国际市场的成功拓展不仅为Ferroxcube带来了更多的业务机会和收入来源,还进一步提升了公司在全球电子行业中的地位和影响力。如今,Ferroxcube已经成为了全球知名的磁性元件供应商之一,为电子行业的发展做出了重要贡献。

动运科技(DONGWOON)公司的发展小趣事

动运科技(DONGWOON)公司,最初成立于1987年(也有资料称为1988年)的韩国首尔,是一家专注于模拟和功率驱动IC研发的半导体公司。在初创阶段,公司凭借对半导体技术的深刻理解和不懈追求,逐渐在模拟IC领域积累了技术和市场经验。通过不断的技术创新和产品优化,动运科技逐步获得了业界的认可,为其后续的发展奠定了坚实的基础。

Diamond SA公司的发展小趣事

随着技术的不断成熟,Diamond SA公司开始积极拓展市场。他们与全球知名的电子产品制造商建立了合作关系,将自己的芯片技术应用于各种电子设备中。同时,公司还加大了品牌推广力度,通过一系列营销活动提升了品牌知名度和美誉度。随着市场份额的逐步扩大,Diamond SA公司成为了电子行业中的领军企业。

GWP Group公司的发展小趣事

在电子行业的初期,Diamond SA公司以其卓越的技术研发能力脱颖而出。公司创始人对半导体技术的深入研究,引领了一场技术革命。他们成功开发出一种新型的芯片设计,大大提高了电子设备的性能和效率。这一创新技术迅速在市场上获得了认可,Diamond SA公司也因此逐渐崭露头角。

昆泰(CHRONTEL)公司的发展小趣事

1994年4月,昆泰在美国成功上市,募集资金3550万美金。这笔资金为昆泰的后续发展提供了强有力的支持。上市后,昆泰加速了其业务扩张和技术创新的步伐,进一步巩固了其在全球CRO行业的领先地位。

Ceratech Corporation公司的发展小趣事

随着全球化进程的加速推进,Ceratech Corporation公司意识到要想在激烈的国际竞争中立于不败之地,必须实施全球化战略。公司开始积极拓展海外市场,通过建立海外分公司、参加国际展会等方式,加强与国际同行的交流与合作。同时,公司还积极引进国际先进的技术和管理经验,不断提升自身的创新能力和管理水平。通过全球化战略的实施,Ceratech Corporation逐渐成为了国际电子行业中的佼佼者。

问答坊 | AI 解惑

用7905怎么设计-5负电源

本帖最后由 paulhyde 于 2014-9-15 09:48 编辑 用7905怎么设计-5负电源的原理图是怎样的啊????? 大哥们帮帮忙!!!  …

查看全部问答>

招聘硬件开发工程师

本公司提供良好发展机会和平台 我公司是一家主营一卡通智能管理系统、智能卡机具、热工仪表三大类产品,集研发、生产、销售、工程安装维护等全套工程实施,具有雄厚技术、销售实力的民营企业。 公司于2003年11月取得ISO9001认证;2005年8月,被杭 ...…

查看全部问答>

i2c总线协议(中文版)

i2c总线协议(中文版)相关说明…

查看全部问答>

ARM,DSP,FPGA,CPLD,SOPC,SOC之间的联系和区别

arm是一种嵌入式芯片,比单片机功能强,可以针对需要增加外设。类似于通用cpu,但是不包括桌面计算机。 DSP主要用来计算,计算功能很强悍,一般嵌入式芯片用来控制,而DSP用来计算,譬如一般手机有一个arm芯片,主要用来跑界面,应用程序,DSP可能 ...…

查看全部问答>

那里可以获得STM32F103的JTAG接口的资料啊?

                                 请问一下,那位知道在那里可以获得STM32F103的JTAG接口的资料呢?…

查看全部问答>

求教:捕捉不稳定的问题怎么解决!!

用DSP2812的捕捉口来捕捉过零点检测,但是捕捉到的脉冲信号不稳定,过零点后的脉冲方波已经加了低通滤波器和施密特触发器了,但是DSP捕捉到的信号仍不稳定怎么办啊!!!…

查看全部问答>

希望单片机高手帮忙看下这款单片机的型号是什么?

下面是单片机的引脚截图,没有型号,希望单片机高手能帮忙识别下单片机是什么型号的,万分感谢!!…

查看全部问答>

求助电容传感器问题

请问各位大神,谁做过关于电容称重传感器方面的项目,小弟想咨询一些问题…

查看全部问答>

stm32定义新变量影响da

现在程序中(程序下载到stm32 vct6中)定义一个新变量但不使用,DA(DA控制机床主轴)就没有输出了,可是在线调试的时候,那段代码都正常走的啊,但主轴就是不转 。 请问各路大神,这究竟是哪里出了问题啊 …

查看全部问答>

请教高手:做51格力空调遥控器,解了码后不知为何空调没反应,附程序如下。

#include #define uchar unsigned char #define uint unsigned int sbit   output = P1^0; sbit KEY1=P3^0; sbit KEY2=P3^1; sbit KEY3=P3^2; sbit KEY4=P3^3; static bit OP;        //红外发射 ...…

查看全部问答>