ubuntu12.04 安装 skyeye 1.2.6 arm-linux-gcc arm-elf-gcc

1.首先安装skyeye的依赖包

sudo apt-get install libgtk2.0-dev pkg-config libatk1.0-dev libpango1.0-dev libfreetype6-dev libglib2.0-dev libx11-dev binutils-dev libncurses5-dev libxpm-dev autoconf automake libtool python-dev llvm

2.安装skyeye 1.2.6

3.安装交叉编译

将压缩包存放在一个目录下,这个目录就是你等会解压缩的目录,以后这个目录就不能随便删掉了,我的存放路径是 /home/song/software,如下图,记住这个路径,等会还会用到。

使用tar命令将software文件夹下的arm-linux-gcc-4.4.3.tar.gz解压缩安装到当前目录下如下图

通过下图可以看到解压成功了,并且解压后的文件存放在了/home/song/software/opt/FriendlyARM/toolschain/4.4.3文件夹下,如下图所示,这个存放路径可得记住

接下来配置系统环境变量,把交叉编译工具链的路径添加到环境变量PATH中去,这样就可以在任何目录下使用这些工具。记下上一步中的安装路径,使用命令:vim /etc/bash.bashrc 编辑文件,添加环境变量。

最后一行添加: export PATH=$PATH:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin 这个路径就是那个bin目录所在的路径,可能你的不一样,按照你实际的目录填就可以了,如下图32行

编写完保存就好了

使用命令:source /etc/bash.bashrc使环境变量生效

在终端上输入命令 arm-linux 再按Tab键,可以看到下图,说明环境变量设置成功了

4.安装arm-elf-gcc

tar jxvf gdb-7.0.tar.bz2
cd gdb-7.0
mkdir build-gdb
cd build-gdb
../configure --target=arm-elf
make
make install当中应该会遇到gcc编译全部warning都依照error的make错误
这是由于如今的GCC的版本号比較新的缘故(我的是4.6.3,自然也是遇到了这个问题)
只是我的解决方法并非将GCC降级。而是将某个出错文件夹下的Makefile中的 -Werror去掉
这样就能够正常安装了

要使用SkeyEye调试功能,能够在运行的时候增加-d參数,比如: 
$skyeye -e hello -d 
skyeye会提示
debugmode= 1, filename = skyeye.conf, server TCP port is 12345
这时就在本机的12345port开启了gdb服务 
这时在当前文件夹又一次开一个终端程序
$arm-elf-gdb hello
(gdb) target remote 127.0.0.1:12345
Remote debugging using 127.0.0.1:12345  
hello () at hello.c:23
23        }
(gdb) 
同一时候原skeyeye段给出提示
Remote debugging using host:12345
这就说明已经连接上服务,能够開始调试了



<think>嗯,用户想在Ubuntu20.04安装arm-none-linux-gnueabi-gcc交叉编译工具链。我之前处理过类似的问题,记得常见的错误是缺少32位库,导致工具链无法运行。用户提供的引用里提到过这个问题,比如引用[1]和[2]都指出64位系统需要安装32位兼容库。首先,我需要确认用户安装的方法。引用[3]提到通过apt安装gcc-arm-linux-gnueabihf,但用户可能需要的是arm-none-linux-gnueabi-gcc,这可能来自不同的源,比如Linaro或CodeSourcery。引用[4]给出的是通过下载压缩包安装,但步骤可能不够详细。用户可能尝试过手动安装旧版本的工具链,比如arm-linux-gcc-4.4.3或arm-2009q3,但遇到了问题。这时候需要检查系统是否安装了必要的依赖库,比如lib32z1、lib32ncurses等。此外,环境变量是否正确设置也很重要,特别是PATH是否包含工具链的bin目录。另外,用户可能混淆了不同的工具链名称,比如arm-none-linux-gnueabi和arm-linux-gnueabihf,前者是用于裸机或嵌入式系统,后者是针对硬浮点的。需要明确用户的需求,推荐使用较新的工具链版本,比如arm-none-linux-gnueabihf,并通过官方仓库安装,避免手动解压带来的问题。 总结下来,正确的步骤应该是先安装32位库,然后通过apt安装官方维护的工具链,或者从ARM官网下载最新的工具链并配置环境变量。同时需要验证安装是否成功,并处理可能出现的路径或权限问题。</think>在Ubuntu 20.04安装$arm$\text{-}none$\text{-}linux$\text{-}gnueabi$\text{-}gcc$交叉编译环境的步骤如下: ### 一、安装32位兼容库 ```bash sudo apt update sudo apt install lib32z1 lib32ncurses6 lib32stdc++6 ``` 这是解决“找不到文件或目录”错误的关键步骤,因为旧版工具链需要32位运行环境[^1][^2] ### 二、安装交叉编译工具链 #### 方法1:通过APT安装(推荐) ```bash sudo apt install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi ``` 新版本工具链已更名为$arm$\text{-}linux$\text{-}gnueabi$\text{-}gcc$,但完全兼容旧版功能[^3] #### 方法2:手动安装旧版(需特定版本时) 1. 下载工具链(示例使用arm-2009q3) ```bash wget https://releases.linaro.org/archive/12.04/components/toolchain/binaries/gcc-linaro-arm-none-linux-gnueabi-2012.04-20120426_linux.tar.bz2 ``` 2. 解压到系统目录 ```bash sudo tar -xjf gcc-linaro-arm-none-linux-gnueabi-*.tar.bz2 -C /usr/local/arm/ ``` 3. 配置环境变量 ```bash echo 'export PATH=$PATH:/usr/local/arm/gcc-linaro-arm-none-linux-gnueabi-2012.04/bin' >> ~/.bashrc source ~/.bashrc ``` ### 三、验证安装 ```bash arm-none-linux-gnueabi-gcc -v ``` 应显示类似$gcc$ version 4.4.1的版本信息[^2] ### 四、常见问题处理 1. **权限问题**: ```bash sudo chmod -R 755 /usr/local/arm/ ``` 2. **路径错误**: 检查工具链二进制文件实际路径: ```bash ls /usr/local/arm/*/bin/arm-none-linux-gnueabi-gcc ``` 3. **新版工具链替代方案**: ```bash sudo apt install crossbuild-essential-armhf ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值