历史上的今天
返回首页

历史上的今天

今天是:2024年10月19日(星期六)

正在发生

2019年10月19日 | 4412嵌入式开发平台Android系统开发环境搭建以及编译

2019-10-19 来源:eefocus

平台:iTOP-4412开发板

本文介绍 uboot、Linux3.0.15 和 linux-3.5 内核、Android4.0.3 和Android4.2.2 编译环境的搭建以及编译。


Uboot、Kernel 以及 Android 的编译环境看似复杂,用户只要抓住以下几个要点就可以

了:

第一:Uboot、Kernel 编译器。编译器在光盘中都有提供,在需要使用的步骤中,会说

明编译器在光盘中的位置。


第二:设置环境变量。Uboot、Kernel 编译器的环境变量设置后,编译的时候,系统才

能找到编译器。


第三:Android 文件系统的编译器。编译器需要使用 Ubuntu 系统自带的 gcc 编译器,

但是版本不对,所以需要降低版本。迅为将这个过程编写了成几个简单的命令,用户只需要挨个执行命令就可以了。


第四:库文件。搭建过程中会给通过执行简单的脚本命令来安装库文件,复杂的步骤变的

简单有效。


另外,如果用户想了解编译环境具体是怎么搭建起来的,可以利用我们提供的脚本文件来

学习。


Android4.0.3编译环境的两种搭建方式

迅为电子给用户提供两种搭建编译环境的方式,一种方法是用户安装虚拟机,然后安装基

础的 Ubuntu12.04.2 系统,利用我们提供工具和详细的使用步骤,搭建编译环境;另外一种方法是用户安装虚拟机,然后直接加载我们“搭建好的 Ubuntu 镜像”,用户只需要修改一下编译器的环境变量,就可以直接用来编译源码。


1.  自己搭建环境

自己安装虚拟机,安装 Ubuntu12.04.2 系统,搭建环境。

2.   搭建环境

如何搭建编译环境,这里需要注意的是,搭建过程中用到的各类软件,都需要和手册提到的版本保持一致,如果使用的是“搭建好的镜像”,则可以跳过这一节,但是编译的时候要针对性的设置一下环境变量。


3.  安装基本软件

首先安装虚拟机“Vmware_Workstaion_wm”,然后使用虚拟机安装“Ubuntu12.04.2

初始系统”。


Ubuntu 的安装方法可以参考 3.2 小节来安装 Ubuntu12.04.2 原始系统,如下图所示,

Ubuntu 初始系统安装完成。


输入密码“topeet”,登陆 Ubuntu,键盘上按“Ctrl+Alt+t”,弹出 Ubuntu 的控制

台。如下图所示。

安装完成后进入 Ubuntu 的终端,激活 root 用户,具体操作如下。


在 Ubuntu 命令行中,执行命令“sudo passwd root”。

接着在 Ubuntu 的终端输入安装时的密码和新密码,Ubuntu 系统中密码默认是隐藏的。

如下图所示。


接着登录 root 用户,具体操作如下。

在 Ubuntu 命令行中,执行命令“su root”。

接着输入密码,就可以登陆 root 用户。

后面所有的操作都需要在 root 用户下面进行操作,如下图所示。

虚拟机 VMware-workstation8.0.3 联网

修改数据源地址,将 Ubuntu 数据源地址修改为国内地址。


更新数据源。

然后在 Ubuntu 安装软件 vim 和 ssh,在 Ubuntu 命令行中,执行命令“apt-get install

vim”和“apt-get install ssh”。

上面安装的 ssh 软件,可以很方便在主机和虚拟机上传递文件,也可以通过远程终端控制

Ubuntu 系统,这里推荐给大家使用。


安装编译组件

交叉编译工具

编译的时候需要用到交叉编译工具,我们提供的交叉编译工具是用户光盘“02_编译器以

及烧写工具”→“arm 交叉编译器”文件夹中的压缩包“arm-2009q3.tar.bz2”。


使用 SSH 工具将交叉编译工具拷贝到 Ubuntu12.04.2 系统的文件夹“usr”-->“local”-->“arm”中,local 下默认没有 arm文件夹,可以新建一个。如下图所示。


拷贝编译器之后如下图所示。


然后在 Ubuntu 系统中将压缩包解压到当前目录下。

使用命令“cd /usr/local/arm/”进入/usr/local/arm文件夹,然后使用解压命令“tar -vxf arm-2009q3.tar.bz2”解压压缩包,如下图所示。

修改交叉编译工具的路径(修改环境变量)

修改交叉编译工具路径,需要修改环境变量。在 Ubuntu 命令行中,执行命令“cd

