手册亮点:
01 完全零基础,降低学习门槛
02 深入浅出、通俗易懂
03 思路清晰、语言风趣
04 配套视频+详细文档+QQ群答疑 全方位保证学习质量
05 基础知识+思路引导的教学方式 授之以鱼更授之以渔
06 本教程包括入门篇、Linux系统/编程篇、Linux驱动教程,后续教程编写遵循由简至繁,由浅至深的理念,讲解方式通俗易懂,非常适合零基础小伙伴进行学习。
第一篇 嵌入式Linux入门篇
前言 总领及学习指引
01 框架学习法
02 嵌入式系统学习的框架
03 关于裸机程序和仿真
04 基于迅为开发板的学习步骤
第一部分 嵌入式Linux开发环境构建及基础知识
第一章 安装虚拟机VM软件
第二章 获取并安装Ubuntu操作系统
第三章 Ubuntu系统介绍
3.1 什么是ubuntu?和linux的关系是什么?
3.2 linux的发行版有哪些?
3.3 常见的ubuntu分为哪些?
第四章 Ubuntu启用root用户
4.1 命令行的组成
4.2 为什么要启用root用户?
4.3 启用root用户步骤
4.4 退出root用户
第五章 Ubuntu使用apt-get下载
5.1 使用apt-get 命令之前的检查
5.2 设置下载源
5.3 更新下载源
5.4 安装 vim 软件
5.5 软件的更新
5.6 软件的卸载
第六章 Vim 编辑器的使用
6.1 什么是 vim?
6.2 为什么要学习 vim 编辑器?
6.3 vi 和 vim 的关系是什么呢?
6.4 怎么打开 vi 编辑器呢?
6.5 vim 编辑器有三种模式
6.6 vim 编辑器移动光标
6.7 vim 编辑器支持快速定位
6.8 vim 编辑器的文本的复制和粘贴
6.9 vim 编辑器使用快捷键来复制
6.10 vim 编辑器的删除
6.11 vim 编辑器的撤销
6.12 vim 编辑器的查找
6.13 vim 编辑器的替换
6.14 vim 编辑器的保存
6.15 vim 编辑器文件的对比
第七章 Linux 常用命令第一部分
7.1 ls 命令
7.2 cd 命令
7.3 pwd 命令
第八章 Linux相对路径和绝对路径
8.1 什么是绝对路径?
8.2 什么是相对路径?
第九章 Linux 家目录和根目录概念
9.1 什么是根目录?
9.2 什么是家目录?
第十章 Linux常用命令第二部分
10.1 mkdir 命令
10.2 rmdir 命令
10.3 rm 命令
10.4 touch 命令
10.5 clear 命令
10.6 reset命令
10.7 cp 命令10.8 mv 命令
10.9 tar 命令
10.10 ifconfig 命令
10.11 cat 命令
10.12 reboot 命令
10.13 poweroff 命令
10.14 ipconfig 命令
10.15 ping 命令
第十一章 Linux 帮助手册讲解
11.1 怎么打开帮助手册
11.2 安装依赖
11.3 使用手册查看命令
第十二章 Linux 权限管理
12.1 为什么要管理 linux 权限?
12.2 Ubuntu的文件权限
12.3 chmod 命令
第十三章 Linux连接档概念
13.1 Linux下的连接档种类
13.2 什么是 inode
13.3 什么是硬连接
13.4 使用硬连接的优缺点是什么?
13.5 什么是软连接
第十四章 Linux 目录结构讲解
14.1 linux目录结构
14.2 linux文件层次标准
14.3 linux 根目录下
第十五章 Linux 文件系统概念
15.1 什么是文件系统?
15.2 linux为什么需要文件系统?
15.3 linux 常见文件系统的类型都有哪些?
15.4 ubuntu的文件系统类型是什么呢?
第十六章 Linux 第一个程序 HelloWorld
16.1 什么是gcc ?
16.2 gcc 的基本用法
16.3 流程
第十七章 Linux 环境变量讲解
17.1 什么是环境变量?
17.2 常用变量 PATH
17.3 修改ubunu的环境变量的方法
第十八章 Linux编写第一个自己的命令
18.1 什么是命令?
18.2 定义一个自己的命令
第十九章 Linux 工具之make 工具和 makefile 文件
19.1 什么是 make 工具?
19.2 怎么调用make 工具?
19.3 什么是makefile ?
第二十章 makefile 基本语法(上)
20.1 设置vim首行缩进
20.2 Makefile 基本语法
20.3 Makefile 变量和变量赋值
20.4 自动化变量
第二十一章 makefile基本语法(下)
21.1 wildcard 函数
21.2 notdir 函数
21.3 dir 函数
21.4 patsubst 函数
21.5 foreach 函数
第二十二章 安装VMware Tool 工具
第二部分 嵌入式Windows开发环境构建
第二十三章 安装 SSH 软件
第二十四章 安装 Samba
第二十五章 Source Insight 的安装和使用
第二十六章 MobaXterm的安装教程
第三部分 嵌入式平台入门实操
第二十七章 交叉编译器的安装和使用
第二十八章 借助U盘或TF卡拷贝程序到开发板上
第二十九章 点亮第一个 led灯
29.1 前置知识
29.2 led设备的控制
29.3 使用c语言调用shell命令控制led灯
第二篇 Linux系统编程篇
第一部分 Linux下I/O操作
第三十章 文件IO和标准IO
30.1 文件IO open()
30.2 文件IO close()
30.3 文件IO read()
30.3 文件IO write()
30.4综合练习(一)
30.5文件IO lseek()
第三十一章 目录IO
31.6 目录IO mkdir()
31.7 目录IO opendir()/closedir()
31.8目录IO readdir()
31.9综合练习(二)
第三十二章 库的制作与使用
32.1静态库和动态库
第二部分 进程与进程间通信
第三十三章 进程基础
33.1 进程创建
33.2 exec函数族
33.3 ps和kill命令
33.4 孤儿进程与僵尸进程
33.5 wait()函数
33.6守护进程
第三十四章 进程间通信
34.1 无名管道
34.2 有名管道
34.3 信号发送
34.4 信号接收
34.5 信号处理
34.6共享内存
34.7消息队列
34.8信号量
第三篇 嵌入式 Linux 驱动开发篇
第一部分 Linux 驱动初探
第三十五章 嵌入式开发概述及环境构建
35.1嵌入式 linux 开发介绍
35.2 嵌入式 linux 环境构建
35.2.1 编译内核源码
35.2.2 windows系统 Linux固件烧写
35.2.3 搭建nfs共享目录
35.2.4 设置交叉编译器
第三十六章 Linux驱动初探
36.1 linux 设备驱动开发基本概念
36.2 linux设备驱动分类及特点
36.3 最简单的设备驱动-helloworld
第二部分 Linux内核裁剪与定制
第三十七章 Linux内核模块
37.1 Linux内核模块简介
37.1.1 内核和编译器路径
37.1.2 Makefile 和测试驱动源码以及编译
37.2 ch34x驱动实验
第三十八章 驱动模块编译进内核
38.1 图形化配置内核
38.2 内核中编译驱动
第三部分 Linux 驱动基础
第三十九章 Linux Misc驱动
39.1 misc设备驱动简介
39.2 编写实验程序
39.2.1 编写驱动例程
39.2.2 编译驱动程序
39.2.3 运行测试
第四十章 Linux用户层和内核层
40.1 Linux用户层和内核层交互
40.2 编写驱动程序和应用程序
40.3 编译驱动及运行测试
40.4 应用层和内核层传递数据
40.4.1 应用层从内核层读数据
40.4.2 应用层向内核层写数据
第四十一章 物理地址与虚拟地址
第四十二章 LED驱动实验
42.1 实验需求分析
42.2 硬件分析
42.2.1 硬件原理图分析
42.2.2 芯片手册分析
42.3 编写LED驱动
42.4 编写应用程序
42.5 编译驱动及运行测试
第四十三章 驱动模块传参
43.1 驱动模块传参简介
43.2 驱动模块传普通参数
43.3 驱动模块传数组
第四十四章 注册字符设备号
44.1 字符设备号简介
44.1.1 设备号的组成
44.1.2 设备号的分配
44.2 编写驱动例程
44.3 编译驱动及运行测试
44.3.1 静态注册设备号测试
44.3.2 动态注册设备号测试
第四十五章 注册字符类设备
45.1 注册字符类设备简介
45.2 编写字符设备驱动
45.3 编写应用程序
45.4 开发板实验
第四十六章 自动创建设备节点
46.1 自动创建设备节点简介
46.1.1 创建和删除类函数
46.1.2 创建设备函数
46.2 创建类函数
46.3 创建设备函数
第四十七章 字符设备和杂项设备总结回顾
第四十八章 Platform 设备驱动
48.1 Linux设备驱动分层和分离
48.1.1 设备驱动的分层思想
48.1.2 主机驱动和外设驱动分离思想
48.2 Platform 平台驱动模型
48.2.1 Platform 设备
48.2.2 Platform 驱动
48.2.3 Platform 总线
48.3 实验程序
48.3.1 编写device.c
48.3.2 编写 driver.c
48.3.3 编写probe
第四十九章 平台总线总结回顾
第四部分 Linux驱动进阶
第五十章 Linux设备树
50.1 设备树的由来
50.2 什么是设备树?
50.3 DTS 、DTC 和 DTB
50.4 DTS 设备树语法结构
50.4.1 dtsi 头文件
50.4.2 设备节点信息
50.4.3 设备节点及lable命名
50.4.4 标准属性
第五十一章 添加设备树节点
51.1 查看设备树节点方法
51.2 添加自定义节点
51.3 编译设备树文件
51.4 运行测试
51.4.1 验证结论
第五十二章 设备树常用of函数
52.1 设备树常用of函数
52.1.1 查找节点的of函数
52.1.2 获取属性值的of函数
52.2 of函数实验
52.2.1 查找的节点
52.2.2 获取属性内容
52.2.3 获取reg属性
52.2.4 获取status属性
第五十三章 设备树下的platform驱动
53.1 设备树下的Platform设备
53.2 实验程序编写
53.2.1 Platform驱动程序
53.2.2 获取资源
53.2.3 获取节点属性
53.2.4 映射物理地址
第五十四章 Pinctrl 子系统和 GPIO 子系统
54.1 Pinctrl子系统
54.1.1 配置pinctrl
54.1.2 调用 pinctrl
54.2 GPIO子系统
第五十五章 Pinctrl和GPIO子系统实验
55.1 需求分析
55.2 修改设备树文件
55.3 LED驱动程序编写
55.4 编写测试APP
55.5 运行测试
第五十六章 设备驱动IO控制
56.1 设备驱动IO控制原理
56.2 编写测试-不传递数据
56.3 编写测试-写数据
56.4 编写测试-读数据
第五十七章 Linux中断实验
57.1 Linux中断简介
57.1.1 Linux中断介绍
57.1.2 中断相关函数
57.1.3 中断上文和中断下文
57.1.4 设备树中的中断节点
57.2 实验程序编写
57.2.1 修改设备树文件
57.2.2 编写驱动代码
57.2.3 运行测试
57.2.4 优化方案
第五十八章 中断下文之tasklet
58.1 中断下文之tasklet
58.1.1 tasklet的概念
58.1.2 tasklet参考步骤
58.2 实验程序编写
58.3 运行测试
第五十九章 等待队列
59.1 阻塞和非阻塞IO
59.1.1 阻塞与非阻塞简介
59.1.2 等待队列
59.1.3 等待队列头
59.1.4 等待队列项
59.1.5 添加/删除队列
59.1.6 等待唤醒
59.1.7 等待事件
59.2 编写驱动程序
59.3 编写应用程序
59.4 运行测试
59.5 优化方案
第六十章 中断下文之工作队列
60.1 工作队列理论基础
60.2 工作队列相关API
60.3 工作队列实验
60.3.1 驱动程序编写
60.3.2 测试实验
第六十一章 Linux内核定时器
61.1 Linux 内核时间管理
61.1.1 内核中的时间概念
61.1.2 节拍率
61.1.3 jiffies
61.2 内核定时器简介
61.3 实验测试
第六十二章 定时器按键消抖实验
62.1 定时器按键消抖简介
62.2 定时器按键消抖实验
第六十三章 输入子系统实验
63.1 Input子系统
63.1.1 Input子系统简介
63.1.2 Input驱动程序编写流程
63.1.3 input_event结构体
63.2编写实验程序
第六十四章 Linux I2C驱动
64.1 Linux I2C 驱动框架简介
64.1.1 I2C 总线驱动
64.1.2 I2C设备驱动
64.2 iTOP-RK3568的I2C节点简析
64.3 I2C 设备驱动编写流程
64.3.1 设备信息描述
64.3.2 I2C设备的数据收发和处理
第六十五章 Linux I2C驱动实验
65.1 应用程序与I2C通信
65.2 I2C总线实现client设备
65.2.1 非设备树实现i2c
65.2.2 设备树实现i2c
65.2.3 修改设备树
65.2.4 编写client.c
65.3 I2C总线实现driver驱动
65.4 I2C驱动程序实现I2C通信
第六十六章 电容屏触摸驱动实验
66.1 Linux 下电容触摸屏驱动框架
66.1.1 多点触摸协议详解
66.1.2 多点电容触摸驱动框架
66.2 电容屏触摸驱动实验
66.2.1 硬件原理图
66.2.2 编写触摸驱动
更多内容关注:迅为电子
iTOP-rk3568开发板亮点
01 性能强
iTOP-3568开发板采用瑞芯微RK3568处理器,是一款中高端通用型SOC,22nm工艺制程。内部集成了四核64位Cortex-A55处理器。主频高达2.0Ghz,2GB内存,16GB EMMC,RK809动态调频。
02 双核心架构GPU
集成了双核心架构GPU、ARM G522EE,支持OpenGL、ES1.1/2.0/3.2、OpenCL 2.0、Vulkan 1.1 、内嵌高性能2D加速硬件。
03 内置独立NPU,算力达0.8T,可用于轻量级人工智能应用。
04 强大的视频编解码,高性能VPU支持4K 60帧视频解码,多路视频源同时解码。H.265/H.264/VP9/VP8视频解码和1080p 100fps H.265/H.264/VP9视频编码。
05 接口丰富,双路千兆以太网、SATA3.0、PCIE 3.0、MIPI、EDP、HDMI、MIPI、CAMERA、4G等接口一应俱全。
06 支持多系统,流畅运行Android11、buildroot+QT、Yocto、Debian系统,新增Ubuntu20系统