本课程介绍 Linux 操作系统的 Kernel 驱动程序开发。介绍了 Yocto 构建系统,学生通过编程作业使用该系统构建自己的定制嵌入式 Linux 系统。本课程以 Linux 系统编程和 Buildroot 简介中的作业和知识为基础,在开始本课程之前必须完成这些作业和知识。 Linux 内核编程和 Yocto 项目简介也可以作为 ECEA 5306 的学分,这是 CU Boulder 电子工程理学硕士课程的一部分。 本课程包括特定的硬件和软件要求。请查看下面的常见问题,了解完整的详细信息。
在本模块中,您将学习 Linux 设备驱动程序的基础知识,包括如何构建和运行 Linux 设备驱动程序。 你将修改上一门课程中开发的套接字应用程序,并添加线程。 您还将学习 Yocto 项目,并构建一个包含上一课程中开发的自定义套接字应用程序的自定义 Yocto 映像。
涵盖的内容
11个视频5篇阅读材料2个作业1次同伴评审
显示有关单元内容的信息
11个视频•总计132分钟
设备驱动程序简介•10分钟
设备驱动程序概述•12分钟
内核模块简介•15分钟
构建和加载内核模块•12分钟
内核模块设计基础•13分钟
Yocto 简介•14分钟
构建 Yocto 映像•19分钟
Yocto/Buildroot比较•8分钟
作业 6 第 1 部分:线程和链接表•11分钟
作业 6 第 1 部分:Socket 服务器线程演示•9分钟
作业 6 第 2 部分:Yocto 环境调用演示•9分钟
5篇阅读材料•总计41分钟
课程更新和无障碍支持•1分钟
非学分制学生:欢迎和帮助•10分钟
硬件和软件要求•10分钟
作业 6 第 1 部分说明•10分钟
作业 6 第 2 部分说明•10分钟
2个作业•总计20分钟
设备驱动程序介绍•10分钟
构建和运行内核模块•10分钟
1次同伴评审•总计360分钟
作业 6 同行评议•360分钟
Linux 字符驱动程序和调试
第 2 单元•小时 后完成
单元详情
在本模块中,你将了解不同类型的 Linux 内核驱动程序以及内核对字符设备驱动程序的支持。 你将了解与用户空间交互的基本驱动程序数据结构和函数。 你将了解内核调试的基础知识以及它与应用程序调试的区别。 您将实现一个经过单元测试的循环缓冲区,该缓冲区将在今后的作业中使用。 最后,你将构建一个支持树外内核模块的 Yocto 嵌入式设备映像。
涵盖的内容
7个视频2篇阅读材料2个作业1次同伴评审
显示有关单元内容的信息
7个视频•总计80分钟
连接到用户空间•15分钟
设备驱动程序文件操作•17分钟
设备驱动程序和用户空间 续•8分钟
循环缓冲器的实现•11分钟
作业 7 第 1 部分演示:循环缓冲区作业概述和演示•2分钟
内核调试•16分钟
作业 7 第 2 部分演示:Yocto 和 Buildroot 内核驱动程序构建•10分钟
2篇阅读材料•总计20分钟
作业 7 第 1 部分说明•10分钟
作业 7 第 2 部分说明•10分钟
2个作业•总计20分钟
字符设备驱动程序•10分钟
内核调试技术•10分钟
1次同伴评审•总计360分钟
作业 7 同行评议•360分钟
Linux 内核中的并发性
第 3 单元•小时 后完成
单元详情
在本模块中,您将学习 Linux 内核中并发性的基础知识,以及如何在设备驱动程序中使用 semaphore 和 mutex 来设计并发访问。 你将学习原子上下文和非原子上下文的区别,以及在每种上下文中的锁定策略。 您将使用本模块中讨论的并发概念,修改您的套接字应用程序,以便在您测试过的循环缓冲区实现的基础上与自定义字符设备进行交互。
涵盖的内容
8个视频1篇阅读材料1个作业1次同伴评审
显示有关单元内容的信息
8个视频•总计99分钟
并发和竞赛条件•10分钟
内核关键部分•15分钟
其他内核锁定选项•12分钟
锁定的更多乐趣•15分钟
作业 8 概述•26分钟
额外的内核调试•8分钟
作业 8 常见问题•12分钟
作业 8 演示:字符驱动程序和多线程概念•2分钟
1篇阅读材料•总计10分钟
作业 8 说明•10分钟
1个作业•总计10分钟
并发性•10分钟
1次同伴评审•总计600分钟
作业 8 同行评议•600分钟
内核休眠和 ioctl
第 4 单元•小时 后完成
单元详情
在本模块中,你将学习 Linux 驱动程序中 ioctl 命令的目的和用法,以及如何在驱动程序中实现 ioctl 命令。 你将学习 Linux 内核中睡眠和唤醒的基础知识,以及如何处理阻塞和非阻塞 IO。 您将修改自定义的 Linux 内核驱动程序和 Linux 应用程序,使其支持 ioctl。
涵盖的内容
6个视频1篇阅读材料1个作业1次同伴评审
显示有关单元内容的信息
6个视频•总计71分钟
ioctl•15分钟
在内核中沉睡•10分钟
继续内核休眠•13分钟
投票和选择•10分钟
作业 9 概述•16分钟
作业 9 演示:高级驱动程序操作•7分钟
1篇阅读材料•总计10分钟
作业 9 说明•10分钟
1个作业•总计10分钟
高级驾驶员操作•10分钟
1次同伴评审•总计600分钟
作业 9:高级驾驶员操作•600分钟
获得职业证书
将此证书添加到您的 LinkedIn 个人资料、简历或履历中。在社交媒体和绩效考核中分享。
攻读学位
课程 是 University of Colorado Boulder提供的以下学位课程的一部分。如果您被录取并注册,您已完成的课程可计入您的学位学习,您的学习进度也可随之转移。
查看符合条件的学位
攻读学位
课程 是 University of Colorado Boulder提供的以下学位课程的一部分。如果您被录取并注册,您已完成的课程可计入您的学位学习,您的学习进度也可随之转移。