• Linux设备驱动程序学习笔记(一)


    1.设备驱动程序扮演的角色:
           设备程序是一个独立的“黑盒子”,使其某个特定硬件响应一个定义良好的内部编程接口,这些接口完全隐藏了设备的工作细节。用户的操作通过一组标准化的调用执行,而这些调用独立于特定的驱动程序。将这些调用映射到作用于实际硬件的设备特有操作上,则是设备驱动程序的任务。
    2.驱动程序的作用:
            驱动程序应该处理如何使用硬件可用的问题,而将怎样使用硬件的问题留给上层应用。(提供机制,而不是策略)
    3.内核功能划分:
            进程管理    内存管理    文件系统    设备控制    网络功能
    4.设备的分类:
            字符设备    块设备        网络接口
    5.安全策略:
            驱动程序编写者应当尽量避免在代码中实现安全策略。安全策略问题最好在系统管理员的控制之下,由内核的高层来实现。
    6.内核栈:
            内核具有非常小的栈,它可能只和一个4096字节大小的页一样。
    7.模块相关:
            make       编译模块
            insmod    加载模块
            rmmod    移除模块
            dmesg    显示printk打印的数据

    8.两个make教程:

      1).http://blog.csdn.net/haoel/article/details/2886

      2).http://www.gnu.org/software/make/manual/make.html

    9.Linux设备驱动程序第三版实例:

          https://github.com/alants56/ldd3-examples-3.x

    10.一些感受:

      学习了差不多有一周的时间了,总体感觉有些模糊。主要的原因是对于一些linux相关知识和经验的欠缺。但相比于去年(去年看了前几章就放弃了)有很大的进步了。不管什么方面的技术,入门是需要一些时间的。如果有相关的好一点的入门视频或者有老师指点,会事半功倍的。

      

  • 相关阅读:
    centos networkmanager 和 network配置冲突
    Struts ajax json重新整理
    Struts2 ajax json小例子
    (转)json-lib 的maven dependency
    Struts2文件下载
    jQuery自定义滚动条插件mCustomScrollbar
    Struts2自定义拦截器
    Spring的自动装配在session监听器失效
    mysql 分组+排序+限定
    mysql触发器
  • 原文地址:https://www.cnblogs.com/alants/p/4385616.html
Copyright © 2020-2023  润新知