幻仿编程 Udemy 付费课程,独家中英字幕 + 配套资料!
限时1折特惠!课程永久访问权,随时随地学习!
使用 Beaglebone Black (LDD1) 进行 Linux 设备驱动程序编程
实用Linux设备驱动程序编程基础课程
讲师:FastBit Embedded Brain Academy
您将学到什么
- Linux内核模块基础知识及编写语法
- Makefile 和 LKM 构建过程
- 字符设备驱动程序实现
- 平台总线、平台设备和平台驱动程序概念
- 平台驱动程序实现
- 从头开始学习设备树
- 设备树节点语法,设备树节点的属性
- 用于处理设备树节点的内核 API
- 通过设备树节点实例化设备
- 通过 u-boot 进行设备树覆盖和覆盖测试
- 内核同步服务、互斥、自旋锁的使用
- Linux 设备模型和 sysfs
- Linux GPIO子系统
- Linux pinctrl子系统
探索相关主题
- 嵌入式Linux
- 硬件
- 信息技术与软件
要求
- 学生必须熟悉基本的 Linux 命令用法
- 学生必须熟悉“C”编程语言
描述
==> 这应该是您深入“Linux 设备驱动程序”这个激动人心的世界的第一门课程 <==
在本课程中你将学习,
硬件要求:
1) 对于一些涉及测试 GPIO、pinctrl、设备树节点、覆盖的练习,您需要一块电路板。
在本课程中, 使用了 Beaglebone Black 板。
2) 为 BBB 供电的 Mini USB 线
3)USB 转 UART 电缆,用于与 BBB 进行串行连接
4) Micro SD 卡 8/16 GB
5)SD卡读卡器
6)16×2 LCD 和 10K 电位器
7)跳线
8)面包板
操作系统要求:
32/64 位 Ubuntu 18.04+ LTS
FastBit嵌入式大脑学院课程学习顺序,
如果您是嵌入式系统领域的初学者,您可以按照以下顺序学习我们的课程。这只是讲师对初学者的建议。
1)微控制器嵌入式C编程:绝对初学者(嵌入式C)
2)ARM Cortex-M3/M4处理器上的嵌入式系统编程(ARM Cortex M4处理器专用)
3)掌握微控制器及嵌入式驱动开发(MCU1)
4)掌握微控制器:定时器、PWM、CAN、RTC、低功耗(MCU2)
5)掌握微控制器:STM32-LTDC、LCD-TFT、LVGL(MCU3)
6)使用UML状态机(状态机)进行嵌入式系统设计
7)掌握 RTOS:动手调试 FreeRTOS 和 STM32Fx(RTOS)
8)ARM Cortex M 微控制器 DMA 编程揭秘(DMA)
9)STM32Fx微控制器自定义引导加载程序开发(Bootloader)
10)使用 Beaglebone Black(Linux)逐步实现嵌入式 Linux
11)使用Beaglebone Black(LDD1)进行Linux设备驱动程序编程
其他编程课程
1)掌握 Rust 编程语言:从初学者到高级
本课程适合哪些人:
- 对探索 Linux 设备驱动程序编程感兴趣的学生/业余爱好者/专业人士
| 共 145 节课程 • 总时长 21 小时 53 分钟 | |
| 第一章 主机和目标设置 | |
| 1. 主机和目标设置 | 7分56秒 |
| 2. 工具链下载 | 2分21秒 |
| 3. 安装gparted应用程序 | 1分7秒 |
| 4. 工具链安装和PATH设置 | 3分31秒 |
| 5. 目标准备 串行调试设置 | 5分27秒 |
| 6. 理解BeagleBone Black硬件启动序列 | 6分21秒 |
| 7. 准备SD卡以进行SD启动 | 6分18秒 |
| 8. 将启动镜像复制到SD卡 | 6分39秒 |
| 9. 通过SD卡启动BBB | 13分35秒 |
| 10. 通过删除eMMC MBR将BBB设置为SD启动默认选项 | 5分44秒 |
| 11. 更新Linux内核镜像 | 2分41秒 |
| 12. Linux内核编译 | 6分21秒 |
| 13. 模块编译 | 42秒 |
| 14. 模块安装 | 2分15秒 |
| 15. 更新SD卡中的新启动镜像和模块 | 4分16秒 |
| 16. 通过USB启用互联网 | 9分49秒 |
| 第二章 Linux内核模块 | |
| 1. Linux内核模块介绍 | 4分15秒 |
| 2. 用户空间 vs 内核空间 | 1分44秒 |
| 3. LKM 编写语法 | 9分45秒 |
| 4. __init 和 __exit 宏 | 6分41秒 |
| 5. LKM入口点注册和其他宏 | 5分40秒 |
| 6. 你好,世界 LKM | 6分7秒 |
| 7. 构建Linux内核模块 | 13分13秒 |
| 8. LKM的编译和测试 | 7分9秒 |
| 9. 在目标上测试LKM | 7分51秒 |
| 10. Makefile | 7分5秒 |
| 11. 建筑内庭 | 14分55秒 |
| 12. printk | 13分56秒 |
| 第三章 字符设备和驱动程序 | |
| 1. 设备驱动是什么 | 10分56秒 |
| 2. 一个字符驱动程序,字符设备和字符设备号 | 11分41秒 |
| 3. 动态分配字符设备号 | 6分2秒 |
| 4. 伪字符设备驱动实现 | 5分50秒 |
| 5. 字符设备注册 | 9分2秒 |
| 6. 字符设备注册续 | 3分19秒 |
| 7. 字符驱动文件操作方法 | 24分20秒 |
| 8. 字符驱动文件操作方法续 | 13分41秒 |
| 9. 实现文件操作方法 | 4分53秒 |
| 10. 文件操作结构初始化 | 4分44秒 |
| 11. 创建设备文件 | 23分22秒 |
| 12. 字符驱动清理函数实现 | 6分55秒 |
| 第四章 字符驱动文件操作实现 | |
| 1. 理解read方法 | 13分9秒 |
| 2. 理解错误代码 | 2分30秒 |
| 3. Read方法实现 | 5分29秒 |
| 4. 理解write方法 | 1分32秒 |
| 5. 编写方法实现 | 2分41秒 |
| 6. lseek方法 | 2分6秒 |
| 7. lseek方法实现 | 8分26秒 |
| 8. 测试伪字符驱动程序 | 7分40秒 |
| 9. 错误处理 | 17分32秒 |
| 第五章 字符驱动程序带多个设备节点 | |
| 1. 带多个设备的PCD驱动程序 | 10分35秒 |
| 2. PCD驱动器具有多个设备代码实现部分-1 | 5分29秒 |
| 3. Pcd驱动程序具有多个设备代码实现部分-2 | 10分7秒 |
| 4. Pcd驱动器具有多个设备代码实现部分-3 | 11分23秒 |
| 5. Pcd驱动程序带多个设备代码实现部分-4 | 6分46秒 |
| 6. PCD驱动程序与多设备代码实现部分-5 | 10分47秒 |
| 7. Pcd驱动程序与多设备代码实现部分-6 | 5分24秒 |
| 8. PCD驱动器带多个设备代码实现部分-7 | 8分18秒 |
| 9. 带多个设备的Pcd驱动器测试 | 7分51秒 |
| 10. Pcd驱动器带多个设备测试继续 | 9分25秒 |
| 11. 带有多个设备的Pcd驱动lseek实现 | 4分24秒 |
| 12. 讨论容器 | 19分1秒 |
| 第六章 平台总线,平台设备和平台驱动程序 | |
| 1. 平台设备和驱动程序 | 18分57秒 |
| 2. 平台驱动程序的示例 | 4分13秒 |
| 3. 注册平台设备和驱动程序 | 11分24秒 |
| 4. 平台驱动代码练习 | 2分4秒 |
| 5. 平台设备设置代码实现 | 12分30秒 |
| 6. 平台设备设置代码实现续 | 4分47秒 |
| 7. 平台驱动代码实现部分-1 | 7分52秒 |
| 8. 平台驱动代码实现部分-2 | 5分1秒 |
| 9. 平台驱动代码实现部分-3 | 8分11秒 |
| 10. 平台驱动代码实现部分-4 | 17分19秒 |
| 11. 平台驱动代码实现部分-5 | 5分43秒 |
| 12. 平台驱动代码实现部分-6 | 6分8秒 |
| 13. 测试平台驱动程序 | 5分35秒 |
| 14. Linux设备资源管理函数 | 7分47秒 |
| 15. 使用设备资源管理的内核函数 | 3分57秒 |
| 16. 使用更多平台设备进行测试 | 5分49秒 |
| 17. 修复内核崩溃 | 2分2秒 |
| 18. 平台设备驱动匹配使用平台设备ID | 24分56秒 |
| 19. 修复探针函数中的错误处理 | 4分35秒 |
| 第七章 设备树 | |
| 1. 设备树介绍 | 4分59秒 |
| 2. 编写设备树 | 10分3秒 |
| 3. 设备树结构 | 13分47秒 |
| 4. 设备树编写语法 | 11分17秒 |
| 5. 设备树父节点和子节点 | 5分26秒 |
| 6. 设备树属性 | 6分23秒 |
| 7. ‘兼容’属性 | 13分16秒 |
| 8. 设备树绑定 | 10分8秒 |
| 9. PCD设备树版本 | 4分31秒 |
| 10. 切换到Linux内核版本5.4 | 1分32秒 |
| 11. 更新 Linux 内核镜像 5.4 | 4分16秒 |
| 第八章 设备树节点和平台驱动 | |
| 1. PCD驱动器的设备树节点 | 8分6秒 |
| 2. PCD平台驱动器DT编码部分-1 | 13分13秒 |
| 3. 在板上测试设备树更改 | 10分32秒 |
| 4. Pcd平台驱动器DT编码部分-2 | 23分40秒 |
| 5. PCD平台驱动器DT编码部分-3 | 6分52秒 |
| 6. PCD平台驱动器DT编码部分-4 | 13分44秒 |
| 第九章 设备树覆盖 | |
| 1. 设备树覆盖简介 | 8分15秒 |
| 2. 设备树覆盖练习 | 15分13秒 |
| 3. 更新U-Boot | 2分9秒 |
| 4. 更新 u-boot 继续 | 2分33秒 |
| 5. 使用u-boot命令应用叠加层 | 10分25秒 |
| 6. 应用叠加层并使用u-boot uEnv.txt文件进行测试 | 15分4秒 |
| 第十章 Linux设备驱动模型 | |
| 1. Linux设备模型 | 10分56秒 |
| 2. kobjects | 5分38秒 |
| 3. kobject类型和kset | 16分 |
| 4. sysfs和kobject属性 | 7分 |
| 5. 创建sysfs属性 | 7分41秒 |
| 6. pcd_sysfs_attributes 编码部分 1 | 7分47秒 |
| 7. pcd_sysfs_attributes 编码部分 2 | 10分8秒 |
| 8. PCD sysfs 内核模块测试 | 2分22秒 |
| 9. sysfs属性的show和store方法 | 4分29秒 |
| 10. pcd_sysfs_attributes 编码部分 3 | 13分48秒 |
| 11. 属性分组 | 6分13秒 |
| 第11章 Linux GPIO子系统 | |
| 1. 引言 | 5分32秒 |
| 2. BBB的GPIOs | 8分40秒 |
| 3. 配置寄存器 | 4分17秒 |
| 4. Linux GPIO子系统 | 5分16秒 |
| 5. 消费者访问GPIO引脚 | 8分39秒 |
| 第12章 GPIO Sysfs驱动实现 | |
| 1. GPIO Sysfs驱动实现 | 6分24秒 |
| 2. GPIO Sysfs驱动实现部分-1 | 8分27秒 |
| 3. GPIO Sysfs驱动实现部分-2 | 10分51秒 |
| 4. GPIO Sysfs驱动实现部分-3 | 12分26秒 |
| 5. GPIO Sysfs 驱动实现部分-4 | 25分3秒 |
| 6. GPIO Sysfs驱动实现部分-5 | 5分38秒 |
| 7. GPIO Sysfs驱动实现部分-6 | 17分2秒 |
| 8. GPIO Sysfs驱动实现部分-7 | 14分44秒 |
| 9. GPIO Sysfs驱动实现部分-8 | 9分31秒 |
| 10. GPIO sysfs 驱动测试 | 10分4秒 |
| 第13章 Linux的Pin控制子系统 | |
| 1. 引脚控制子系统与引脚控制器 | 14分10秒 |
| 2. 写入引脚配置节点 | 11分31秒 |
| 3. LCD练习 | 9分31秒 |
| 4. LCD应用的 significance | 6分10秒 |
| 5. 添加 gpios 的引脚配置节点 | 27分5秒 |
| 6. 探索LCD代码 | 11分46秒 |
| 7. 向LCD发送命令 | 10分52秒 |
| 8. 创建LCD指令代码 | 8分22秒 |
| 9. 在gpio sysfs上测试LCD应用程序 | 11分21秒 |
| 10. 任务 实现LCD平台驱动程序 | 10分49秒 |
| 第14章 Linux同步服务 | |
| 1. 避免竞争条件 | 25分6秒 |
| 2. Linux锁定服务 | 4分19秒 |
| 3. 自旋锁与互斥锁 | 14分26秒 |
| 4. Linux自旋锁函数 | 8分3秒 |
| 5. 互斥锁 | 8分26秒 |
| 6. 在代码中使用锁定函数 | 33分11秒 |
| 1. 关于课程更新与获取 如何获取本站课程? ○ 免费获取方式:在本站签到、评论、发布文章等可获取积分,通过积分购买课程。 ○ 付费获取方式:购买本站【月度会员】或【永久会员】。 课程购买后是否支持更新? ○ 是的,所有课程均提供免费更新服务。 我们致力于为您提供持续的学习支持。 如何获取更新? ○ 单独购买的课程: 您可在“个人中心”随时查看购买记录及最新下载链接,轻松获取免费更新。 ○ 永久会员: 您可在相关页面直接查看最新下载地址,随时免费获取更新。 ○ 非永久会员(重要提示):通过会员权限下载的课程,在“个人中心”可能不显示具体订单记录。 因此,会员到期后,您将无法通过“个人中心”查看最新下载链接。 ① 解决方案建议:续费会员: 恢复会员权限后,即可再次查看所有最新下载链接。 ② 妥善保存下载链接: 我们强烈建议您在会员有效期内,保存好本站分享的课程下载链接。通常,课程更新内容会直接补充到原有分享链接中。 |
| 2. 关于课程资料 课程下载后资料是否齐全? ○ 绝大部分课程资料齐全。 我们尽力确保您获得完整的学习资源。 ○ 少数情况说明: 极少数课程可能存在资料缺失情况。针对 Udemy 课程,资料形式多样,请知悉:本地文件(随视频下载): 此类课件通常随视频一并提供,下载即得。 ① 本地文件(含链接): 课件文件中会提供资料下载链接,您需自行访问链接下载。此类资料通常也可获取。 ② 在线平台存储(如 GitHub): 讲师会在视频中说明资料获取方式(如访问特定平台),请您按指引自行下载。 ③ Udemy 平台内资料: 部分资料需登录您在 Udemy 购买的账号才能查看。此类资料本站无法提供,除非您自行在 Udemy 平台购买该课程。 |
| 3. 关于课程字幕 是否提供中英文双字幕?原本无字幕的课程是否支持? ○ 是的,本站下载的所有课程均提供中英文双字幕,包括 Udemy 原本无任何字幕的课程。 我们致力于提升您的学习体验。 Udemy 字幕现状与本站服务: ○ Udemy 绝大多数课程本身不提供任何字幕。在少数提供字幕的课程中,也几乎不提供中文字幕。 本站字幕服务流程: ① Udemy 有字幕: 我们会将其翻译成中文字幕,与英文字幕一同提供。 ② Udemy 无字幕: 我们会通过技术手段识别生成英文字幕,再翻译成中文字幕,一同提供给您。 字幕服务重要说明(请您理解): ○ 翻译精度: 字幕翻译采用谷歌翻译引擎完成,虽不及人工翻译精准,但足以保障您正常学习理解。 ○ 若您仍然觉得字幕精度较低: 可联系站长针对性润色字幕(该服务仅限本站会员)。 |
| 4. 关于视频存储与使用 视频存储位置与观看/下载方式? 本站所有课程视频均存储于网盘平台。 您支持在线观看: 可在网盘内直接播放学习。 您支持下载: 可将视频下载至本地,使用播放器播放,更灵活便捷。 主要存储网盘:百度网盘 视频格式与加密情况? 本站所有课程视频均以 MP4 或 MKV 通用格式提供。 视频文件不加密,您可自由分享(请遵守相关法律法规)。 播放建议: 使用本地播放器(如 PotPlayer)播放时,可同时加载中英文字幕文件,学习体验更佳。您可参考我们提供的《PotPlayer 挂载中英双字幕教程》。 |
| 5. 关于售后支持与退款政策 遇到问题如何联系? 无论您在购买前或购买后遇到任何疑问,都欢迎随时联系站长。 我们将竭诚为您服务。 退款政策说明: 原则: 由于虚拟商品(课程、资料等)具有可复制性,一旦购买成功并完成下载,原则上不支持退款。 请您在购买前仔细阅读课程介绍、资料说明及本条款,确认符合您的需求。 如有不确定之处,欢迎先行咨询站长。 |



























暂无评论内容