飞凌嵌入式
直播中

aquamanfeng

4年用户 42经验值
擅长:嵌入式技术
私信 关注
[技术]

【飞凌嵌入式OK3576-C开发板体验】应用编译运行

基本库安装

在进行开发之前,还需要一些其他的必要库以及编译 OK3576 Linux 源码必要库安装,我们使用以下命令逐一安装,安装前需保证网络可正常使用,能上外网:

sudo apt-get update//更新下载源信息
sudo apt-get install build-essential//提供编译程序必须软件包的列表信息
sudo apt-get install libncurses*//用于生成基于文本的用户界面
sudo apt-get install lzop//基于 Lzo 库的压缩解压工具
sudo apt-get install net-tools//网络配置工具
sudo apt-get update//更新 apt-get 下载源
sudo apt-get install openssh-server vim git fakeroot//必备工具包的安装
sudo apt-get install repo git ssh make gcc libssl-dev liblz4-tool expect g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support qemu-user-static live-build bison flex fakeroot cmake gcc-multilib g++-multilib unzip device-tree-compiler libncurses5-dev

这些库文件是自行搭建 3576 Linux 编译环境时,准备编译 Linux 源码需要下载的库文件。

编译前准备

环境说明

  • 开发环境操作系统:Ubuntu24.04 64 位版
  • 交叉工具链:aarch64-non-linux-gnu
  • 开发板使用 Bootloader 版本:u-boot-2017.09
  • 开发板内核版本:linux-6.1.57

拷贝源码和交叉编译工具

  • 程序源码:用户资料\Linux\源码\kernel-6.1.tar.bz2
  • 交叉编译工具链:用户资料\Linux\交叉编译链\prebuilts.tar.bz2

创建工作目录

mkdir -p /home/forlinx/3576//按照顺序创建工作目录

将用户资料中的源码文件和交叉编译工具链拷贝到虚拟机/home/forlinx/3576 目录。

cd /home/forlinx/3576//切换到工作目录
tar -xvf kernel-6.1.tar.bz2//在当前位置解压压缩包
tar -xvf prebuilts.tar.bz2

运行命令后等待完成即可。

添加环境变量

在~/.bashrc文件夹中添加交叉编译工具的路径,并且执行source ~/.bashrc命令更新环境变量。

# ok3576
export CROSS_COMPILE=/home/sdk/ok3576/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-
export PATH=$PATH:/home/sdk/ok3576/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/

hello world

main.cpp

#include <iostream>

int main() {
    std::cout << "Hello World" << std::endl;
    return 0;
}

Makefile

CC=${CROSS_COMPILE}g++
CFLAGS=-std=c++11 -Wall
EXEC=hello_world

all: $(EXEC)

$(EXEC): main.cpp
        $(CC) $(CFLAGS) -o $@ $<

clean:
        rm -f $(EXEC)

执行make all即可完成交叉编译并生成可执行文件,并将可执行文件复制到开发板上

scp ./hello_world root@192.168.247.90:/userdata

赋予可执行权限并运行

root@ok3576-buildroot:/userdata# chmod +x hello_world                     
root@ok3576-buildroot:/userdata# ./hello_world

更多回帖

发帖
×
20
完善资料,
赚取积分