/root”和“vim .bashrc”,打开环境变量文件“.bashrc”,如下图所示。

然后在“.bashrc”文件中的最后一行添加如下信息:

“export PATH=$PATH:/usr/local/arm/arm-2009q3/bin”

如下图所示。


修改完成后保存退出。

执行下列命令,更新环境变量“source .bashrc”的命令,如下图所示。


最后,在 Ubuntu 命令行中输入命令“arm”,然后按 TAB 键,如果在命令行中能够看

到 arm 编译器的信息,就表明交叉编译工具安装成功。如下图所示。

安装库文件、JDK以及降低GCC版本        

为了方便用户,将库文件和 JDK 的安装命令制作成了脚本文件,用户只要执行两个脚本

就可以安装库文件和 JDK。这两个脚本在用户光盘“02_编译器以及烧写工具”→“tools”文件夹下的压缩包“Android_JDK.tar.bz2”中,如下图所示。


用户将压缩包拷贝到 Ubuntu 系统中,解压压缩包会生成文件夹“Android_JDK”,如

下图所示。



安装库文件和 JDK

使用 cd 命令,进入解压出来的“Android_JDK” -->“jdk6”文件夹,运行脚本文件

“install-sun-java6.sh”。

需要注意的是,这条命令执行完毕可能会耗时 15 分钟以上。

如下图所示,执行“./install-sun-java6.sh”脚本。

执行上面的命令的时候,根据提示输入“回车”命令。升级完成之后如下图所示。


进入解压出来的文件夹“Android_JDK”中运行脚本“install-devel-packages.sh”,安

装库文件。在 Ubuntu 命令行中,执行命令“./install-devel-packages.sh”,需要注意的是,这条命令可能会耗时 40 分钟以上,如下图所示。


上面命令执行的时候,需要根据提示输入“Y”。


然后安装过程中,还会提示输入“y”,如下图所示

如下图所示,安装完毕。


这里需要注意的是,上面这个脚本执行完毕的时候,注意一下有些库文件是不是提示没有

安装。如果发现有库文件没有安装,有可能是网络不好或者下载源丢失。这个时候用户使用一

下更新下载源的命令”apt-get update“,然后再执行一下上面的两个脚本。

例如,如下图所示,再次运行“./install-devel-packages.sh”之后,提示没有无法安装

的库和软件,那么表明已经安装完全了。

降低 GCC版本

使用 Ubuntu 编译 Android 的时候需要用到 Ubuntu 系统自带的 GCC4.4.7 编译器,但

是安装的 Ubuntu12.04.2 版本,它的 GCC版本过高,所以这里需将要 GCC编译的版本降低到 4.4.7。


进入前面解压的文件夹“Android_JDK”中,会看到一个文本“update_gcc.txt”,打开

文本“update_gcc.txt”后会看到里面有 8 条命令,这 8 条命令需要在 Ubuntu 命令行中依次执行。如下图所示,使用命令打开“update_gcc.txt”文件。

如下图所示,有 8 条命令。

例如执行第一条命令。

根据提示输入“y”,如下图所示。

其余几条命令,如下图所示,执行起来很快。

在执行了这 8 条命令之后,Ubuntu 系统就将 gcc 的版本降低到 4.4.7。

如下图所示,使用命令“gcc -v”,可以看到 gcc 的版本为 4.4.7 了。

需要注意的是,在执行这 8 条命令时,只有第一条命令会耗时 10 分钟左右,其它的都会

很快完成,而且命令一定要依次执行,不能有遗漏

推荐阅读

史海拾趣

Digi International公司的发展小趣事

为了庆祝公司成立30周年,Digi International推出了全新的品牌标识。这一品牌升级不仅展现了公司的创新精神和市场地位,也为其未来的发展注入了新的活力。同时,品牌升级也反映了公司对市场趋势的敏锐洞察和对客户需求的深入理解。

Crystal Clear Technology公司的发展小趣事

Crystal Clear Technology自创立之初,便专注于研发新型显示技术。面对市场上日益增长的高清显示需求,公司投入大量资源进行技术研发,成功推出了一款具有高清晰度和广视角的显示屏产品。这一创新产品迅速获得市场认可,为Crystal Clear Technology打开了新的销售渠道,并奠定了公司在行业内的技术领先地位。

EasySync公司的发展小趣事

为了进一步提升竞争力,EasySync公司积极寻求与行业领先企业的战略合作。通过与这些企业的合作,公司不仅获得了更多的技术支持和市场资源,还共同研发出了一系列创新产品。这些产品不仅丰富了公司的产品线,还进一步巩固了公司在同步技术领域的领先地位。

