当前位置: 首页 > news >正文

Linux驱动22 --- RV1126 环境搭建设备树修改

目录

一、编译前的准备

1.1 清理缓存​编辑

1.2 扩容教程

1.3 解决网络图标消失

二、SDK 编译

2.1 参考资料

2.2 将 SDK 复制到虚拟机

2.3 SDK 的编译

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

三、硬件设备

3.1 板子介绍 

四、固件的烧录

五、板子的使用

六、共享文件夹的建立

6.1 为什么要建立共享文件夹

6.2 Ubuntu 的操作

6.3 VMware 配置

6.4 板子的更改

七、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

设备树编译报错 

http://www.lryc.cn/news/602585.html

相关文章:

  • 【Linux篇】进程间通信:进程IPC
  • java每日精进 7.28【流程设计6.0(泳池和泳道)】
  • 重生之我在暑假学习微服务第三天《Docker-上篇》
  • 采用黑翅鸢优化算法BKA-CNN-LSTM、CNN-LSTM、LSTM、CNN四模型多变量回归预测,多输入单输出(Matlab)
  • 轻资产革命:连合直租如何用DaaS模式重塑企业资产逻辑
  • 【Apache Tomcat】
  • 设计模式实战:自定义SpringIOC(理论分析)
  • 中国汽车能源消耗量(2010-2024年)
  • 力扣17:电话号码的字母组合
  • 设计模式(二十四)行为型:访问者模式详解
  • ADB+Python控制(有线/无线) Scrcpy+按键映射(推荐)
  • 【学习笔记】AD7708/18(1)-理解官网的参考代码
  • MacBook IOS操作系统格式化U盘FAT32
  • 【深度解析】R语言与作物模型(以DSSAT模型为例)融合应用
  • 分布式微服务--核心组件与架构关系(一)
  • R语言简介(附电子书资料)
  • Leetcode_349.两个数组的交集
  • JavaScript手录09-内置对象【String对象】
  • 6.2 总线事务和定时 (答案见原书 P295)
  • 基于Flask的智能停车场管理系统开发实践
  • C语言:20250728学习(指针)
  • 使用node-cron实现Node.js定时任务
  • Javaweb Day3
  • 主要分布于内侧内嗅皮层的层Ⅲ的网格-速度联合细胞(Grid × Speed Conjunctive Cells)对NLP中的深层语义分析的积极影响和启示
  • 学习人工智能所需知识体系及路径详解
  • BUUCTF-MISC-[HBNIS2018]caesar1
  • 科技风杂志《科技风》杂志社科技风编辑部2025年第19期目录
  • 《Ai智能眼镜的市场定义及用户分析》- 深圳市天趣星空科技有限公司 CEO 王洁
  • 【7.26-7.28胜算云AI日报:首个开源3D世界生成模型腾讯混元、微软预示 8 月 GPT-5 发布、Nemotron推理、商汤悟能、DM夺金】
  • Python 实现多服务器并发启动 SDK-C Master 与 Viewer 的分布式方案