欢迎来到天天文库
浏览记录
ID:24090237
大小:54.00 KB
页数:4页
时间:2018-11-12
《利用crosstool》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、利用crosstool:该文通过crosstool-ng脚本工具,提出了一种在Linux构建交叉编译环境的实用方法,尤其方便于对ARM等微处理器的编译,具有较好的实用性。 关键词:crosstool-ng;Linux;交叉编译;ARM :TP393:A:1009-3044(2011)19-4553-02 UsingCrosstool-ngtoConstructtheCross-pilerToolChain LIUEr-gang (CollegeofInformationScienceTechnologyHainanUniversity,Haikou570228,China)
2、Abstract:Thepaperpresentsapracticalmethodofconstructingcross-pilerenvironmentbythecrosstool-ngscriptingtoolintheLinux.Thisicroprocessor. Keyorin.is-a-geek.org/doorin.is-a-geek.org/doake、libtool、patch、gcj、cvs、cvsd、gae/crosstool-ng,解压好的文件夹为crosstool-ng-1.9.3。如果存在补丁文件,则需要在此目录中运行 patch-p1<"补丁文件"
3、 之后在crosstool-ng文件夹下新建install安装目录并在终端中执行: 1)配置sudo./configure–prefix=/home/crosstool-ng/install 2)编译sudomake 3)安装sudomakeinstall 3.4复制交叉编译文件 生成交叉编译工具之前,需要准备配置文件。可以复制对于ARM环境编译的配置文件到安装目录,这个配置文件在sample目录下。在终端执行: cp/home/crosstool-ng/crosstool-ng-1.9.3/samples/arm-unknoe/crosstool-ng/install/b
4、in 3.5配置交叉编译工具链 复制好构建交叉编译工具所需的配置文件之后,还需对其进行环境设置。进入安装目录cd/home/crosstool-ng/install/bin,执行sudo./ct-ngmenuconfig 1)下载编译所需源码包并设置路径 在随后的编译过程中,需要一系列的软件包,程序在执行过程中如果在本地磁盘找不到这些软件包,会自动去X上下载,但是会放慢整个编译过程。通过查看crosstool/install/bin目录下的.config文件,可以得知所必需的软件包。通过预先下载这些软件包并存放在本地磁盘上,可以大大加快编译速度。具体的软件在此不具体列出,读者可以
5、自行分析。在该文中在crosstool下新建目录src并将下载下来的软件包存放于此。 修改源码包的下载路径,在该文中修改为/home/crosstool-ng/src 2)修改交叉编辑安装路径 交叉编译器的安装位置,在该文中修改为/home/crosstool-ng/build 3)修改交叉编译体系 对于ARM处理器来说,由于其不同的体系结构、地址空间和指令位数,因此在编译器上并不相同。对于S3C2410/S3C2440处理器芯片来说,核心是arm920t;而对于S3C6410来说,用的是armv6的框架,因此需要选择armv6。对于不同的处理器芯片,首先查询芯片手册得到其处理
6、器结构框架。该文以S3C2440为例,在Targetoptions--->下,进行如下选择:(armv4t)Architecturelevel (arm9tdmi)EmitassemblyforCPU (arm920t)TuneforCPU 4)内核源码版本修改 确定编译系统的Linux内核版本。该文的Linux内核为2.6.32.15。在install/bin目录下,修改.config文件.修改其中的内核版本。 CT_KERNEL_VERSION=2.6.33.7修改为CT_KERNEL_VERSION=2.6.32.15 CT_KERNEL_V_2_6_33_7=y
7、修改为CT_KERNEL_V_2_6_32_15=y CT_LIBC_GLIBC_MIN_KERNEL=2.6.33.7修改为CT_LIBC_GLIBC_MIN_KERNEL=2.6.32.15 其它选项不需要改变,保存之后退出就可以了。 5)一些个性化设置 在Toolchainoptions--->选项中修改为: (liueg)Tuple’svendorstring 这样生成的编译器前缀就是:arm-liueg-
此文档下载收益归作者所有