Linux开发(驱动&应用)学习路线规划
【摘要】
Linux开发(驱动&应用)学习路线规划
关于Linux驱动开发路线学习的一个规划(驱动为主,应用为辅),学习内容以博客形式记录,打钩的表示学习完成
入门操作篇:
Linux常用指令 vi...
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 控制加强,读取按键输入:ARM裸机开发:按键输入实验
- ARM 时钟树学习,理解时钟配置原理:ARM裸机开发:主频与时钟
- I.MX 中断系统学习: ARM裸机开发:中断系统
- I.MX 配置按键触发中断:ARM裸机开发:输入中断
- 定时器学习,学会配置定时器:ARM裸机开发:EPIT定时器
- 定时器学习加强,用定时器来做精准延时:ARM裸机开发:GPT定时器
- 了解串口收发器有关寄存器配置,学习使用串口收发数据:ARM裸机开发:串口通信
- 将串口映射到C库函数,方便直接调用:ARM裸机开发:串口格式化输出
- 补充处理器内存几个概念:ARM裸机开发:RAM、ROM、FLASH概念
-
了解DDR配置,学习使用扩展RAM(暂不更新) -
了解 RGB LCD 的寄存器,学习如何使用 LCD(暂不更新) -
了解触摸屏相关寄存器,学习如何获取 LCB 触摸位置数据(暂不更新) -
了解 IMX 内部 RTC 模块寄存器,学习如何配置使用(暂不更新) -
了解 IMX IIC 配置寄存器,使用 IIC(暂不更新) -
了解 IMX SPI 配置寄存器,使用 SPI(暂不更新)
系统移植篇:
- 了解 U-Boot,编译烧写一个 uboot:Linux系统移植:正点原子 U-Boot 移植
- 了解 U-Boot 常用的指令:Linux系统移植:U-Boot常用指令(上)
- 了解 U-Boot 常用的指令:Linux系统移植:U-Boot常用指令(下)
- 分析 U-Boot 源码目录:Linux系统移植:U-Boot 工程分析
- 分析 U-Boot 源码的顶层 Makefile 文件:Linux系统移植:U-Boot 顶层 Makefile 分析(上)
- 分析 U-Boot 源码的顶层 Makefile 文件:Linux系统移植:U-Boot 顶层 Makefile 分析(下)
- 分析 U-Boot 源码的链接脚本文件:Linux系统移植:U-Boot 链接脚本
- 分析 U-Boot 源码的运行流程:Linux系统移植:U-Boot 启动流程(上)
- 分析 U-Boot 源码的运行流程:Linux系统移植:U-Boot 启动流程(中)
- 分析 U-Boot 源码的运行流程:Linux系统移植:U-Boot 启动流程(下)
- 分析 U-Boot 运行完成结束时,启动 Linux 内核的过程:Linux系统移植: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操作:Linux应用开发:标准IO库(上)
- 学习标准IO操作:Linux应用开发:标准IO库(下)
- 学习其他文件相关系统调用
- 学习C库中常用的字符串处理函数
- 学习使用 Linux 系统调用或C库函数获取系统信息
- 学习 Linux 下信号的使用
- 学习进程的基本操作
- 学习进程间通信机制
- 学习线程基本操作
- 学习线程间的同步操作
- 学习文件IO的高级操作
应用开发实战:
- 点亮LED
- 控制GPIO
- 获取输入设备信息
- Framebuffer帧缓冲设备应用编程(LCD使用)
- PWM应用编程
- 摄像头应用编程
- 串口应用编程
- 看门狗应用编程
- IIC 应用编程
- SPI 应用编程
- CAN 应用编程
文章来源: blog.csdn.net,作者:JeckXu666,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq_45396672/article/details/121023440
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)