news 2026/5/30 10:31:09

编写驱动设备函数的用法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
编写驱动设备函数的用法

从终端输出和文件信息来看,已经编译成功了(生成了 RK3568 平台对应的 ARM64 架构驱动模块)。

一、编译成功的核心依据

  1. make过程完成了CC(编译)、MODPOST(模块符号处理)、LD(链接)等步骤,最终生成了chrdevbase.ko
  2. file chrdevbase.ko显示这是ARM aarch64(即 RK3568 对应的架构)的 ELF 文件,符合平台要求。

二、生成文件的用途说明

当前目录下的文件可分为驱动模块文件辅助文件两类:

文件用途
chrdevbase.ko核心:编译好的字符设备驱动模块,需传到 RK3568 开发板加载使用
chrdevbase.o驱动源码chrdevbase.c编译生成的目标文件(模块链接的中间文件)
chrdevbase.mod.*模块的依赖信息、符号表文件(内核加载模块时自动读取,无需手动操作)
Module.symvers模块导出的符号表(多模块依赖时用,单模块可忽略)
chrdevbaseApp用户态测试程序(对应chrdevbaseApp.c编译后的可执行文件,用于测试驱动)

三、这些文件的典型使用流程(在 RK3568 开发板上)

需要将chrdevbase.kochrdevbaseApp传到开发板,按以下步骤操作:

步骤 1:将文件传到开发板

通过scp或 U 盘等方式,把chrdevbase.kochrdevbaseApp传到 RK3568 开发板的某个目录(比如/root)。

步骤 2:加载驱动模块

在开发板终端执行(加载驱动到内核):

# 加载模块 insmod chrdevbase.ko # 验证是否加载成功(能看到chrdevbase即表示加载成功) lsmod | grep chrdevbase
步骤 3:创建设备节点

驱动加载后,需创建用户态访问驱动的入口(设备文件)

  1. 先查看驱动分配的主设备号:

    cat /proc/devices | grep chrdevbase

    输出类似240 chrdevbase(240 是主设备号,以实际输出为准)。

  2. 创建字符设备节点(假设主设备号是 240,次设备号为 0):

    mknod /dev/chrdevbase c 240 0
步骤 4:测试驱动(用用户态程序)

运行chrdevbaseApp测试驱动的读写功能(需匹配chrdevbaseApp.c的逻辑,比如读驱动数据):

# 给测试程序加执行权限 chmod +x chrdevbaseApp # 运行测试(示例:假设程序是读驱动数据,具体参数看App的代码逻辑) ./chrdevbaseApp /dev/chrdevbase 1
步骤 5:卸载驱动模块

测试完成后,卸载驱动(从内核移除):

# 先删除设备节点 rm /dev/chrdevbase # 卸载模块 rmmod chrdevbase
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/30 15:24:42

LangFlow与Excel文件处理:读取、写入与数据分析

LangFlow与Excel文件处理:读取、写入与数据分析 在企业数据仍大量沉淀于Excel表格的今天,如何让大语言模型(LLM)真正“读懂”这些业务报表,并自动完成分析、摘要甚至决策建议?这不仅是技术挑战,…

作者头像 李华
网站建设 2026/5/30 15:24:32

LangFlow中的绩效评估助手:自动生成评语与建议

LangFlow中的绩效评估助手:自动生成评语与建议 在企业HR的实际工作中,每到季度或年度考核期,撰写员工绩效评语往往成了一项令人头疼的任务。几十甚至上百份评语要逐个打磨,既要体现差异化,又要保持语气一致、结构规范&…

作者头像 李华
网站建设 2026/5/30 0:00:30

LangFlow中的OCR节点:图像文字识别集成方案

LangFlow中的OCR节点:图像文字识别集成方案 在智能应用开发日益复杂的今天,如何快速将现实世界中的非结构化信息——比如一张合同截图、一份扫描版发票或教科书的一页照片——转化为可被大语言模型理解与处理的数据,已成为多模态AI系统构建的…

作者头像 李华
网站建设 2026/5/30 16:16:03

如何安全安装Packet Tracer汉化版(Windows)

如何安全安装 Packet Tracer 汉化版:从零开始的实战指南(Windows) 你是不是也曾在打开 Cisco Packet Tracer 时,面对满屏英文菜单感到头大?尤其是刚接触网络技术的新手,“Static Route”“Subnet Mask”这…

作者头像 李华
网站建设 2026/5/29 17:33:11

9、网络故障排查与名称解析全解析

网络故障排查与名称解析全解析 一、IP 地址故障排查命令 在网络故障排查中,有几个实用的命令能帮助我们定位问题。 (一)tracert 命令 tracert 命令(在 Linux 系统中是 traceroute 命令)会逐个向网络中的每个跃点(网关/路由器)发送信息包。通过该命令,我们可以确定网…

作者头像 李华
网站建设 2026/5/22 13:19:19

提醒列表模块 Cordova 与 OpenHarmony 混合开发实战

📌 概述 提醒列表模块展示了所有已创建的提醒。该模块集成了 Cordova 框架与 OpenHarmony 原生能力,提供了完整的提醒管理功能。用户可以查看所有提醒、启用或禁用提醒、编辑提醒和删除提醒。模块支持提醒的分类显示和搜索。 🔗 完整流程 第一…

作者头像 李华