1)应用程序、库、内核、驱动程序的关系网络
2)Linux驱动程序的分类和开发步骤函数
①Linux的外设可分为3类:字符设备(character device)、块设备(block device)、网络接口(network interface)测试
A、字符设备:可以像字节流同样被访问的设备,就是说对它的读写以字节为单位,好比串口blog
B、块设备:数据以块的形式存放,好比NAND Flash接口
C、网络接口:具备字符设备和块设备的部分特色事件
②Linux驱动程序开发步骤开发
A、查看原理图、数据手册、了解设备的操做方法io
B、在内核中找到相近的驱动程序,以它为模板进行开发,有时须要从零开发编译
C、实现驱动初始化:向内核注册这个驱动模板
D、设置所要实现的操做
E、实现中断服务
F、编译该驱动到内核中
G、测试驱动程序
③驱动程序的加载和卸载
使用insmod命令加载,使用rmmod命令卸载,使用lsmod命令查看内核中加载了哪些模块
3)字符设备驱动程序开发
①大概流程:
A、编写驱动程序初始化函数
B、构造file_operations结构中要使用到的各个成员函数
1)异常处理体系结构概述
①异常,就是能够打断CPU正常进行流程的事件,好比外部中断、未定义的指令、试图修改只读的数据、执行swi指令等,当 这些事件发生时,CPU暂停当前的程序,先处理异常事件,再继续执行被中断程序
②常见异常
A、未定义指令异常
B、指令预取停止异常
C、数据访问停止异常
D、中断异常
E、swi异常