码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • linux驱动开发学习001:概述


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

  • 相关阅读:
    NIO和BIO
    时间任务管理软件OmniFocus 3 mac中文版软件特色
    LeetCode --- 1275. Find Winner on a Tic Tac Toe Game 解题报告
    Spring Boot项目的搭建和运行
    linux的网络服务之DHCP
    数字孪生能源系统,打造低碳时代“透视”眼
    Hive增量查询Hudi表
    Java实现Excel导入导出
    基于Amazon Bedrock的企业级生成式AI平台
    ubuntu系统安装
  • 原文地址:https://blog.csdn.net/k1419197516/article/details/134000048
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号