1、写一个简单的helloworld.c文件
2、通过arm的gcc编译
- 要使用arm-gcc来代替gcc编译,在macOS上还要进行一些配置:
1)新建一个磁盘映像
- MAC OS的文件系统默认是大小写不敏感的,而交叉编译工具链是基于大小写敏感的文件系统的,所以我们不能直接把工具链安装在原来的文件系统中,而是需要新建一个大小写敏感的磁盘印象用于安装工具链。
打开磁盘工具(disk utility),然后 文件->新建->空白磁盘映像,然后在弹出窗口中设置名称为arm-linux(便于后续操作),大小至少为1500M,格式为Mac OS扩展(区分大小写,日志式)的映像。它的位置在:
$ cd /Volumes/arm-linux/
2)从下面的链接下载已经编译完的arm GNU Linux 工具链
3)解压工具链压缩包到磁盘映像
- 在终端进入压缩包所在的目录,执行下面的指令即可:
tar -zx -C /Volumes/arm-x/ --strip-components 1 -f ARMx-2009q3-67.tar.bz2
4)配置arm语句的环境变量
$ vim ~/.bash_profile
加入语句:
export PATH=$PATH:/Volumes/arm-linux/bin
更新环境变量:
$ source ~/.bash_profile
新增的arm命令可以在输入ar之后按tab查看。
5)编译:
- 得到helloworld的可执行文件:
$ arm-none-linux-gnueabi-gcc helloworld.c -o helloworld
- 此时直接输入./helloworld命令会提示:
./helloworld: cannot execute binary file
3、登录树莓派执行helloworld
- 移动helloworld到树莓派:
$ scp ./a.out pi@192.168.43.1:/home/pi/
注意:树莓派的/home/目录下不能存放,提示权限错误
树莓派上能够正确输出helloworld:
$ /home/pi/helloworld