康龙(CONCRAFT)公司的发展小趣事

进入XXXX年代,康龙公司意识到技术创新是企业持续发展的关键。于是,公司投入大量资金引进先进的生产设备和技术人才,加强研发力量。经过几年的努力,康龙在精密模具设计和开发方面取得了重大突破,大大提高了生产效率和产品精度。同时,公司还注重产品质量的提升,通过严格的质量控制和检验流程,确保每一件产品都符合客户的高标准要求。

BusBoard公司的发展小趣事

在竞争激烈的电子行业,技术创新是企业生存发展的关键。BusBoard公司深知这一点,因此不断加大研发投入,引进高端人才,推动技术创新。一次偶然的机会,公司研发团队发现了一种新型材料,可以显著提高电路板的性能和稳定性。经过反复试验和优化,这一技术突破最终转化为实际产品,并成功推向市场。这一创新不仅提升了BusBoard公司的竞争力,也为客户带来了更优质的产品体验。

ERP公司的发展小趣事

在21世纪初,一家名为“电子智链”的ERP公司在中国电子行业崭露头角。创始人李明是一位资深电子工程师,他意识到电子企业面临的管理挑战和数字化转型的机遇。电子智链初期专注于为中小型电子企业提供定制化的ERP解决方案,帮助企业优化供应链管理、生产计划和财务管理。通过不断创新和积累客户反馈,电子智链逐渐在电子行业树立了良好的口碑。

问答坊 | AI 解惑

请各位高手指教,下面的电路能不能成立,不能成立的原因是什么?

电路是我自己画的,个人分析如下,有不对的地方希望大家指正:谢谢~ 1》通电,12V经R1到Q1的C极,经R2加至Q1的B极,Q1饱和导通,C极等于0 此时Q2,Q3,Q4的B极全部为0 Q2为PNP管,此时是导通状态,但对电路没影响 2》按S1, ...…

查看全部问答>

中国制造:脉冲超宽带 大家听说过么?

早上看到的新闻,不知道是啥东东,期待大家拨开云雾,直白地说说: 中国研发脉冲超宽带 实现家电高速无线连接 22日从中国科大获悉,中国首个脉冲超宽带无线通信系统和网络应用示范系统在该校研制成功,并已通过国家科技部组织的专家验收。未来电 ...…

查看全部问答>

基于multisim2001的数字时钟的设计 恳请大侠帮忙!感恩不尽!

要做毕业设计了,恳请有经验的大侠帮忙,谢谢!最好有论文和电路图!…

查看全部问答>

用EVC4.0如何调用Sqlce3.5数据库?急急=========================

      您好,我用EVC4.0开发的MFC程序,在Wince 5.0上运行,以前用的是Sqlce3.0的sdf数据库       现在把数据库升级成3.5以后,就连不上数据库了,       我的连接语言如下: &nbs ...…

查看全部问答>

浅谈照明级白光LED的驱动与应用

中心论题: 应用要求线性驱动应用开关型驱动应用调光应用方式 解决方案: 线性驱动在一些特定的场合应用较多开关型驱动方式主要分为降压式和升压式调光应用方式分为脉宽调制方式、频率调制方式、位角调制方式 为了保证照明级白光LED不仅能得到 ...…

查看全部问答>

这么多错误,相当吓人啊

Build Complete,  1686 Errors, 57 Warnings, 0 Remarks.   全是这种类型, >>   error: symbol _QY_Timer is defined multiple times:            C:\\CCStud ...…

查看全部问答>

写testbench时输入输出数据到文件

-- Copyright (C) 1991-2005 Altera Corporation-- Your use of Altera Corporation\'s design tools, logic functions -- and other software and tools, and its AMPP partner logic       -- functions, and any output fil ...…

查看全部问答>

高速PCB設計技術(中文)

高速PCB設計技術(中文)…

查看全部问答>

请问是用电池给beaglebone black 供电怎么接

现在的状态是这样: 我按照手册,把3.3V电压接到了bbb的tp5,地接到了tp8,通过测量,可以测到tps65217c的sys1和sys2有3.3V的输出,但是arm不启动,电源指示灯D1也不亮,按下电源开关,D1闪一下就灭了。 …

查看全部问答>

电子设计大赛

请问 各位大神们 小弟 最近 在做一个 07年的无线识别装置  碰到下面这个电路图 不知道 是什么 原理 也不知道 有什么作用??       输入是一个从4M有源晶振出来的经过五个反相器的信号  输出给一个高频功 ...…

查看全部问答>