专为3568编写,16大分类,35个手册,满足学习和开发不同的需求。

1、快速使用指南(必看)

2、开发板启动和测试

3、开发环境搭建

4、开发板源码编译

5、开发板镜像烧写

6、 Android系统开发

7、Linux系统开发

8、人工智能开发

9、开发板外设接口开发

10、开发板多屏显示开发

11、开发板编解码开发

12、开发板NVR系统开发

13、开发板鸿蒙系统开发

14、开发板硬件开发

15、开发板原厂文档

16、开发板学习教程


嵌入式学习之Linux入门篇


1.安装虚拟机VMware软件

2.获取并安装Ubuntu操作系统

3.Ubuntu系统介绍

4.Ubuntu启用root用户

5.Ubuntu使用apt-get下载

6.vim编辑器的使用

7.Linux常用命令第一部分

8.Linux相对路径和绝对路径

9.Linux家目录和根目录概念

10.Linux帮助手册讲解

11.Linux权限管理

12.Linux权限管理

13.Linux连接档概念

14.Linux目录结构讲解

15.Linux文件系统概念

16.Linux第一个程序HelloWorld

17.Linux环境变量讲解

18.Linux编写第一个自己的命令

19.Linux工具之make工具和makefile文件

20.makefile基本语法(上)

21.makefile基本语法(下)

22.VMwareTools工具安装和使用

23.SSH软件安装和使用

24.samba安装和使用

25.Source Insight的安装和使用

26.超级终端安装和使用


开发环境搭建-RK3568开发板


1.RK3568电脑开发配置要求

2.初识RK3568-开箱介绍

3.初识RK3568-开发板硬件连接

4.搭建开发环境-安装虚拟机软件

5.搭建开发环境-安装虚拟机Ubuntu系统

6.搭建开发环境-安装vmtools工具

7.熟悉开发环境-ubuntu系统基本操作与设置

8.安装开发工具-安装nfs

9.安装开发工具-安装sh

10.安装开发工具-安装vscode

11.安装编译Android和Linux源码需要的依赖包

12.提高效率-直接使用迅为制作好的开发环境

13.让开发板跑起来-安装串口终端

14.让开发板跑起来-上电启动

15.搭建开发环境-安装虚拟机Ubuntu系统


系统编译与烧写-RK3568开发板


1.本期视频介绍以及观看建议

2.RK3568开发板启动模式以...

3.Android11源码包编译-获取...

4.Android11源码包编译-整体编译...

5.Android11源码包编译-单独编译...

6.Android11源码包编译-单独编译...

7.Android11源码包编译-单独编译...

8.Android11源码包编译-打包upd...

9.系统镜像烧写-安装RKToo[驱动..

10.系统镜像烧写-设置拨码开关..

11.Andorid11镜像烧写-整体烧写

12.Anroid系统固件作用讲解...

13.完整固件update.img拆包和解..

14.Android11镜像烧写-使用独立..

15.Android11镜像烧写-单独烧写..

16.Android12源码包编译-获取An...

17.Android12源码包编译-整体编译...

18.Android12源码包编译-单独编译...

19.Android12源码包编译-单独编译..

20.Android12源码包编译-单独编译...

21.Android12源码包编译-打包update.i...

22.Andorid12镜像烧写-整体烧写Andro)...

23.Android12镜像烧写-使用独立镜像文..

24.Android12镜像烧写-单独烧写uboot...

25.Linux源码包介绍

26编译Linux源码说明

27.Linux源码包编译-获取Linux源码...

28.Linux系统编译-整体编译buildroot...

29.Linux系统编译-单独编译uboot

30.Linux系统编译-单独编译内核和设备树..

31.Linux系统编译-单独编译recovery

32.Linux系统编译-单独编译Linux文件系统

33.Linux系统编译-打包buuldroot,yocto...

34.linux系统编译-编译ubuntu文件系统

35.Linux系统编译-打包ubuntu系统镜像

36.Linux系统镜像烧写-烧写完整固件upd...

37.Linux系统镜像烧写-单独烧写uboot内

38.TF卡烧写 (适用Linux和Android系统) ..

39.使用虚拟机ubuntu系统给开发板烧写系...

40.救砖模式


嵌入式学习-Linux系统编程篇


1.什么是Linux系统编程

2.Linux系统编程基本程序框架

3.标准10和文件10

4.文件10之open函数

5.文件10之close函数

6.文件I0之read函数

7.文件10之write函数

8.综合练习(一)

9.文件10之lseek函数

10.目录10之mkdir函数

