Linux驱动开发学习路线规划

分类: www365betcom手机版 时间: 2025-07-13 11:19:13 作者: admin 阅读: 2670 点赞: 659
Linux驱动开发学习路线规划

Linux驱动开发学习路线规划

关于Linux驱动开发路线学习的一个规划,学习内容以博客形式记录,打钩的表示学习完成

入门操作篇:

Linux常用指令 vim 编辑器使用 Makefile 基础语法 shell 基础语法

总结文章: Linux驱动开发系列:入门Ubuntu知识

ARM裸机篇:

了解 Cortex-A7 MPCore 架构:ARM裸机开发:Cortex-A7 MPCore架构基础 了解 Cortex-A7 常用汇编指令:ARM裸机开发:ARM汇编基础 熟悉 IMX 芯片程序下载下载流程:ARM裸机开发:I.MX6UL 程序编译下载(SD卡) 了解 IO 配置有关寄存器,汇编编程点亮LED灯:ARM裸机开发:汇编LED灯实验(I.MX6UL芯片) 了解 IMX 启动方式和启动原理:ARM裸机开发:I.MX6U 启动方式 使用汇编准备C语言开发环境,用C语言点亮LED灯:ARM裸机开发:C语言点亮LED 熟悉官方 SDK 移植开发流程:ARM裸机开发:I.MX6U官方SDK包使用 对 SDK 进行管理,建立 BSP 工程意识:ARM裸机开发:BSP工程管理 GPIO 控制加强,控制蜂鸣器:ARM裸机开发:蜂鸣器实验 GPIO 控制加强,读取按键输入: 定时器学习,学会配置定时器中断: 定时器学习加强,用定时器来做按键消抖: 定时器学习加强,用定时器来做精准延时: 了解串口收发器有关寄存器配置,学习使用串口收发数据: 将C库函数映射到串口,方便直接调用 了解DDR配置,学习使用扩展RAM 了解 RGB LCD 的寄存器,学习如何使用 LCD 了解触摸屏相关寄存器,学习如何获取 LCB 触摸位置数据 了解 IMX 内部 RTC 模块寄存器,学习如何配置使用 了解 IMX IIC 配置寄存器,使用 IIC 了解 IMX SPI 配置寄存器,使用 SPI

系统移植篇:

了解 U-Boot 从 U-Boot 顶层 Makefile 分析其编译流程 分析 U-Boot 启动流程 移植官方 U-Boot 到 IMX 开发板 学会使用图形化配置 U-Boot ,加快开发流程 从 Linux 顶层 Makefile 分析其内核编译流程 了解 Linux 内核启动流程 移植官方提供的 Linux 内核到 IMX 开发板上 了解根文件系统的组成以及如何构建根文件系统 rootfs 使用 USB OTG 来烧写整个系统:

驱动开发篇:

了解字符设备驱动开发 使用老版驱动 API 函数编写 LED 驱动 使用Linux内核推荐的新字符设备驱动API函数编写 LED 驱动 了解 Linux 设备树 基于设备树开发 LED 驱动 学习借助 pinctrl 和 gpio 子系统来简化 GPIO 驱动开发,编写点灯程序 上一节加强,驱动蜂鸣器 学习多任务共享资源时的并发与竞争处理 上一节加强,具体使用相关操作处理并发与竞争 编写按键输入驱动,并且结合原子操作保护按键资源 学习 Linux 内核提供的定时操作及其实现原理 学习在 Linux 下使用中断 学习一下阻塞和非阻塞 IO及如何在驱动程序中处理阻塞与非阻塞 学习如何在驱动程序中进行异步通知 学习一下 Linux 下的驱动分离与分层, 以及 platform 框架下的设备驱动该如何编写 学习使用 Linux 自带的 LED 灯驱动(基于 platform 框架) 学习编写无法分类的杂项驱动编写 学习 Linux 内核中的 input 子系统处理输入事件 学习 Linux 下驱动 LCD 屏幕 学习 Linux 下驱动 RTC时钟 学习 Linux 下 IIC 驱动框架 学习 Linux 下 SPI 驱动框架 学习 Linux 下 UART 驱动框架 待更新

应用开发篇:

应用开发基础:

了解文件IO基本操作:Linux应用开发:文件IO基础 了解文件IO高级操作:Linux应用开发:文件IO进阶 学习标准IO操作 学习其他文件相关系统调用 学习C库中常用的字符串处理函数 学习使用 Linux 系统调用或C库函数获取系统信息 学习 Linux 下信号的使用 学习进程的基本操作 学习进程间通信机制 学习线程基本操作 学习线程间的同步操作 学习文件IO的高级操作

应用开发实战:

点亮LED 控制GPIO 获取输入设备信息 Framebuffer帧缓冲设备应用编程(LCD使用) PWM应用编程 摄像头应用编程 串口应用编程 看门狗应用编程 IIC 应用编程 SPI 应用编程 CAN 应用编程

相关推荐