ubuntu下安装S3C2440交叉编译链工具

zyg 2年前 (2023-02-04) 阅读数 2043 #Linux使用

null

(一)安装必需软件

配置交叉编译工具所需要的软件有cmake、gcc、ftp工具和解压缩工具tar,ftp工具使用简易的vsftp,前一篇文章有说明,使用命令行安装gcc和cmake以及ta工具:

<pre class="prism-highlight prism-language-bash">sudo apt-get install gcc tar make

查看gcc、tar和cmake的版本,检查是否成功安装:

检查cmake版本:

<pre class="prism-highlight prism-language-bash">make --version

检查tar版本:

<pre class="prism-highlight prism-language-bash">tar --version

检查gcc版本:

<pre class="prism-highlight prism-language-bash">gcc -v

检查后没有问题。

(二)解压并配置编译器

将JZ2440中提供的arm-linux-gcc 4.3编译器发送到ubuntu,进入目标文件夹解压:

<pre class="prism-highlight prism-language-bash">sudo tar jxvf ./arm-linux-gcc-4.3.2.tar.bz2  -C /

使用此命令会将文件自动解压到 /usr/local 文件夹,进入此文件夹,发现多了一个 arm 文件夹,这个就是编译器,赋予此文件夹777权限:

<pre class="prism-highlight prism-language-bash">sudo chmod 777 -R ./arm/

(三)配置系统变量

配置系统变量后,可以在任何位置使用交叉编译器。先配置profile:

<pre class="prism-highlight prism-language-bash">sudo vim /etc/profile

在profile下边添加解压后交叉编译器的bin和lib路径:

<pre class="prism-highlight prism-language-c">export PATH=$PATH:/usr/local/arm/4.3.2/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:usr/local/arm/4.3.2/lib

由于现在的系统多为64位,需要为32位的编译器安装一个库才可以使用:

<pre class="prism-highlight prism-language-bash">sudo apt-get install lib32z1

另外为了保证每次不需要重复执行source /etc/profile,需要在用户<span style=”color: #4D4D4D; font-family: -apple-system, “SF UI Text”, Arial, “PingFang SC”, “Hiragino Sans GB”, “Microsoft YaHei”, “WenQuanYi Micro Hei”, sans-serif, SimHei, SimSun; font-size: 16px; background-color: #FFFFFF;”>“/home/用户名” 目录下的 “.bashrc” 隐藏文件下加上和 “/etc/profile” 一样的两句:

<pre class="prism-highlight prism-language-c">export PATH=$PATH:/usr/local/arm/4.3.2/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:usr/local/arm/4.3.2/lib

<span style=”color: #4D4D4D; font-family: -apple-system, “SF UI Text”, Arial, “PingFang SC”, “Hiragino Sans GB”, “Microsoft YaHei”, “WenQuanYi Micro Hei”, sans-serif, SimHei, SimSun; font-size: 16px; background-color: #FFFFFF;”>

(三)测试交叉编译器

更新profile:

<pre class="prism-highlight prism-language-c">cd /home/ubuntu   ### 我的用户名是ubuntu
source ./.bashrc

检查arm-linux-gcc是否可用:

<pre class="prism-highlight prism-language-bash">arm-linux-gcc -v

成功检测后输出如下:

<pre class="prism-highlight prism-language-bash">ygzone@YGZone-GL62M-7RD:/usr/local/arm/4.3.2/bin$ arm-linux-gcc -v
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /scratch/julian/lite-respin/linux/src/gcc-4.3/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2008q3-72' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/libc --with-gmp=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin
Thread model: posix
gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)
版权声明

本文仅代表作者观点。
本文系作者发表,未经许可,不得转载。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

yanguo

yanguo

管理员
作者文章
最新文章
标签列表
    欢迎你第一次访问网站!