交叉编译
交叉编译器 是一种在 主机平台(如 Ubuntu 或虚拟机)上运行,但用于生成 目标平台(如 ARM、MIPS 等架构)可执行文件的编译工具由于开发板资源有限,Buildroot 默认不支持本地编译 C 程序,因此需要使用交叉编译工具链。交叉编译器默认存放在 <SDK 目录>/prebuilts/gcc/linux-x86/arm/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin 目录下。接下来将介绍如何配置交叉编译器来编译 C 程序。
1. 设置交叉编译工具链
首先设置交叉编译工具的环境变量,如果需要永久生效,编辑配置文件(如
.bashrc或.profile)。vim ~/.bashrc添加工具链路径,将交叉编译工具的路径添加到系统的
PATH环境变量中:export PATH=/home/ubuntu/luckfox-lyra-sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin:$PATH- 注意:请根据自己的 SDK 路径填写
更新环境变量,执行以下命令使配置生效:
source ~/.bashrc使用交叉编译器编译程序。
arm-none-linux-gnueabihf-gcc gpio.c -o gpio最后将可执行文件传输到开发板。
scp gpio root@192.168.10.103:/root- 注意:请根据自己的实际 IP 地址填写
2. CMake
编写 CMakeLists.txt 文件。
cmake_minimum_required(VERSION 3.10)
project(GpioProject)
set(CMAKE_C_COMPILER /home/ubuntu/luckfox-lyra-sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-gcc)
add_executable(gpio gpio.c)新建 build 文件夹。
mkdir build && cd build编译程序。
cmake ..
make