Linux系统编程 进度%60
This commit is contained in:
parent
6de2de0331
commit
5a66fb4408
202
README.md
202
README.md
@ -0,0 +1,202 @@
|
|||||||
|
# Linux 内核笔记
|
||||||
|
|
||||||
|
## 嵌入式基础能力
|
||||||
|
|
||||||
|
### Linux系统编程
|
||||||
|
|
||||||
|
- [x] 文件IO和标准IO
|
||||||
|
- [x] 目录IO
|
||||||
|
- [x] 库的制作与使用
|
||||||
|
- [ ] 进程基础
|
||||||
|
- [ ] 进程间通信
|
||||||
|
|
||||||
|
### 驱动开发篇
|
||||||
|
|
||||||
|
- [ ] Linux驱动初探
|
||||||
|
- [ ] Linux内核模块
|
||||||
|
- [ ] 驱动模块编译进内核
|
||||||
|
- [ ] Linux Misc驱动
|
||||||
|
- [ ] Linux用户层和内核层
|
||||||
|
- [ ] 物理地址与虚拟地址
|
||||||
|
- [ ] 驱动传参
|
||||||
|
- [ ] 注册字符设备号
|
||||||
|
- [ ] 注册字符类设备
|
||||||
|
- [ ] 自动创建设备节点
|
||||||
|
|
||||||
|
## Linux模块化编程
|
||||||
|
- [ ] Linux内核源码初识
|
||||||
|
- [ ] Helloworld驱动实验
|
||||||
|
- [ ] 向系统添加一个系统调用
|
||||||
|
- [ ] 内核模块实验
|
||||||
|
- [ ] 驱动模块传参
|
||||||
|
- [ ] 内核模块符号的导出
|
||||||
|
- [ ] 驱动模块的交互
|
||||||
|
- [ ] menuconfig实验
|
||||||
|
- [ ] 内核空间和用户空间的交互
|
||||||
|
- [ ] 文件私有数据实验
|
||||||
|
- [ ] 一个驱动兼容多个实验设备
|
||||||
|
- [ ] 内核模块详细加载/卸载过程
|
||||||
|
- [ ] modulde_init的优先级
|
||||||
|
- [ ] 驱动的加载过程
|
||||||
|
- [ ] 自动创建设备节点
|
||||||
|
- [ ] 内核模块符号的导出
|
||||||
|
- [ ] kmod内核模块管理工具
|
||||||
|
- [ ] Linux热拔插机制mdev的使能
|
||||||
|
- [ ] udv:内核是如何发送事件到用户空间
|
||||||
|
|
||||||
|
## 中断及异常
|
||||||
|
|
||||||
|
- [ ] 什么是中断
|
||||||
|
- [ ] Linux中断API函数
|
||||||
|
- [ ] 中断的申请流程
|
||||||
|
|
||||||
|
- [ ] 中断下半部——tasklet实验
|
||||||
|
- [ ] 中断下半部——softirq软中断
|
||||||
|
- [ ] 中断下半部——tasklet原理
|
||||||
|
- [ ] 中断下半部——共享工作队列的使用
|
||||||
|
- [ ] 中断下半部——自定义工作队列的使用
|
||||||
|
- [ ] 中断下半部——延迟工作实验
|
||||||
|
|
||||||
|
- [ ] 并发管理工作队列实验
|
||||||
|
- [ ] 中断下半部——中断线程化
|
||||||
|
- [ ] 按键中断实验
|
||||||
|
- [ ] 应用读取按键
|
||||||
|
- [ ] 中断共享(全局中断)
|
||||||
|
- [ ] Linux内核异常处理过程
|
||||||
|
- [ ] 中断子系统框架
|
||||||
|
- [ ] Linux中断系统中的重要数据结构
|
||||||
|
- [ ] 获取中断
|
||||||
|
- [ ] 异常
|
||||||
|
- [ ] 中断亲和性
|
||||||
|
- [ ] 中断控制器
|
||||||
|
- [ ] 禁止/开启中断
|
||||||
|
- [ ] 中断高频面试题
|
||||||
|
- [ ] 中断知识点总结
|
||||||
|
- [ ] 中断子系统框架
|
||||||
|
- [ ] 中断函数的编写
|
||||||
|
- [ ] ARM64底层中断处理
|
||||||
|
- [ ] 注册中断
|
||||||
|
- [ ] 工作队列详解
|
||||||
|
- [ ] 工作队列的四种形态
|
||||||
|
|
||||||
|
## 内核互斥技术
|
||||||
|
|
||||||
|
- [ ] 并发与竞争场景
|
||||||
|
- [ ] 原子操作
|
||||||
|
- [ ] 经典自旋锁的使用
|
||||||
|
- [ ] 自旋锁死锁情况
|
||||||
|
- [ ] 信号量的使用
|
||||||
|
- [ ] 互斥锁的使用
|
||||||
|
- [ ] 掌握信号处理
|
||||||
|
- [ ] 中断屏蔽
|
||||||
|
- [ ] Linux内核抢占
|
||||||
|
- [ ] Read-copy update(RCU)
|
||||||
|
- [ ] 读写锁(rwlock)
|
||||||
|
- [ ] 内存屏障(核心代码)
|
||||||
|
- [ ] 死锁监测工具 lockdep
|
||||||
|
- [ ] 并发与同步高频面试题
|
||||||
|
- [ ] 内联汇编(核心代码)
|
||||||
|
- [ ] 同步与互斥失败的例子
|
||||||
|
|
||||||
|
## 字符设备驱动模型
|
||||||
|
|
||||||
|
- [ ] Linux设备分类
|
||||||
|
- [ ] 图解字符驱动模块设计思路
|
||||||
|
- [ ] 主次设备号
|
||||||
|
- [ ] 注册字符设备
|
||||||
|
- [ ] 创建设备节点实验
|
||||||
|
- [ ] 文件操作表
|
||||||
|
- [ ] 杂项设备
|
||||||
|
- [ ] 用户空间和内核空间数据交换
|
||||||
|
- [ ] 文件私有数据实验
|
||||||
|
- [ ] Linux错误处理实验
|
||||||
|
|
||||||
|
## 高级字符设备进阶
|
||||||
|
|
||||||
|
- [ ] IO模型引入实验
|
||||||
|
- [ ] 阻塞IO实验
|
||||||
|
- [ ] 非阻塞IO实验
|
||||||
|
- [ ] IO多路复用实验
|
||||||
|
- [ ] 信号驱动IO实验
|
||||||
|
- [ ] 定时器实验
|
||||||
|
- [ ] llseek定位设备驱动实验
|
||||||
|
- [ ] IOCTL驱动传参实验
|
||||||
|
- [ ] IOCTL地址传参实验
|
||||||
|
|
||||||
|
## Linux驱动相关子系统
|
||||||
|
|
||||||
|
### Linux设备模型
|
||||||
|
|
||||||
|
### 设备树
|
||||||
|
|
||||||
|
### 设备树overlay
|
||||||
|
|
||||||
|
### platform虚拟总线驱动
|
||||||
|
|
||||||
|
### GPIO子系统
|
||||||
|
|
||||||
|
### Pintctrl子系统
|
||||||
|
|
||||||
|
### LED子系统
|
||||||
|
|
||||||
|
### DMA子系统
|
||||||
|
|
||||||
|
### Input子系统
|
||||||
|
|
||||||
|
### SPI子系统
|
||||||
|
|
||||||
|
### I2C子系统
|
||||||
|
|
||||||
|
### UART、TTY子系统
|
||||||
|
|
||||||
|
### PWM子系统
|
||||||
|
|
||||||
|
### IIO框架
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Linux复杂设备外设驱动
|
||||||
|
|
||||||
|
### SDIO
|
||||||
|
|
||||||
|
### 以太网
|
||||||
|
|
||||||
|
### HDMI屏幕驱动
|
||||||
|
|
||||||
|
### 音频
|
||||||
|
|
||||||
|
### USB
|
||||||
|
|
||||||
|
### 摄像头
|
||||||
|
|
||||||
|
### MIPI DSI屏幕驱动
|
||||||
|
|
||||||
|
### 多点电容触摸屏
|
||||||
|
|
||||||
|
### WIFI
|
||||||
|
|
||||||
|
### PCI/PCIE
|
||||||
|
|
||||||
|
## Linux进程管理
|
||||||
|
|
||||||
|
## Linux进程间通信
|
||||||
|
|
||||||
|
## Linux内存管理
|
||||||
|
|
||||||
|
## 块设备驱动系统
|
||||||
|
|
||||||
|
## Linux文件系统
|
||||||
|
|
||||||
|
## Linux网络系统
|
||||||
|
|
||||||
|
## Linux系统调优&调试
|
||||||
|
|
||||||
|
## 硬件工具&知识
|
||||||
|
|
||||||
|
## 音视频编解码
|
||||||
|
|
||||||
|
## Linux基础通用知识
|
||||||
|
|
||||||
|
## 常用外设及硬件介绍
|
||||||
|
|
||||||
|
## 平台系统功能
|
Loading…
Reference in New Issue
Block a user