当前位置: 首页 > news >正文

26、Linux设备驱动与init程序详解

Linux设备驱动与init程序详解

1. 发现硬件配置

设备驱动通常用于与硬件进行交互,但虚拟驱动仅操作内存结构,缺乏与真实硬件的交互。要与硬件交互,首先要能够发现硬件,因为在不同的配置下,硬件可能位于不同的地址。

1.1 硬件自动提供信息

某些情况下,硬件自身会提供相关信息。例如,PCI或USB等可发现总线上的设备具有查询模式,该模式会返回资源需求和唯一标识符。内核会将标识符以及可能的其他特性与设备驱动进行匹配。

1.2 手动提供信息

大多数嵌入式板上的硬件模块没有这样的标识符,需要通过设备树或平台数据(以C结构形式)手动提供信息。

在Linux的标准驱动模型中,设备驱动会向相应的子系统(如PCI、USB、开放固件(设备树)、平台设备等)进行注册。注册内容包括标识符和一个名为探测函数的回调函数。对于PCI和USB设备,标识符基于设备的供应商和产品ID;对于设备树和平台设备,标识符是一个名称(文本字符串)。

2. 设备树

设备树在前面已经有过介绍,这里主要展示Linux设备驱动如何与设备树信息进行关联。以ARM Versatile板(arch/arm/boot/dts/versatile - ab.dts)为例,其以太网适配器的定义如下:

net@10010000 { compatible = "smsc,lan91c111"; reg = <0x10010000 0x10000>; interrupts = <25>; };
http://www.rkmt.cn/news/95210.html

相关文章:

  • 【URP】Unity[后处理]通道混合ChannelMixer
  • downkyi终极指南:如何用任务优先级系统提升下载效率3倍
  • 突破边界:生成扩散模型的普适性理论框架构建与实践
  • 如果做代码生成
  • AI开发 1后端框架: ASP.NET Core2.AI框架: Semantic Kernerl (SK)、Agent Framework3.知识库:向量数据库(Qdrant)+关系型数据库(Post
  • IBM Granite-4.0-H-Micro-Base震撼发布:3B参数解锁多语言长文本与代码生成新范式
  • 哔哩下载姬任务优先级管理指南
  • 硬件突破:4卡MI50 32GB搭载vllm引擎实现Qwen3 235B-A22B模型22 tokens/s高效推理
  • HarmonyOS 应用数据持久化概述:Preferences、KV-Store、RelationalStore 到底怎么选?
  • Hugging Face SmolLM2横空出世:轻量化AI如何重塑边缘智能生态
  • ComfyUI与华为云ModelArts集成:昇腾芯片适配进展
  • 阿里Qoder IDE革新编程范式:自然语言驱动的全流程AI开发平台
  • 像素级革命:ImageGPT视觉大模型的技术演进与产业落地指南
  • Windows虚拟手柄驱动终极配置指南:三步解决兼容性难题
  • day38 gpu训练和call方法
  • A.每日一题——3606. 优惠券校验器
  • ComfyUI与电影分镜草图结合:导演前期视觉预演工具
  • C++基础:输入输出、缺省参数,函数重载与引用的巧妙
  • 重磅发布:Qwen3-VL-4B-Thinking多模态模型开源,开启视觉语言理解新纪元
  • 技术行业动态:当前发展趋势与未来展望
  • torch 操作函数
  • 什么叫范式
  • Qwen3-30B-A3B-Thinking-2507-FP8:新一代推理增强大模型重磅发布
  • Qwen3-VL-4B-Instruct-FP8:多模态大模型的轻量化革命与技术突破
  • jupyter notebook如何使用虚拟环境?
  • 13、AWK与正则表达式:数据处理与文本匹配的强大工具
  • 结构体设计艺术:Host侧Tiling数据结构定义详解
  • 14、正则表达式与日志处理全解析
  • 国外好软件,但切勿非法使用,否则后果自负!
  • ensp vlan实验作业