第一篇应该是应用层如何调用内核的细节
从零开始之驱动开发、linux驱动(一、驱动基础)_To_run_away的博客-CSDN博客_驱动开发
Linux驱动开发入门——基本知识简介_Joe's Blog-CSDN博客_linux驱动开发
这篇讲得十分详细
Linux驱动基础开发 - Linux 设备驱动概述_Linux编程_Linux公社-Linux系统门户网站
俺就不班门弄斧,记下要点就好,可用来复习,哪条想不起来再去看文章。
一、弄明白应用程序、库、内核、驱动程序的关系
二、设备类型的分类
三、理解设备文件、主设备号、从设备号 的概念及用途
四、理解驱动程序与应用程序的区别,用户态与内核态的区分
五、模块的概念
六、模块的操作
七、Linux内核的配置系统
1、Makefile:分布在 Linux 内核源代码根目录及各层目录中,定义 Linux 内核的编译规则;
2、配置文件(config.in(2.4内核,2.6内核)):给用户提供配置选择的功能;
3、配置工具:包括配置命令解释器(对配置脚本中使用的配置命令进行解释)和配置用户界面(提供基于字符界面、基于 Ncurses 图形界面以及基于 Xwindows 图形界面的用户配置界面,各自对应于 Make config、Make menuconfig 和 make xconfig)。
makefile menuconfig
.config
make zImage