Android深度探索(卷1):安装CC++交叉编译环境

25浏览

	Android深度探索(卷1):安装CC++交叉编译环境

X86架构的CPU采用的是复杂指令集(ComplexInstructionSetComputer,CICS),而ARM架构的CPU使用的是精简指令集(ReducedInstructionSetComputer,RISC)。

由于这两种架构的CPU使用了不同的指令集,因此在X86架构上开发可运行在ARM架构上的程序就必须要使用交叉编译器。

通常交叉编译器和相关工具包含的了很多可执行文件以及大量的共享库及头文件等资源。

这些资源的集合称为交叉编译环境。

在Internet上可以找到集成好的交叉编译环境,AndroidNDK和Android源代码中也包含的交叉编译环境。 当然,如果我们需要一个完全独立的交叉编译环境,可以下载集成好的交叉编译环境,也可以自己制作(比较复杂,建议读者下载集成好的交叉编译环境)。

下面介绍一个CodeSourcery交叉编译环境,这个交叉编译环境直接下载安装就可以安装。 读者可通过如下的网站访问CodeSourcery下载页面。

上面的页面并未直接提供CodeSourcery的下载链接,读者可以点击DownloadtheGNU/LinuxRelease链接,并输入Email(建议使用Gmail)、地址等信息,最后点击GetLite!按钮提交信息。

如图2-29所示。 最后系统会将下载地址发送到刚才输入的Email。 进入下载页面,会看到如图2-30所示的不同版本的下载链接,选择最新的版本即可。 图2-30CodeSourcery的不同版本进入CodeSourcery的下载页面后,会看到如图2-31所示的下载链接。

目前CodeSourcery有Windows和Linux两个版本。 本书使用的是第1个(IA32GNU/LinuxInstaller)。

Linux版本的安装文件是bin格式,读者可执行下面的命令安装CodeSourcery。 其中package表示CodeSourcery的安装文件名。

执行上面的命令后,会显示可视化的安装界面,如图2-32所示,读者可按提示安装CodeSourcery。

为了使用方便,建议读者将如下路径加到PATH环境变量中。 /root/compilers/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin下面编写一个简单的C程序来测试一下这个交叉编译环境。

输入下面的命令编译文件(需要加-static选项)。 #输入下面的命令将first文件上传到任意的Android设备的/data/local目录中(没有root权限也可以)。 #adbpushfirst/data/local使用adbshell命令进入Android设备的控制台,并进入/data/local目录,执行如下的命令#./first执行上面的命令就会输出firstarmprogram信息。 first程序在X86架构上运行的UbuntuLinux中是无法运行的。 读者可以试着在UbuntuLinux中运行first程序,看看会发生什么。

注意:在安装CodeSourcery的过程中会在/lib目录寻找一个库文件,但在及以上版本/lib目录已经没有库文件了。 这个库文件被放在了其他的目录。 在32位的UbuntuLinux中该文件的路径是/lib/i386-linux-gnu/,在64位的UbuntuLinux中该文件的路径是/lib/x86_64-linux-gnu/。

在安装CodeSourcery之前可以使用ln命令为文件在/lib目录建立一个链接。

本文节选至,接下来几篇文章将详细阐述如何开发ARM架构的Linux驱动,并分别利用android程序、NDK、可执行文件测试Linux驱动。 可在ubuntuLinux、Android模拟器和S3C6410开发板(可以选购OK6410-A开发板,需要刷Android)Android开发完全讲义(第2版)Android高薪之路:Android程序员面试宝典。

您现在的位置:文学书籍 > 现代诗歌

上一篇: 十个值得开发者投入的移动应用创意

下一篇:没有了

你可能喜欢的:
友情链接