测试自动创建设备节点的功能

news2024/12/24 8:18:59

一. 简介

上一篇文章在 新设备驱动框架代码的基础上,添加了自动创建设备节点的代码。文章地址如下:

自动创建设备节点代码的实现-CSDN博客

本文对自动创建设备节点的功能进行测试。

二.  自动创建设备节点代码的测试

1.  编译驱动,并拷贝驱动文件到开发板上

打开 ubuntu下 3_newchrled工程代码,编译工程后:

wangtian@wangtian-virtual-machine:~/zhengdian_Linux/Linux_Drivers/3_newchrled$ make

生成了 newchrled.ko驱动程序:

将 驱动程序newchrled.ko 拷贝到开发板的根文件系统 /lib/modules/4.1.15/目录下:

wangtian@wangtian-virtual-machine:~/zhengdian_Linux/Linux_Drivers/3_newchrled$ sudo cp newchrled.ko /home/wangtian/linux/nfs_File/rootfs/lib/modules/4.1.15/ -f
[sudo] wangtian 的密码: 
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/Linux_Drivers/3_newchrled$ 

2. 测试运行

开发板上电后进入 根文件系统 /lib/modules/4.1.15/目录下,查看是否是刚刚拷贝的 驱动程序 newchrled.ko:

/lib/modules/4.1.15 # ls -l
total 24
-rwxr-xr-x    1 0        0            10588 Jan  1  2024 led_app
-rw-r--r--    1 0        0                0 Jan  1  2024 modules.alias
-rw-r--r--    1 0        0               14 Jan  1  2024 modules.dep
-rw-r--r--    1 0        0                0 Jan  1  2024 modules.symbols
-rw-r--r--    1 0        0             7038 Jan  2  2024 newchrled.ko
/lib/modules/4.1.15 # 

首先,查看 /dev目录下是否存在 newchrled的设备:

可以看出,/dev/ 目录下还不存在 设备节点 newchrled。

1.  加载驱动模块

其次,加载驱动模块,即执行 "modprobe newchrled.ko" 命令:

查看 /dev目录下是否存在 newchrled设备节点:

可以看出,/dev目录下已经自动创建了设备节点 newchrled。

2.  卸载驱动模块

卸载驱动模块,执行 "rmmod newchrled.ko" 命令:

这时查看 /dev/目录下,是否还存在 newchrled设备节点:

可以看出,卸载驱动模块后,/dev目录下的设备节点也卸载掉了。

至此,说明自动创建设备节点功能实现了,可以正常运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1350655.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python 数据库(一):使用 mysql-connector-python 操作 MySQL 数据库

大家好,我是水滴~~ 当涉及到使用 Python 操作 MySQL 数据库时,mysql-connector-python 库是一个强大而常用的选择。该库提供了与 MySQL 数据库的交互功能,使您能够执行各种数据库操作,如连接数据库、执行查询和插入数据等。在本文…

2024年美赛数学建模ABCDEF题思路选题分析

