目录
[1.1 清理缓存编辑](#1.1 清理缓存编辑)
[1.2 扩容教程](#1.2 扩容教程)
[1.3 解决网络图标消失](#1.3 解决网络图标消失)
[二、SDK 编译](#二、SDK 编译)
[2.1 参考资料](#2.1 参考资料)
[2.2 将 SDK 复制到虚拟机](#2.2 将 SDK 复制到虚拟机)
[2.3 SDK 的编译](#2.3 SDK 的编译)
[3.1 板子介绍](#3.1 板子介绍)
[6.1 为什么要建立共享文件夹](#6.1 为什么要建立共享文件夹)
[6.2 Ubuntu 的操作](#6.2 Ubuntu 的操作)
[6.3 VMware 配置](#6.3 VMware 配置)
[6.4 板子的更改](#6.4 板子的更改)
[七、GPIO 查找方式](#七、GPIO 查找方式)
一、编译前的准备
1.1 清理缓存

1.2 扩容教程
https://blog.csdn.net/Wifi__Baby/article/details/139797510?spm=1001.2014.3001.5501
1.3 解决网络图标消失

二、SDK 编译
2.1 参考资料
是参考板子的官方给的资料
当前资料分为两种:
第一种:去网上找PDF

第二种:给一个网站,可以在网站上获取板子的所有信息
从去年开始大部分板子的厂家采用的都是第二种方式
第二种方式的优势:厂家的更新信息,可以及时获取
2.2 将 SDK 复制到虚拟机


解压错误
1、归档错误
将压缩包删除
清理缓存:sudo rm ~/.cache/vmware -r
然后重新从 windows 拷贝一个进来
如果复制了一个还是归档错误,说明 windows 下的压缩包就有问题
找一个没有问题的同学的压缩包,放到你的虚拟机里
2、空间剩余???.MB
说明空间不足,根据教程扩容
2.3 SDK 的编译



编译过程需要保证网络连接

编译完成的标志
按下 Q 键退出


三、硬件设备
3.1 板子介绍

芯片:RV1126 --- 瑞芯微
板子:易百纳
RAM:板载 2*DDR3,共 1GB
时钟主频:1.5GHz
IRAM:64KB
IROM:20KB
ROM:
ARMCortex-A7 的四核 32 位
在 RK3588 使用的是 A76+A55
内核版本:Linux4.19
使用上,和 Linux5.10 完全相同
NPU --- 算力达到 2.0TOPs
支持硬件加速 --- 我们主要使用的是音视频的编解码
选择这个芯片的原因
1、支持音视频编解码的硬件加速
2、支持瑞芯微音视频开发闭源库 --- RkMedia
大大减轻开发难度
官方默认支持两种摄像头
GC2053、IMX415 --- 分辨率更高
目前使用的摄像头
GC2053 --- 200 像素
ISP:图像信号处理
ISP 一般用来处理 Image Sensor(图像传感器)的输出数据,如做 AEC(自动曝光控制)、AGC(自动增益控制)、AWB(自动白平衡)、色彩校正、Lens Shading、Gamma 校正、祛除坏点、Auto Black Level、Auto White Level 等等功能的处理。
OTG:OTG 是 On-The-Go 的缩写,是近年发展起来的技术。2001 年 12 月 18 日由 USB 标准化组织公布,主要应用于不同的设备或移动设备间的联接,进行数据交换。
OTG目前在这个板子主要用于升级固件 --- 烧录固件的接口
在 RK3588S 上烧录用 USB 接口
在 RV1126 上烧录用的是早期安卓口
四、固件的烧录

挂起虚拟机

烧录软件在整体烧录的时候没有区别
但是在部分烧录的时候有区别



如果点击进入 MASKROM 之后,一直无法发现设备
断电重新上电,就会发现一个 ADB 设备,在执行一次上面的指令

如果插板子上电,右下角出现无法识别 USB 设备

直接把板子断电(所有的线都拔了),过大概 5 分钟~1 个小时 --- 再次使用
五、板子的使用


终端打开之后,按下回车

六、共享文件夹的建立
6.1 为什么要建立共享文件夹
之前的 Ubuntu 和板子之间的沟通,通过 adb 服务
但是目前的板子虽然有 ADB 模式,但是无法进行 ADB 调试
使用另外的开发方式
NFS --- 网络文件系统
和板子建立共享文件夹,完成 ubuntu 和板子的通信
6.2 Ubuntu 的操作
确保网络连接
ping www.baidu.com
安装服务
sudo apt-get install nfs-common nfs-kernel-server

/home/lwl/share *(rw,sync,no_root_squash)

加粗部分换成自己的共享文件夹路径
验证共享文件夹有没有问题
sudo /etc/init.d/nfs-kernel-server restart

如果这个指令报错,说明你的共享文件, 夹路径不存在
从此刻配置网络开始,Ubuntu 就变成了局域网




点击 board,连接 board
如果 ubuntu 再次开机之后,网络连接只剩下了 1 个 --- board
需要新建一个网络连接,叫一个不一样的名字

完成上图步骤,然后点击添加

最终网络图标
6.3 VMware 配置

然后点击确定
如果电脑没有网口,此时此刻拿出你的扩展坞,插电脑上,连接到 Windows
记住当前扩展坞接入的是哪个 USB 接口,后续一直接这个接口
获取自己电脑的网卡


6.4 板子的更改
mount -t nfs 192.168.66.66:/home/lwl/share /MyProject -o nolock
红色需要改成自己的 ubuntu 设置的 IP
绿色需要改成自己的 ubuntu 共享文件夹路径
蓝色需要改成自己的板子共享文件夹路径
执行指令,没有提示就是成功
ifconfig eth0 192.168.66.88 --- 每次重启都需要重新执行
mount -t nfs 192.168.66.66:/home/lwl/share/MyProject -o nolock --- 每次重启都需要重新执行
七、GPIO 查找方式
板子上共有 3 个可以操作的硬件设备
LED 灯,按键,蜂鸣器

获取 ALARM_IN1

获得 AA6

八、设备树文件


定义设备节点
板子上的外设
按键、LED 灯(在按键旁边)、蜂鸣器
以蜂鸣器为例
第一步:蜂鸣器在底板
BEEP 和 ALARM_OUT1 相连
ALARM_OUT1 是 GPIO 的一个别称
第二步:看芯片手册
从芯片手册获取 GPIO 的名字
开发过程和 RK3588 相同


第三步:GPIO 在核心板

最终需要的引脚就是 GPIO0_C3
将设备树节点信息放在.dts 文件中

单独编译内核
单独烧录内核使用的.txt 文件

单独烧录内核,必须使用烧录软件 V2.71
第一步:回到 SDK 根路径
第二步:
source envsetup.sh --- 选择 99 rockchip_rv1126_rv1109_spi_nand
./build.sh lunch --- 选择 3 BoardConfig-38x38-spinand.mk
./build.sh kernel --- 单独编译内核
第三步:获取新版的内核&设备树的固件
在 kernel 文件夹下有一个 zboot.img --- 放到 windows 下

第四步:固件的烧录
1、挂起虚拟机
2、打开烧录工具
3、把板子端从串口换到 OTG

提示下载完成之后,将板子 OTG 换到串口
进入超级终端
ls /proc/device-tree/

添加交叉编译工具路径
sudo gedit /etc/profile
打开文件后在末尾添加一行
export PATH=$PATH:/home/he/RV1126/RV1126_RV1109_LINUX_SDK_V2.2.5.1_20231011/buildroot/output/rockchip_rv1126_rv1109_spi_nand/host/bin
让环境变量临时起作用
source /etc/profile

验证
在任意路径下输入arm-linux-gnueabihf-gcc -v,出现版本信息说明成功
然后重启电脑 reboot
交叉编译工具名字 --- arm-linux-gnueabihf-gcc

设备树编译报错