11.目录I0之opendir和closedir函数

12.目录I0之readdir函数

13.综合练习(二)

14.库的基本概念

15.静态库的制作与使用

16.动态库的制作与使用

17.进程基本知识

18.进程控制

19.exec函数族

20.ps和kill命令

21.孤儿进程和僵尸进程

22.wait函数

23.守护进程

24.管道通信之无名管道

25.管道通信之有名管道

26.信号通信(一)

27.信号通信 (二)

28.信号通信(三)

29.共享内存

30.消息队列

31.信号量


第一期-驱动基础 >嵌入式学习之Linux驱动


1.学习Linux驱动基本要求

2.什么是Linux驱动

3.初步认识Linux源码

4.编写第一个驱动helloworld

5.如何编译Linux驱动程序

6.把驱动程序编译成内核模块(理论讲解)

7.把驱动程序编译成内核模块

8.把驱动编译成内核模块(扩展)

9.内核模块加载命令(理论讲解)

10.在3568上进行内核模块加载实验

11.menuconfig图形化配置界面操作

12.操作3568的图形化配置界面

13.与图形化界面有关的文件

14.Kconfig语法讲解

15.将驱动编译到内核(基于3568操作)

16.动(1)

17.动模块传参(2)

18.在3568上进行驱动传参实验(实际操作)

19.内核模块符号导出

21.进阶1:编译进内核的驱动系统是...

22.进阶2:让驱动快一点被加载_...

23.进阶3:驱动代码使用Makefile文件...

24.进阶4:内核是如何运行KO文件的...

25.进阶5: 自己实现一个insmod命令...

26.进阶6:内核是如何运行ko文件的_..

27.进阶7:向系统中添加一个系统调用...

28.进阶8:内核是如何运行KO文件的...

20.阶段性总结:内核模块相关知识


第二期-字符设备基础 >嵌入式学习之Linux驱动

1.申请字符设备号

2.申请字符类设备号

3.申请字符类设备号

4.注册字符类设备

5.注册字符类设备

6.file_operations结构体

7.设备节点概念

8.手动创建设备节点实验

9.自动创建设备节点

10.在3568上进行自动创建设备节点实验

11.内核空间与用户空间

12.内核空间与用户空间数据交互实验

13使用文件私有数据

14.私有数据的使用场景

15.一个驱动兼容不同设备实验

16.杂项设备驱动

17.杂项设备驱动实验

18.Linux驱动错误处理

19.点亮一个LED灯

20.字符设备驱动框架总结和回顾


第三期-井发与竞争>嵌入式学习之Linux驱动

1.什么是并发与竞争

2.原子操作理论讲解

3.原子操作实验-基于RK3568

4.自旋锁理论讲解

5.自旋锁实验基于RK3568

6.自旋锁的死锁

7.信号量理论讲解

8.信号量实验基于RK3568

9.互斥锁理论讲解

10.互斥锁实验基于RK3568

11.并发与竞争总结


第四期-高级字符设备进阶>嵌入式学习之Linux驱动


1.引入I0模型

2.使用等待队列实验阻塞访问

3.实现非阻塞访问方式

4.10多路复用

5信号驱动I0

6.10模型总结

7.Linux定时器使用

8.使用定时器实现循环定时

9.使用定时器实现秒字符设备

10.Linux内核打印等级

