乌班图14.04与树莓派交叉编译

1、安装虚拟机或者乌班图系统,我这里是14.04 的机子如果你是虚拟机就安装32位的乌班图,因为虚拟机一般是32位的,所以64位可能会造成一定的麻烦。如果忘记自己的是32还是64的话按ctrl+shift+t 快捷键,打开终端,或者直接打开,输入sudo uname --m ,按下enter,如果显示i686,你安装了32位操作系统,如果显示 x86_64,你安装了64位操作系统。忘记版本的话,

方法一在终端中执行下列指令:

cat /etc/issue

可以查看当前正在运行的 Ubuntu 的版本号。其输出结果类似下面的内容:

Ubuntu 7.04 \n \l

方法二使用 lsb_release 命令也可以查看 Ubuntu 的版本号,与方法一相比,内容更为详细。执行指令如下:

sudo lsb_release -a

将输出结果:

Distributor ID: Ubuntu
Description: Ubuntu 7.04
Release: 7.04
Codename: feisty

2、下载必要的软件和工具

键入命令: sudo apt-get install build-essential git

3、创建文件

可以在自己的home文件夹下面也可以自/home/hhq文件这个hhq是你自己的主机名

mkdir rpi

进入该文件夹并运行clone操作,键入命令
    cd rpi
    git clone git://github.com/raspberrypi/tools.git

这个时间比较长估计是10分钟,耐心等待

克隆完毕之后能够通过pull更新tools,当然了如果不更新也是可以的。
    cd ~/rpi/tools
    git pull origin
4、增加环境变量
 sudo gedit ~/.bashrc
在该文件最后增加交叉工具链所在文件夹。请注意~符号表示HOME路径,.bashrc为隐藏文件。
    32位
    export PATH=$PATH:$HOME/rpi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
    64位
    export PATH=$PATH:$HOME/rpi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
点击save保存OK。
请注意PATH代表环境变量,:冒号代表追加。
    保存并退出文件,接着运行下面指令以便马上更新当前控制台所包括的环境变量。
    source .bashrc
如果您不想改变,或者只想一次而已,直接键入
    export PATH=$PATH:$HOME/rpi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
64相同做法。
5、测试,看看你是不是安装正确:
    为了測试交叉工具链是否成功安装,可在控制台中输入
    arm-linux-gnueabihf-gcc -v


有上面的形式便是OK
6、编写程序
在自己的乌班图上编写程序,然后保存为.c或者.cpp形式
我这里一个cpp的,命名Hello.cpp
#include<stdio.h>
int main()
{
   printf("Hello");
}
cd进入Hello所在文件夹,输入下面指令以生成可运行文件。请注意该可运行文件不能在PC机上运行。
    arm-linux-gnueabihf-gcc Hello.cpp -o Hello
    终于可在Hello.cpp的同文件夹中生成Hello可运行文件。
        交叉编译-makefile
    当然也可在该文件夹下建立makefile文 件,简单的makefile文件例如以下
CC=arm-linux-gnueabihf-gcc
hello-world:hello-world.o
clean:
    rm -rf hello-world.o hello-world

     在makefile文件里使用了至少两条隐含规则,CC为默认工具链;*.o文件由同名的*.c文件生成。
    那么在控制台中输入make就可以生成可运行文件

7、FTP上传
当然了你可以直接复制到SD卡,但是我找不到文件,所以我没用,你可以用,这里讲讲FTP:

安装filezilla :sudo apt-get install filezilla

安装成功后,如果出现./filezilla/filezilla.xml、./filezilla/layout.xml等文件不允许些或者说不能够读,可能是权限问题。

然后,把这些文件赋予合适的权限就成功了。

上传的话:下面是 filezilla,找不到就直接搜索,知己填写你的树莓派的IP,用户是你登陆的用户,密码是你的密码,端口是最开始putty端口。点击快速链接,OK之后,左边本地站点是你要传的文件的地址,右边是需要传向的地址,然后,看到下面的hello-work双击(这里借鉴别人的图,我上面的是Hello,你根据自己的点击),就OK了。传过去了。
  如果树莓派的IP地址为192.168.1.174(我这里是),可使用下面指令登陆raspberry
    ssh pi@192.168.1.174
    登陆之后进入可运行文件所在文件夹,改动该文件的运行权限。
    sudo chmod 755 Hello(修改文件权限或者改用root)
    该文件的全部者为pi,全部者pi对于该可运行文件具有可写可读可运行权限(7),755中的后两个55为可读与可运行,本例中对于Hello用处不大。
    输入下面指令便可执行该文件
    ./Hello
    控制台输出结果,至此可全然证明交叉工具链工作正常。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值