当前位置: 首页 > 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.dtcms.com/a/303542.html

相关文章:

  • 从零到一:我是如何用深度学习打造高性能书籍推荐系统的
  • mp核心功能
  • 零基础学习性能测试第九章:全链路追踪-项目实操
  • 猎板 PCB 控深槽工艺:5G 基站散热模块的关键支撑
  • 解决c++运行时提示:first defined here (重复定义问题)
  • **线程与进程的区别与联系**
  • Qt下使用图形视图框架实现图像上各图形绘制
  • 一个Pycharm窗口添加多个项目来满足运行多个项目的需求
  • linux常用的指令
  • HTML响应式SEO公司网站源码
  • MVSNet系列网络概述
  • 7寸工业模组 XA070Y2-L01芯显科技详细参数资料
  • MCU中的外设总线是什么?
  • 带 USB 接口的多功能 AI 降噪消回音模组 A-59P:革新语音处理体验​
  • 基于Flask的智能停车场管理系统开发实践
  • Java基础-IO流
  • Python day27
  • GoLand 项目从 0 到 1:第三天 —— 图数据库版本管理方案调研与中间件部署
  • 064_不可变集合与同步集合
  • python列表与元组--python005
  • 《中小学音乐教育》是什么级别的期刊?是正规期刊吗?能评职称吗?
  • c++: 尾置返回类型(Trailing Return Type)
  • 深度解析Manus:从多智能体架构到通用AI Agent的技术革命
  • Unity教程(二十五)技能系统 掷剑技能(下)冻结时间实现
  • PostgreSQL 详解
  • java每日精进 7.28【流程设计6.0(泳池和泳道)】
  • V-Ray 7.00.08 for 3ds Max 2021-2026 安装与配置教程(含语言补丁)
  • HTML5 `<figure>` 标签:提升网页语义化与可访问性的利器
  • 【2025/07/28】GitHub 今日热门项目
  • Solidity基础(教程①-简单数字存储)