11.[lseek定位设备驱动(一)

12.[lseek定位设备驱动(二)

13.ioctl设备驱动基础

14.ioctl设备驱动操作

15.ioctl设备驱动地址传参

16.使用ioctl控制定时器

17.封装驱动提供的API函数

18.编写驱动文档

19.优化驱动的稳定性和效率

20.驱动调试方法


第五期-中断>嵌入式学习之Linux驱动


1.中断的基本概念

2.中断子系统架构

3.GIC控制器相关知识介绍

4.申请一个gpio中断

5.申请一个gpio中断实验操作_基于RK3568

6.request_irg是如何向内核申请中断的?

7.中断下文_tasklet

8.中断下文 tasklet实验操作

9.软中断

10.软中断实验基于RK3568

11.为什么说tasklet是一种特殊的软中断?

12.共享工作队列

13.共享工作队列实验基于RK3568

5.申请一个gpio中断实验操作_基于RK356814.自定义工作队列

10.软中断实验基于RK3568

11.为什么说tasklet是一种特殊的软中断?

12.共享工作队列

13.共享工作队列实验基于RK3568

14.自定义工作队列

15.自定义工作队列实验基于RK356816.延迟工作

17.延迟工作实验基于RK3568

18.工作队列传参

19.工作队列传参基于RK3568

20.并发管理工作队列(CMWQ)

21.并发管理工作队列(CMWQ)实验

22.中断线程化

23.中断线程化基于RK3568

24.中断课程总结回顾


第六期-平台总线模型>嵌入式学习之Linux驱动


1.平台总线模型 (platform)介绍

2.注册platform设备

3注册platform设备实验基于RK3568

4注册platform驱动

5注册platform驱动实验 基于RK3568

6.编写probe函数

7.编写probe函数实验基于RK3568

8.使用平台总线模型编写led驱动

9.使用平台总线模型编写led驱动

10.平台总线模型总结和回顾


第七期-设备树>嵌入式学习之Linux驱动


1.总领-本期设备树视频要怎么讲?

2.什么是设备树?为什么引入设备树?

3.设备树的基本知识

4.如何编译设备树 (DTC编译器的使用)

5.设备树基本语法(1)

6.设备树基本语法 (2)

7.实例分析:中断

8.实践:使用设备树描述中断

9.实例分析:时钟

10.实例分析:CPU

11.实例分析:GPIO

12.实践:使用设备树描述GPIO

13.引入pinmux概念

14使用pinctrl设置复用关系

15.实践:使用pinctrl设置管教复用关系

16.dtb文件格式

17.理论: dtb展开成device_node

18.实例分析: dtb展开成device_node

19.理论: device node展开成platform...

20.实例分析: device_node展开成platfor...

21.设备树下platform_device和platform...

22.of操作函数-获取设备节点

23.of操作函数-获取属性

25.一个bug带来的思考-ranges属性

26.of操作函数-获取中断资源

27.参考文档-设备树bindings文档

28.讨论-为什么学习完设备树感觉还不会设备树

24.实战检验:解决获取设备树资源失败的问题


第八期-设备树插件>嵌入式学习之Linux驱动


1.总领-设备树插件课程规划

2.设备树新技术: Dynamic DeviceTree

3.设备树插件语法以及如何编译设备树插件

4.设备树插件的使用

5.内核虚拟文件系统configfs介绍

6.理论:configfs虚拟文件系统数据结构

7.实践:注册configfs子系统

8.实践:注册group容器

9.实践:实现用户空间创建item功能

10.实践:完善drop和release函数

11.实践:注册attribute

12.实践:实现多级目录

13.移植设备树插件驱动

14.设备插件驱动分析

15.参考资料介绍


第九期-设备模型>嵌入式学习之Linux驱动


1.课程规划

2.抛砖引玉-设备模型的框架: kobject和kset

3.实践:创建kobject实验

4.实践:创建kset实验

5.什么是设备模型,为什么要引入设备模型?

6.对设备模型进一步探究

7.sysfs虚拟文件系统的目录层次分析

8.什么是引用计数器(kref)?

9.实践:引用计数器实验

10.实例: kobject是如何释放的

11.引入并完善kobj_type结构体

12.在sys目录下创建属性文件并实现读写功能()

13.优化sys目录下属性文件的读写函数

14.在sys目录下创建属性文件并实现读写功能(二)

15.在sys目录下创建多个属性文件的简便方法

16.实践:注册一个自己的总线

17.实践:在总线目录下创建属性文件

18.理论分析:总线是如何注册的?

19.实例分析:platform总线是如何注册的?

20.实践:在自己的总线下注册设备

21.理论分析:设备是如何注册的?

22.实例分析:platform总线上的设备是...

23.课后作业:为什么在注册platform总...

24.课后作业:为什么在注册platform总线

25.理论分析:驱动是如何注册的?

26.probe函数是如何执行的

27.为什么加载设备和加载驱动没有..

28.实例分析:platform总线上的驱.

29.设备模型总结和回顾


第十期-热插拔>嵌入式学习之Linux驱动


1.课程规划

2.热插拔概念介绍

3.内核是如何发送事件到用户空间的?

4.内核发送uevent的俩种方法和课后作业讲解

5.完善kset_uevent_ops结构体

6.通过netlink监听广播信息

7.设置uevent helper

8.通过uevent helper处理uevent事件

9.实践-使用udev实现U盘自动挂载

10.实践-使用udev实现TF盘自动挂载

11.实践-使用mdev实现U盘自动挂载

12.实践-使用mdev实现TF盘自动挂载

13.提高效率-使用usbmount+udev


第十一期-pinctrl子系统>嵌入式学习之Linux驱动


1.课程规划

2.pinctrl子系统课程引入

3.前置理论-pinctrl desc结构体

4.实践-讲解pinctrl desc结构体实际应用

5.理论:pinctrl子系统三个函数操作集

6.进一步了解rockchip_pinctrl结构体

7.实践:pinctrl子系统三个函数操作集

8.重点:dt_to_map函数讲解

9.阶段性总结一

10.继续分析:引入dev_pin info结构体

11.pinctrl_bind_pins函数分析(一)

12.pinctrl_bind_pins函数分析(二)

13.add setting函数讲解

14.根据状态去设置引脚复用

15.阶段性总结二

16.完结:验证猜想


文件系统构建>嵌入式学习


1.什么是文件系统,根文件系统以及...

2.使用busybox构建文件系统

3完善busybox文件系统

4.打包busybox文件系统_以RK356.

5.给busybox文件系统增加功能-以QT库

6.将编译好的QT库部署在busybox文件系统中

7.构建文件系统更快捷的方法-buildroot引入

8.使用budildroot构建文件系统-以rk3568为例

9.给buildroot文件系统增加功能-以QT库为例

10.总结、回顾和引入其他文件系统


QT学习篇>嵌入式学习


1.本期QT视频将会收获哪些知识?

2.在windows上搭建qt开发环境

3.C++基础(上)

4.C++基础(下)

5.制作一个最简单的QT界面

6.qt信号和槽

7.仿写一个智能家居界面(上)

8.仿写一个智能家居界面 (中)

9.仿写一个智能家居界面 (下

10.qt上位机开发之串口助手 (上)

11.qt上位机开发之串口助手 (下)

12.把qt程序打包成windows软件

13.qt网络编程之TCP通信

14.qt网络编程之UDP通信

15.QT时间编程之QT时钟

16.QT系统移植之构建根文件系统

17.QT系统移植之交叉编译QT源码和触摸源码

18.T系统移植之在开发板上部署QT运行环境\

19.0T跨平台运行之把OT程序交叉编译到ARM..

20.QT跨平台运行之使用OT控制蜂鸣器

21.QT跨平台运行之把QT程序编译成手机APP

22.一键烧写QT程序到开发板


安卓JNI开发>嵌入式学习


1.jni教程(一)

2.jni教程(二)

3.jni教程(三)


Android11系统移植>嵌入式学习


1.总领-嵌入式Android要学习哪些内容

2Android源码获取途径

3.下载谷歌AOSP源码

4.编译谷歌AOSO源码

5.通过模拟器启动AOSP系统

6.认识瑞芯微Android11原厂BSP

7.将原厂Android11源码整体编译通过

8.原厂uboot源码顶层目录讲解

9.通过armv8启动流程了解RK3568的引导流程

10使用ddrbin tool工具修改ddr.bin的波特率

11.uboot启动打印信息讲解

12.uboot的bootargs和cmdline参数讲解

13.对uboot进行本地化 (一)

14.对uboot进行本地化 (二)

15.瑞芯微uboot的特殊机制讲解

16.编译原厂Android11内核

17.对Android11内核进行本地化

18.RK809电源管理芯片讲解

19.10电压域讲解

20.配置3568的10电压域

21.配置Android11的调试串口

22.Android源码的device目录讲解

23.Android源码的device目录的变量讲解

24.对Android源码本地化添加自己的产品

25让Android11在开发板跑起来


RKNPU2从入门到实践>基于RK3588和RK3568


00、前言

01、初识RKNPU

02、RKNPU软件推理框架

03、RKNN Toolkit2 环境搭建

04、RKNN模型构建

05、RKNN 模型评估-推理测试

06、RKNN 模型评估-量化精度分析

07、RKNN 模型评估-性能评估和内存评估

08、RKNN Toolkit lite2部署RKNN模型

09、RKNPU2通用API讲解

10、RKNPU2 零拷贝API讲解


YOLOV5实时目标分类>RKNPU2项目实战1

[实战1] YOLOV5实时目标分类


SORT目标追踪>RKNPU2项目实战2

1.介绍和视频演示

2.在模拟器实现图片的目标追踪

3.连板推理和嵌入式部署

4.视频目标追踪的实现(python)

5.C++实现目标追踪


车牌识别>RKNPU2项目实战3

01.视频演示和实例介绍

02.crnn车牌识别

03.车牌检测 (haar级联器和yolov5)

04.车牌检测+车牌识别 (haar)

05.车牌检测+车牌识别 (yolov5)

06.车牌检测+车牌识别 (CAPI接口)

07.实例总结


例程说明

C应用编程例程[72个]

驱动例程[29个]

QT例程[7个]