驱动(RK3688S)第一课时:认识驱动和环境搭建

2024-08-30 01:28

本文主要是介绍驱动(RK3688S)第一课时:认识驱动和环境搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 一、开发板介绍
  • 1、芯片厂家介绍
    • 2、开发板资源
  • 二、瑞芯微 SDK 的 框架
    • 1、SDK 包的目录结构
    • 2、瑞芯微原厂支持一些库
  • 3、瑞芯微烧写工具的使用

一、开发板介绍

什么是驱动?
驱动就是让硬件工作起来这么一个东西,你写代码去驱动对应的硬件,比如 CH340 你
为什么要安装他?你不安装他你的串口就无法工作,当你安装了对应的 CH340 驱动,那么
在你插上 USB 转串口的时候,就去调用对应的驱动,那么这个硬件就可以工作起来,还有
你安装好 window 操作系统之后,你需要干嘛?安装各种驱动,显卡 声卡 网卡等各种驱动,
你不安装对应的硬件就无法工作,所以这就是驱动。驱动就是给硬件打交道的。

目前市面上见的最多芯片是
cortex-A
特点:处理能力是极强 — 主要就是应用于高端的电子产品
手机 平板
cortex-M
特点:控制能比较强 ---- 主要就是中低端的电子产品
空调 洗衣机 冰箱 智能马桶 扫地机器人等
cortex-R
特点:实时能力比较强 — 反应极快 — 一般是军工企业使用

1、芯片厂家介绍

本次学习的驱动的芯片是由瑞芯微生产的RK3688S,是RK3688的一种阉割版本。是一个国产的公司目前在 AI 处理和音视频处理方面还是比较领先,目前最新的开发板有RK3588、RK3566 等不同的系类。
在这里插入图片描述
瑞芯微官网:瑞芯微官网

2、开发板资源

RK3588的主要特性:
在这里插入图片描述
详细解释:
CPU: 八核 64 位大小核架构,4Cortex-A76 + 4Cortex-A55(共八个)
GPU
ARM Mali-G610 MC4
OpenGL ES 1.1/2.0/3.1/3.2
OpenCL 1.1,1.2,2.0
内嵌高性能 2D 图像加速模块
NPU
6TOPS 算力,三核架构,支持 int4/int8/int16/FP16/BF16/TF32
多媒体
• 支持 H.265/H.264/AV1/VP9/AVS2 视频解码, 最高 8K60FPS
• 支持 H.264/H.265 视频编码, 最高 8K30FPS
显示
• 支持 eDP/DP/ HDMI2.1/MIPI 多种显示接口
• 支持多屏异显, 最高 8K60FPS
视频输入
• 32MP ISP,支持 HDR 和 3DNR
• 支持多摄像头输入 (44lanes or 42lanes+2*4Lanes) MIPI CSI-2 and DVP 接口
• 支持 HDMI2.0 输入, 最高 4K60FPS
高速接口
• 支持 PCIe3.0/PCIe2.0/SATA3.0/RGMII/TYPE-C/USB3.1/USB2.0
RK3588S 他是 RK3588 的阉割版本

二、瑞芯微 SDK 的 框架

本次开发全部都是在虚拟机上完成的, 我们在虚拟机安装Linux ,安装其 ubuntu版本,因为SDK比较大,所以内存给到170G。SDK包在购买芯片时会给的,然后移植到ubuntu中,进行解压即可。
在这里插入图片描述

1、SDK 包的目录结构

SDK 包的目录结构
app:里边存放是瑞芯微自己开发板的一些上传的软件,包括里边有一些 LVGL
device:设备,一般存放瑞芯微的对应设备的各种配置文件
rockchip/芯片支持的配置文件/脚本
rockchip/common:
原厂所编写的通用的编译脚本
这些脚本原则上你不需要研究和理会
rockchip/rk3588:
我们芯片对应的配置文件夹
当前我们开发板所用的配置文件:
BoardConfig-rk3588s-evb1-lp4x-v10-xyd.mk yyt)这个里面指示了编译整个 SDK 的
各种对应配置文件
export RK_JOBS=12:这个是指示了一会编译 SDK 所用的最大线程
kernel:咱们使用的内核 — 他是操作系统的核心 — 后期会讲
咱们目前使用的内核版本是 5.10.x 版本,算是比较高的了。
prebuilts:这里面存放的是瑞芯微集成在 SDK 的交叉编译器
目前计算机他是分为两个结构
X86 ---- 他是目前所有计算机的结构
但是你做嵌入式开发板使用的开发板都是 ARM 结构的
那么你想一想,你在 X86 架构上使用 GCC 编译的二进制文件能在 ARM 上跑吗?
此时就出现了,一个工具,交叉编译工具,他的作用就是使你在 X86 上编译的代
码翻译成 ARM 结构的,那么你的这个二进制文件就可以在开发板上运行了,但
是就不能在 X86 上运行了。
tools:
原厂带的一些工具
一般使用 windows/DriverAssitant_v5.12.zip
这是瑞芯微的驱动,类似 CH340 驱动
在这里插入图片描述
RKDevTool_Release_v2.96.zip
这个是原厂提供的烧写工具
在这里插入图片描述
在这里插入图片描述
buildroot:
他是你做驱动开发比较重要的一个目录文件
他也是你编译之后占用你系统空间最大的一个目录,没有之一。
他里边包括了驱动开发发的三大巨头.
uboot kernel rootfs
buildroot 可以做到,一键编译,就是最终生成一个 Linux 镜像文件。
就是 Linux 操作系统,一个完整操作系统包括了,uboot kernel rootfs

