linux驱动开发学习001:概述

  1. linux的内核源码编译后,会生成一个总的镜像。镜像加载到内存中运行他,就会启动内核。
  2. 驱动属于内核代码的一部分,对驱动修改要重编整个内核,麻烦
  3. 但驱动可以独立于内核镜像外,并能动态加载和卸载
  4. 字符设备驱动,他们按照字节流的方式来进行访问,如鼠标键盘等
  5. 学习一类驱动,就是学习它的核心数据结构和一组API,然后是由此组成的框架
  6. linux中,万物皆是文件,设备也被当成文件。
  7. 硬件准备好后会主动通知cpu,并非cpu主动轮询硬件状态,这种硬件上的异步,就是中断。
  8. 传统的硬件定时器,也是以中断方式工作的。
  9. 驱动会利用DMA操作来减轻cpu的负担
  10. 驱动开发中的设备和驱动分离的思想,是减轻Linux系统移植工作量的关键所在
  11. 学习驱动的目的,最终是为了能够为各种各样的设备写出驱动代码
  12. 应该要善于利用内核中已有的设施,用最快,最简单的方式来实现设备驱动
  13. 除了字符设备驱动,还要块设备驱动和网络设备驱动两大类。

你可能感兴趣的:(驱动,linux,驱动开发)