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
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代表环境变量,:冒号代表追加。
保存并退出文件,接着运行下面指令以便马上更新当前控制台所包括的环境变量。
如果您不想改变,或者只想一次而已,直接键入
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
控制台输出结果,至此可全然证明交叉工具链工作正常。