Ubuntu 16.04(64bit)嵌入式交叉编译环境搭建arm-linux-gcc使用

2019-07-13 06:22发布

1.把压缩包arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz放在一个文件夹下,然后在终端进入到该文件夹,将该压缩包解压到所需的目录下(我解压在了根目录下)
这里写图片描述
下面是tar命令的描述
这里写图片描述 2.然后改变环境变量,能使arm-linux-gcc能直接运行。
输入 gedit /root/.bashrc
然后在文件中加入
export PATH=”$PATH:/opt/FriendlyARM/toolschain/4.5.1”
这里写图片描述 3.重启系统或者登出账号在登入就能生效了,然后输入 arm-Linux-gcc -v 查看版本就能检测是否修改成功。然而64位的ubuntu下输入会显示无法找到该文件,因为64位下无法运行32位的,你需要安装32位运行库
输入 sudo apt-get install libc6:i386
再次查看就能显示信息
这里写图片描述 4.用gcc编译文件
进入到文件所在的目录下,用gcc编译文件()(bubble.c存在warning,可以用gbd调试)(-o:指定生成的输出文件)
这里写图片描述
如果尝试运行该程序,会显示
这里写图片描述
因为arm-linux-gcc是用于编译开发板下的程序,当然不能在PC机下运行,同样无法用gbd进行调试,只有用gcc编译才行(然后我傻傻夫夫的查这个原因查了好久) 5.如果新建一个文件下,将bubble.c移动到该文件下,那么你再次重新编译该文件,将会找不到该文件(类似于调用第三方函数库)
这里写图片描述
可以使用 -I命令用于指定文件位置
这里写图片描述 6.将bubble.c编译程动态链接库,用gcc再次连接

7.用-O1/-O2/-O3不同优化等级进行编译bubule.c 查看文件大小
这里写图片描述
然而因为程序太小了,所以无法进行优化(尴尬
如果-g加入调试信息 ,文件就会变大
这里写图片描述