docs:这个是原厂提供的各种各样的开发协助文档
他里边存储各种你需要使用的开发板文件
external:
瑞芯微原厂支持一些外扩的包
libmail->原厂 GPU 支持包
mpp->原厂提供的音视频开发接口包
linux-rga->原厂提供的处理 视频的 旋转 裁剪 缩放 …
gstreamer-rockchip:
原厂适配好一个音视频的播放器
rknpu2:
搞 AI用的比较多
envsetup.sh ---- 他是一个配置脚本 ---- 就是别人提前写好的脚本,你编译之前需要做
一个适配,你就可以执行这个脚本,他里边存在了很多不同的开发板的配置选项。

2、瑞芯微原厂支持一些库

编译前需要安装一些编译所依赖的库
如果不安装编译报错且提醒你安装
sudo apt-get install 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 python2 unzip device-tree-compiler
ncurses-dev python3 python libgmp-dev libmpc-dev net-tools -y

SDK 在编译完成后会生成两个文件夹:
1: rockdev
2: IMAGE:
这个文件夹是镜像文件夹
是最终生成的镜像合集
你每次编译。每次生成的镜像都会在此处保存!
RK3588S-YYT_20240813.0925_RELEASE_TEST/IMAGES/
EG 每次编译尽量把你的上次编译生成 IMAGE 给删除
不然空间会越来越小,每次镜像编译后需要占据 4GB

3、瑞芯微烧写工具的使用

配置开发板 ---- 编译 SDK 包之前你需要做配置选择
1、先找到RK3588S中的 envsetup.sh
在这里插入图片描述
2、 ./envsetup.sh
选择我们对应的芯片在这里插入图片描述
./build.sh lunch
在这里插入图片描述
2: 单独编译
./build.sh uboot ---- 单独编译 uboot 的 — uboot.img
./build.sh kernel — 单独编译内核 — boot.img / zboot.img
./build.sh rootfs — 单独编译文件系统 — rootfs.img
3: 整体编译
./build.sh ---- 第一次编译的时间会很长,大概需要 2-3 个小时
编译需要联网 — 他需要联网下载他所需要的一些第三方的库

1: 在 Ubuntu/Linux 下调试 ADB 设
需要安装 ADB 服务
sudo apt-get install adb
在这里插入图片描述
2: 通过 ADB 调试我们的开发板了
学习 ADB 三个指令:
adb shell->把当前终端当作 开发板终端
adb push->推入 Ubuntu 文件 到开发板内部
adb push Ubuntu 文件路径 开发板路径
adb pull->从开发板拉出来文件
adb pull 拉出来哪个文件(开发板) 拉到哪里(Ubuntu)

这篇关于驱动(RK3688S)第一课时:认识驱动和环境搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1119404

相关文章

VSCode配置Anaconda Python环境的实现

《VSCode配置AnacondaPython环境的实现》VisualStudioCode中可以使用Anaconda环境进行Python开发,本文主要介绍了VSCode配置AnacondaPytho... 目录前言一、安装 Visual Studio Code 和 Anaconda二、创建或激活 conda

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

Windows环境下安装达梦数据库的完整步骤

《Windows环境下安装达梦数据库的完整步骤》达梦数据库的安装大致分为Windows和Linux版本,本文将以dm8企业版Windows_64位环境为例,为大家介绍一下达梦数据库的具体安装步骤吧... 目录环境介绍1 下载解压安装包2 根据安装手册安装2.1 选择语言 时区2.2 安装向导2.3 接受协议

SpringBoot基于沙箱环境实现支付宝支付教程

《SpringBoot基于沙箱环境实现支付宝支付教程》本文介绍了如何使用支付宝沙箱环境进行开发测试,包括沙箱环境的介绍、准备步骤、在SpringBoot项目中结合支付宝沙箱进行支付接口的实现与测试... 目录一、支付宝沙箱环境介绍二、沙箱环境准备2.1 注册入驻支付宝开放平台2.2 配置沙箱环境2.3 沙箱

linux环境openssl、openssh升级流程

《linux环境openssl、openssh升级流程》该文章详细介绍了在Ubuntu22.04系统上升级OpenSSL和OpenSSH的方法,首先,升级OpenSSL的步骤包括下载最新版本、安装编译... 目录一.升级openssl1.官网下载最新版openssl2.安装编译环境3.下载后解压安装4.备份

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate