Ubuntu-树莓派之交叉编译

时间:2022-10-01 14:51:41

[前言]调试IOT设备SDK(派模拟设备端功能)需要,在UBUNTU系统的笔记本上编写和编译C程序Demo,然后scp编译后的文件到派上,缩减树梅派本身性能导致的编译时间长的问题。
感谢各引文的作者。

[过程]

准备
ubuntu16.04LTS 64位系统的电脑(非虚拟机)
raspbian系统的树莓派B+

问题解决先看下面的[主要参考],过程中遇到问题再回头看解决方法。

Ubuntu下安装git报错:软件包git没有可安装候选

(gedit:10358): WARNING : Set document metadata failed: 不支持设置属性 metadata::gedit-position
该警告可以忽略

权限不够。原因,因为不是root帐号登入。解决方法,在命令前加上sudo

主要参考
树莓派学习笔记——交叉编译工具链
文中第四步测试前要安装相应的文件

cd /home/rpi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
sudo apt install gcc-arm-linux-gnueabih

传输文件参考文件用的是ftp方式,我使用scp方式(无图形界面下),首先要给文件开启可写模式,参考内容如下:

linux如何修改文件或目录的权限(chmod)
ssh使用scp: /目录: Permission denied

Ubutu中的文件
Ubuntu-树莓派之交叉编译
树梅派的运行结果
Ubuntu-树莓派之交叉编译

IoT套件相关
用于IoT套件中的编译使用gcc,而当前教程用的是arm-linux-gnueabihf-gcc,所以编译后发到树梅派上运行会出现cannot execute binary file: Exec format error错误。
所以配置要修改下:

//打开make.settings
sudo gedit make.settings
//找到一下内容
PLATFORM_CC = gcc
//修改内容为
PLATFORM_CC = arm-linux-gnueabihf-gcc