瑞芯微RV1126B开发板(EASY-EAI-PI2) 开发(编译)方式说明

1. 交叉编译(推荐)

1.1 优缺点

优点:

采用x86架构的CPU进行编译,编译速度快。

源码编辑方便,开发环境支持各种如vsCode、qtCreator等IDE。

缺点:

编译环境需要进行安装部署。

程序的调试运行操作相对本地编译不那么直接。

1.2 EASY-EAI编译环境简介

EASY-EAI编译环境是一款由广州灵眸科技自主研发的在线编译环境(开发板在线)。建立了PC端与板卡端实时同步的映射关系;保障了在PC端进行交叉编译时,能与开发板的依赖库进行实时链接。

1.2.1 安装部署方式

EASY-EAI编译环境,相对于传统的通过解压编译工具链配置系统环境变量的交叉编译环境,具有部署更加方便的特点,并且屏蔽了各种兼容性问题。具体的安装步骤在《入门指南/开发环境准备/Easy-Eai编译环境准备与更新》文章中有详细的说明。

1.2.2 挂载嵌入式设备(开发板)

首先,通过run.sh 2204脚本进入EASY-EAI编译环境:

然后通过串口调试,查看设备IP地址:

回到EASY-EAI编译环境,尝试ping通开发板。能ping通后,则选用一个IP地址(eth0,wlan0都行),把开发板的rootfs根目录需要通过mount命令挂载到EASY-EAI编译环境中的/mnt,命令如下所示:

复制代码
sudo mount -t nfs -o nolock 192.168.3.86:/ /mnt

我们在EASY-EAI编译环境中编译好可执行程序,再把可执行程序拷贝进/mnt内,它就会自动被同步到开发板的rootfs根目录中。

1.3 常规编译手段示例

【百度网盘】

链接:https://pan.baidu.com/s/13rdifPHyZwHFIvbvBC78jw?pwd=1234

提取码:1234

此处是四种常规编译方式的编译示例:

每个示例都包含了一个build.sh脚本,以及一个源代码文件,如下所示。

我们随便进入一个示例,在里面执行./build.sh操作,就会生成一个hello文件

然后只需要在EASY-EAI编译环境中把生成的文件拷贝到/mnt的任意子目录中即可

通过串口调试进入板卡后,定位到刚刚拷贝hello文件的位置,如下所示:

复制代码
cd /userdata/

执行ls命令查看该目录,就可以发现hello文件已经被同步过来了

复制代码
ls

直接运行hello文件,即可看到运行结果

复制代码
./hello

1.4 常规编译手段说明

由映射关系得知,EASY-EAI编译环境的/mnt目录就是开发板的根目录,由于交叉编译工具的依赖库都在开发板上,因此只需要给编译器指定sysroot为/mnt即可。

GCC/G++:

复制代码
aarch64-linux-gnu-gcc --sysroot=/mnt hello_world.c -o hello 
aarch64-linux-gnu-g++ --sysroot=/mnt hello_world.cpp -o hello 

CMAKE:在 CMakeList.txt 文件中包含以下文件即可。

复制代码
include ($ENV{HOME}/configs/cross.cmake)

QMAKE:qmake工具直接安装到开发板中,所以可以直接在EASY-EAI编译环境中执行qmake,示例命令如下。

复制代码
/mnt/usr/bin/qmake xxxxxx.pro  make  

2. 本地编译

2.1 优缺点

优点:

把开发板直接当成一台卡片电脑使用,无须进行繁琐的应用部署。

缺点:

采用rv1126B的CPU进行编译,性能相对较弱,编译速度慢。

源码编辑困难,仅有源生的vi编辑器可使用,无法使用各种IDE。

2.2 使用方法

可以利用:adb、调试串口、ssh三种方式进入开发板后台,然后直接把开发板当做一台装有ubuntu系统的电脑使用。

相关推荐
HideF7 小时前
Linux
linux·服务器·网络
吠品7 小时前
智谱开源 ZCode 之后,真正的考试才开始
单片机·嵌入式硬件·1024程序员节
Chery11409 小时前
高速ADC与精密DAC怎么选?DP9230D与DP8532D应用解析
嵌入式硬件·物联网·射频工程
Ruiery9 小时前
Linux 6.6内核内存管理深度解析(十三):slab/slub 分配器
linux·运维·服务器
乌恩大侠9 小时前
从 AI-RAN 到 AI Agent:基于 NVIDIA Nemotron 构建 5G/6G 智能网络故障诊断系统
服务器·人工智能·5g·o-ru·ai-ran·电信大模型
丰锋ff11 小时前
压缩命令笔记
linux
迪菲赫尔曼12 小时前
【基础篇 11】把官方源码放到服务器:版本、解压层级和安装位置,一次弄清楚
运维·服务器·开发语言·人工智能·python·yolo·目标检测
小李不想当小白12 小时前
SPI通信外设与W25Q64 (硬件SPI)(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
LCG米12 小时前
STM32驱动W5500以太网模块实测:TCP吞吐瓶颈定位、TX指针回绕陷阱与断线重连保活落地
stm32·单片机·嵌入式硬件·tcp/ip
GeW13 小时前
产业新优势基础软件的人才底盘,从Linux与数据库开始
linux·数据库