• linux驱动开发学习001:概述


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

  • 相关阅读:
    Are you sure you want to continue connecting (yes/no) 每次ssh进
    二叉搜索树
    跟运维学 Linux - 01
    C++日期和时间编程总结
    kafka详解(三)
    Java8方法引用和Lambda表达式实例源码+笔记分享
    JS:原型-原型链-ES5继承
    DOM系列之事件对象
    aspose-words导出word方法
    Qt之随机数
  • 原文地址:https://blog.csdn.net/k1419197516/article/details/134000048