您的当前位置:首页正文

虚拟机中Ubuntu 20.04安装arm-linux-gcc交叉编译器

2024-11-07 来源:个人技术集锦

一、Ubuntu中安装arm-linux-gcc交叉编译器 

        在网上找了好多办法都没安装成功,网上大部分以及老师给的教程都是安装4.4.3版本的,我这边系统版本是64位的,但是安装之后4.4.3之后,即使安装了32位运行库,依旧报"not found"或”arm-linux-gcc不是可执行命令“。最后成功安装了64位的arm-linux-gcc交叉编译器。

步骤如下:

arm-linux-gcc-4.6.4-arm-x86_64.tar.bz2

链接:https://pan.baidu.com/s/1iFrEWgjr16-IzELkguhVKQ?pwd=9asc 
提取码:9asc

 sudo tar -xjvf /tmp/arm-linux-gcc-4.6.4-arm-x86_64.tar.bz2 -C /

sudo mkdir /usr/local/arm
sudo chmod 777 /usr/local/arm
cd /
sudo cp -r   opt/TuxamitoSoftToolchains/arm-arm1176jzfssf-linux-gnueabi/gcc-4.6.4 /usr/local/arm

(4)为了以后可以在任何位置使用该交叉编译器,打开/etc/profile配置环境变量和库变量,

sudo gedit /etc/profile

export PATH=$PATH:/usr/local/arm/gcc-4.6.4/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/arm/gcc-4.6.4/lib

点击右上角的保存,然后关闭;

使用source命令加载生效该配置文件

source /etc/profile

export PATH=$PATH:/usr/local/arm/gcc-4.6.4/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/arm/gcc-4.6.4/lib

保存后,关闭。

(6)检查是否安装成功

arm-linux-gcc -v

出现如上图提示,则证明安装成功。

(7)使用交叉编译工具验证;

在桌面上新建一个文件夹,里面存放c文件,在文件里编写hello.c文件

touch hello.c

直接双击该文件,进行编辑,

#include<stdio.h>
int main()
{
printf("Hello World\n");
return 0;
}
arm-linux-gcc hello.c -o Hello

使用执行命令;

./Hello

使用file Hello命令查看编译后的是不是arm的可执行文件;

file Hello

可以看到编译后的可执行文件是在32bit的arm架构上运行的。

二、安装配置网络文件系统NFS服务及目标机程序调试

(1)安装NFS

输入以下命令:

sudo apt-get update
sudo apt-get install portmap
sudo apt-get install nfs-kernel-server
sudo apt-get install nfs-common

如果出现以下问题,说明网络设置有问题,建议关机重启,或者将网络设置为自动。

sudo mkdir -p /mnt/ShareFolder

分配最高权限:

sudo chown nobody:nogroup /mnt/ShareFolder
sudo chmod -R 777 /mnt/ShareFolder/

(3)编辑exports配置文件

首先打开文件,然后在最后一行添加:

/mnt/ShareFolder *(rw,no_root_squash)

使用下面的命令使共享文件夹启用并生效;

sudo exportfs -arv

如果没有显示共享文件夹的路径,说明前面步骤有问题。

showmount -e

Ubuntu上重启NFS服务:

sudo /etc/init.d/nfs-kernel-server restart

(4)Xshell连接arm板

将pc机用交叉网线与开发板的网络接口连接,将开发板电源接口接到插座上,打开arm板,修改网络设置为:

IP为:192.168.16.95;

子网掩码为:255.255.255.0;

默认网关为:192.168.16.1;

DNS为:192.168.16.1;

打开Xshell,

 

连接好arm板之后,应该会有以太网这个选项,如果没有,拔掉arm板重新连接,将arm板连接到虚拟机上。

点击以太网,点击设置

再次点击设置

(6)使用ping命令·查看网络连通性;

如图所示,可以ping通,代表网络配置成功,可以连接。

(7)使用ssh连接开发板;

命令为:

ssh root@[开发板ip]
ssh root@192.168.16.95

如果报错,使用下面的命令:

ssh root@192.168.16.95 -oHostKeyAlgorithms=+ssh-dss 

这边的密码为自己在Xshell中设置的连接密码。

(8)挂载共享文件夹

mkdir project
mount -t nfs 192.168.16.3:/mnt/ShareFolder /project -o nolock,tcp,bg,hard,intr,nfsvers

这个命令不成功使用下面这个命令:

mount -t nfs 192.168.16.3:/mnt/ShareFolder /project -o nolock

(9)接下来就是在/mnt/ShareFolder中创建c文件,编译运行。

ls
./Hello

Top