文章目录 1 赛题思路2 美赛比赛日期和时间3 赛题类型4 美赛常见数模问题5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 美赛比赛日期和时间 比赛开始时间:北京时间2024年2月2日(周五&#xff…

[笔记] GICv3/v4 ITS 与 LPI

0. 写在前面 由于移植一个 pcie 设备驱动时,需要处理该 pcie 设备的 msi 中断(message signaled interrup)。 在 ARM 中, ARM 建议 msi 中断实现方式为: pcie 设备往 cpu 的一段特殊内存(寄存器)写某一个值&#xff0…

浅谈开关量信号隔离器在钢铁厂除鳞系统的应用-安科瑞 蒋静

摘要:在钢铁生产线中,轧制是其中一项重要的加工工艺。通过轧制将金属坯料进行延展和定型,满足不同行业的使用要求。在轧制前需要进行除鳞,除鳞系统是通过高压水形成扇形水束,喷射到钢坯表面将氧化铁层剥离。高压水由高…

精益生产敏捷实践手册:软件行业的精益转型之路——张驰咨询

精益生产培训的内容相当广泛,涵盖创立精益的理念、工具、执行策略和管理方法。下面将详细介绍各种培训内容以及它们的作用: 理念建设 精益生产基本概念:什么是精益,它的历史和核心理念等。 组织变革管理:怎样在组织…

数据库攻防学习之Redis

Redis 0x01 redis学习 在渗透测试面试或者网络安全面试中可能会常问redis未授权等一些知识,那么什么是redis?redis就是个数据库,常见端口为6379,常见漏洞为未授权访问。 0x02 环境搭建 这里可以自己搭建一个redis环境&#xf…

2024网络安全趋势—— “双刃剑”效应带来全新冲击和挑战

“生成式AI”正以前所未有的方式影响着人们的生活和工作方式。 在网络安全方面,这项技术也正深刻改变着对抗形态和攻防模式,其在打开人类认知世界新路径的同时,也成为黑客开展网络攻击的“利器”。随着生成式AI的深入发展,“双刃…

别划走!3分钟看懂 Git 底层工作原理

这是一篇能让你迅速了解 Git 工作原理的文章,实战案例解析,相信我,3 分钟,绝对能够有收获! Git 目录结构 Git 的本质是一个文件系统(很重要,记住这句话,理解这句话)&am…

oracle-undo

tips:串行化隔离级别:事务开始后,对一张表不会被别人影响,对于审计工作比较有用,避免了幻读。 undo表空间:自动生成段,自动生成区,自动维护的,不像一般的表空间&#xff…

【响应式编程-01】Lambda表达式初体验

一、简要描述 Lambda初体验Lambda表达式的语法格式Lambda表达式应用举例Lambda表达式底层实现 二、什么是Lambda表达式 Java8新特性,来源于数学中的λ[l:mdə]演算 是一套关于函数(f(x))定义、输入量、输出量的计算方案 Lambda表达式 -> 函数 使代码变得简洁…

智慧园区物联综合管理平台之架构简述

总体架构 系统总体划分为物联感知系统层、 核心平台层、 综合运营服务平台和展示层四部分。 物联感知系统层 物联感知系统主要是支撑园区智能化运行的各子系统, 包括门禁系统、 视频监控系统、 车辆管理系统等。 核心平台层 核心平台层包括: 园区物联综合管理平台和园区…

6.4 通过IO实现文件的读取与写入

6.4 通过IO实现文件的读取与写入 1. File类及常用方法2. 通过字节字符流实现文件读取与写入1. 流2. 字节输入流 InputStream 3.2. 1. File类及常用方法 package com.imooc.io;import java.io.File; import java.io.IOException;public class FileSample {public static void ma…

Premiere分屏特效图文内容幻灯片展示视频素材PR模板下载

Premiere Pro 模板,多屏幕内容展示PR幻灯片模板,分屏特效图文视频素材pr模板下载。 这是一个高质量、组织良好且易于自定义的视频剪辑模板。只需替换图像或视频,编辑文本,添加音频,微微调整即可! 来自PR模板…

Java经典框架之SpringBoot

SpringBoot Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。 课程内容的介绍 1. SpringBoot基础 2. Spring…

GraalVM Native学习及使用

概述 在开发Spring Boot 应用或者其他JAVA程序的过程中,启动慢、内存占用大是比较头疼的问题,往往需要更多的资源去部署,成本大幅提高。为了优化上述问题,常常使用优化程序、使用更小消耗的JVM、使用容器等措施。 现在有一个叫做…

权限修饰符和代码块

权限修饰符:是用来控制一个成员能够被访问的范围的。、 可以修饰成员变量、方法、构造方法、内部类。 权限修饰符的范围 权限修饰符的使用规则: 实际开发中,一般只用private和public 成员变量私有 方法公开 特例:如果方法中的…

Debezium日常分享系列之:向 Debezium 连接器发送信号

Debezium日常分享系列之:向 Debezium 连接器发送信号 一、概述二、激活源信号通道三、信令数据集合的结构四、创建信令数据集合五、激活kafka信号通道六、数据格式七、激活JMX信号通道八、自定义信令通道九、Debezium 核心模块依赖项十、部署自定义信令通道十一、信…

前端文件上传组件最全封装+删除+下载+预览

前言&#xff1a;使用的是若依的框架element uivue2封装的。如果有不对的地方欢迎指出。后台管理使用&#xff0c;文件需要上传。回显列表&#xff0c;详情也需要回显预览 // 开始封装组件&#xff1a;封装在 src/components/FileUpload/index.vue中 <template><div c…

诺派克ROPEX热封控制器维修RES-408/400VAC

德国希尔科诺派克ROPEX热封控制器维修型号包括&#xff1a;RES-401&#xff0c;RES-402&#xff0c;RES-403&#xff0c;RES-406&#xff0c;RES-407&#xff0c;RES-408&#xff0c;RES-409&#xff0c;RES-420&#xff0c;RES-440&#xff0c;MSW-2&#xff0c;PEX-W3&#x…

三层架构概述

三层架构就是把整个软件的代码分为三个层次&#xff0c;分层的目的是&#xff1a;规范代码&#xff0c;大型软件需要团队配合的时候问题就来了&#xff0c;由于每个程序员风格不一样&#xff0c;而开发软件大量的代码风格不统一就会造成后期调试和维护出现问题&#xff0c;然而…