码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 麦子-linux字符设备驱动初探


    字符驱动的联系

    框架

     软件支持:驱动

    驱动类型

    1、字符驱动(每次读取一个字节)

    2、块驱动(每次读取多个字节)

    3、网络设备驱动(协议栈)

    设备号dev_t

    内核中使用类型dev_t来描述设备号,就是一个硬件设备的身份证,其本质就是一个unsigned

     int  32 位整数

    要是同一种类别设备,前12位就是一样的,但后20位不同

    设备号注册

    驱动创建设备号,然后调用下面的函数向内核注册

     设备信息描述结构体

     设备行为描述结构体

     注册函数

     

       当执行insmod  就会把驱动加载到内核中,开始执行驱动程序

      当执行rmmod就会卸载驱动

    我们获得设备号,然后就可以获得设备号信息结构体,从而调用下面上函数实现多硬件的打开、读、写

    下面这个是我们建立设备号与硬件的联系(创建出设备文件),一般将这个放在驱动初始化过程中

    第四步是手动创建设备号与设备文件之间的联系,然后就可以操作设备文件控制硬件

    项目实践

    1、卸载原来的驱动

    2、编译新的驱动文件,然后将生成的文件安装到内核中去,这样就完成了驱动的安装

    3、创建对应的设备节点(根据驱动来创建也就是驱动程序中的设备号)

    查看可执行文件的属性

    file xx

    内核编译原理

    将驱动添加到内核中

    1、make menuconfig  

    显示出所有的config选项,做出一些配置的参数修改

    2、make

    参考我们上面的config的选项进行编译

    驱动中断剖析

    定时器原理分析

  • 相关阅读:
    华为云云耀云服务器L实例评测 | MacOS系统-宝塔建站
    超全解析:CRM是什么?怎么用?10大好用的CRM系统大盘点!
    黑*头条_第1章_项目介绍和工程搭建
    自动化产线集控系统(西门子CNC 840D/840DSL远程控制)
    java-php-python-ssm-在线学习辅导与答疑系统-计算机毕业设计
    npm修改为国内镜像
    【javaWeb学习笔记】HTML,CSS,JS
    远程桌面由于以下原因之一无法连接到远程计算机解决方法(亲测)
    记某同事的两次误操作导致Linux瘫痪
    js(javascript)中关于查找与替换常用的实用方法
  • 原文地址:https://blog.csdn.net/qq_43448818/article/details/127904047
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号