EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
文章目录& y* K/ |( b0 @. P' T9 B. A
1 编译驱动程序/ @8 f7 t2 s" f9 P9 I9 y! k+ F
2 编译应用测试程序 D. ~# {. t- M2 o/ i
3 运行测试* E4 I) F( R$ W! x0 r4 v1 U
1 编译驱动程序和前面章节中驱动测试程序一样需要一个Makefile文件,只是将obj-m的值改为beep_misc.o,Makefile文件内容如下: ![]() . Z" E) E& ]% X& Y4 t1 X
然后执行“make”命令编译模块,编译完成生成beep_misc.ko模块文件。 2 编译应用测试程序输入如下命令编译应用测试程序:
1 |3 i3 ]4 S# L, B4 W k* TARM-linux-gnueabihf-gcc -o beep_misc_test beep_misc_test.c
& M" C9 |7 i7 Y- e9 P编译完成后,会生成beep_misc_test可执行文件。 3 运行测试启动开发板,将编译好的beep_misc.ko模块文件和beep_misc_test应用程序拷贝到/lib/modules/4.1.15目录下(检查开发板根文件系统中有没有“/lib/modules/4.1.15”这个目录,如果没有的话需要自行创建一下。开发板中使用的是光盘资料里面提供的busybox文件系统,光盘资料的“i.MX6UL终结者光盘资料\08_开发板系统镜像\03_文件系统镜像\01_Busybox文件系统”目录下)。输入下面命令加载模块: ![]()
@! i) [. G' [% L: J% B8 \驱动加载成功后,可以在/sys/class/misc 这个目录下看到一个名为“miscbeep”的子目录,如图所示: ![]() ) x8 S( k, @8 X* ^% w1 R
所有的 misc 设备都属于同一个类,/sys/class/misc 目录下就是 misc 这个类的所有设备,每个设备对应一个子目录。
3 ]/ B* ]+ J( @' s驱动与设备匹配成功以后就会生成/dev/miscbeep 这个设备驱动文件,输入如下命令查看这个文件的主次设备号:
! E% }5 s4 \7 d! S' ?% Ols /dev/miscbeep -l
' u& _7 O4 E9 ~ j# p8 C结果如图: ![]() 7 F' @; c' }8 p7 v: l3 T+ }& z
可以看出,/dev/miscbeep 这个设备的主设备号为 10,次设备号为 144,和我们驱动程序里面设置的一致。
! S: x& n( I$ E0 d然后使用beep_misc_test应用程序来测试一下驱动文件,输入下面的命令打开beep: T5 _0 j1 `) t4 n
./beep_misc_test /dev/miscbeep 1
, M, O, W8 W" }. g关闭beep使用下面的命令:2 U# Z5 w/ t# @. f6 ]2 O
./beep_misc_test /dev/miscbeep 0* e; ~4 \2 c4 n
如果蜂鸣器能够正常打开和关闭,说明驱动文件没有问题。
' T! U# b. ?; K卸载驱动模块使用下面的命令:
. }( z3 L% z% ]( u, a; ermmod beep_misc ![]() 9 ?! m" f4 `- s- F+ v6 V
![]() ' W/ h% k, ^# [: @8 r* t+ V6 d8 T
|