迅为i.MX6ULL终结者Linux MISC驱动运行测试
2025-03-31 来源:cnblogs
1 编译驱动程序
和前面章节中驱动测试程序一样需要一个Makefile文件,只是将obj-m的值改为beep_misc.o,Makefile文件内容如下:

然后执行“make”命令编译模块,编译完成生成beep_misc.ko模块文件。
2 编译应用测试程序
输入如下命令编译应用测试程序:
arm-linux-gnueabihf-gcc -o beep_misc_test beep_misc_test.c
编译完成后,会生成beep_misc_test可执行文件。
3 运行测试
启动开发板,将编译好的beep_misc.ko模块文件和beep_misc_test应用程序拷贝到/lib/modules/4.1.15目录下(检查开发板根文件系统中有没有“/lib/modules/4.1.15”这个目录,如果没有的话需要自行创建一下。开发板中使用的是光盘资料里面提供的busybox文件系统,光盘资料的“i.MX6UL终结者光盘资料�8_开发板系统镜像�3_文件系统镜像�1_Busybox文件系统”目录下)。输入下面命令加载模块:

驱动加载成功后,可以在/sys/class/misc 这个目录下看到一个名为“miscbeep”的子目录,如图所示:

所有的 misc 设备都属于同一个类,/sys/class/misc 目录下就是 misc 这个类的所有设备,每个设备对应一个子目录。
驱动与设备匹配成功以后就会生成/dev/miscbeep 这个设备驱动文件,输入如下命令查看这个文件的主次设备号:
ls /dev/miscbeep -l
结果如图:

可以看出,/dev/miscbeep 这个设备的主设备号为 10,次设备号为 144,和我们驱动程序里面设置的一致。
然后使用beep_misc_test应用程序来测试一下驱动文件,输入下面的命令打开beep:
./beep_misc_test /dev/miscbeep 1
关闭beep使用下面的命令:
./beep_misc_test /dev/miscbeep 0
如果蜂鸣器能够正常打开和关闭,说明驱动文件没有问题。
卸载驱动模块使用下面的命令:
rmmod beep_misc
- 迅为RK系列开发板SDK内核版本由5.10升级至6.1 LTS
- RK3588开发板Android系统烧写实践与关键步骤
- 迅为RK3588开发环境搭建三步曲:从零到一轻松入门
- 基于迅为iTOP-3568开发板的Linux驱动开发实战:menuconfig图形化配置实验
- 迅为工业RK3568 itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解
- 迅为RK3588开发环境三步搭建指南:从零到一轻松上手
- 迅为i.MX6ULL开发板启动方式和镜像文件格式
- 迅为I.MX6ULL开发板镜像烧写
- 使用迅为IMX6ULL开发板第一个汇编实验(一)
- mplayer移植-迅为IMX6Q开发板
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 蓝牙信道探测技术原理与开发套件实践
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析




