转载自:不二先生博客园https://www.cnblogs.com/yechuang/p/4544223.html
爱闪亮https://www.cnblogs.com/tansuoxinweilai/p/11602830.html
一、交叉编译后程序的下载方式
1.连接好开发板串口线,网口线,电源线;
2.在PC机linux中启动minicom(串口通讯工具);
3.启动开发板电源,开发板加载linux,加载信息通过串口打印到minicom上,如minicom不输出信息,检查minicom检测的端口是否正确,通常情况下设置监测端口是/dev/ttyS0,如不是用“minicom -s”来设置;
4.交叉编译下载,把pc机端的程序通过arm-linux-gcc编译,把编译生成的ARM可执行程序下载到开发板端执行;
有三种常用方法:
第一种,把文件从PC机拷贝到SD卡中,把SD卡插入开发板,重启,开发板中的linux实现了对SD卡的读写。
第二种,ftp下载,主机配置ftp服务,开发板这端ftp登录下载文件。
第三种,NFS系统,主机下载nfs-kernel-server服务,配置/etc/exports文件,添加“/home/xwp/nfs *(rw,sync,no_root_squash)”,重启"/etc/init.d/nfs-kernel-server restart",开发板这端执行挂在nfs网络文件系统“mount -o nolock -o tcp -t nfs IP:/home/xwp/nfs /mnt",挂在到开发板/mnt目录下;
二、交叉编译链下载
1.交叉编译链官网下载:
官网
网址:https://releases.linaro.org/components/toolchain/binaries
2.我的安装包:64位的交叉编译工具:arm-linux-gcc-4.6.4-arm-x86_64.tar.bz2
网盘链接:网盘链接
提取码:ei7k
网址:https://pan.baidu.com/s/1-6ViySF1qpBW3jAkRg94fw
三、配置
安装配置:
1.先把下载好的安装包移动到根目录下的tmp目录中(/tmp)
2.使用tar命令解压安装包,即在Terminal中输入以下命令:(前面的sudo表示使用root权限执行该命令)
sudo tar -xjvf /tmp/arm-linux-gcc-4.6.4-arm-x86_64.tar.bz2 -C /
注意是大写的字母C,此命令会把安装包解压到根目录下的opt的TuxamitoSoftToolchains里面(/opt/TuxamitoSoftToolchains)
(如果发现解压不能成功,可以试着从网盘里重新下载一次,不要从网页下载)
如图逐层查看找到gcc-4.6.4所在的位置:
/opt/TuxamitoSoftToolchains/arm-arm1176jzfssf-linux-gnueabi
3.解压完成后,再在(/usr/local)中创建一个新目录arm,即在Terminal中输入以下命令:
sudo mkdir /usr/local/arm
创建arm目录成功后,还需要给它解放全部权限,即在Terminal中输入以下命令:
sudo chmod 777 /usr/local/arm
4.在解压出来的目录中找到并把整个gcc-4.6.4目录复制到刚刚建好的arm目录中,命令如下:
先cd切换到gcc-4.6.4所在目录(切换后先ls看一下有没有gcc-4.6.4目录):
cd /opt/TuxamitoSoftToolchains/arm-arm1176jzfssf-linux-gnueabi/
再执行 cp 复制命令,-r 表示整个目录以及里面的任何东西
sudo cp -r gcc-4.6.4 /usr/local/arm
5.打开(/etc/profile)配置环境变量和库变量,目的是以后可以在任何位置使用该交叉编译器,命令如下:
sudo vi /etc/profile
用vi或者vim打开后,在文件最后添加两行,并输入以下代码:第一行是添加执行程序的环境变量,第二行是库文件的路径
1 export PATH=$PATH:/usr/local/arm/gcc-4.6.4/bin
2 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/arm/gcc-4.6.4/lib
然后保存退出即可。
6.使用source命令重新加载生效该配置文件
source /etc/profile
7.检验是否安装成功,在 Terminal 输入以下命令输出版本信息:
arm-linux-gcc -v
结果如图所示:得到刚刚安装的4.6.4版
再随便写一个test.c文件,能编译成功说明已经完美安装。例如:
arm-linux-gcc test.c -o test
再file命令查看编译后的是不是arm的可执行文件:
file test
注意:有些做完上述步骤还是不能用arm-linux-gcc的话,出现如下图所示错误:
这和时候需要在 “/home/用户名” 目录下的 “.bashrc” 隐藏文件下加上和 “/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
这个 “.bashrc” 是一个隐藏文件,需要 ls -a 命令才能看见!用户名就是你自己的linux登录账号。
同样用 vi或者vim打开它,在最后添加两行: