EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
文章目录& f' `6 q& J/ C- A7 J _
1 编译驱动程序
/ p+ j- y5 W8 U1 [2 编译应用测试程序
: i4 P: `! l% T/ K% h3 运行测试# m8 E, K) F* N6 o U% o. @
1 编译驱动程序和前面章节中驱动测试程序一样需要一个Makefile文件,只是将obj-m的值改为beep_misc.o,Makefile文件内容如下: ![]()
0 C4 |7 |5 ]0 M8 {0 `; L; m然后执行“make”命令编译模块,编译完成生成beep_misc.ko模块文件。 2 编译应用测试程序输入如下命令编译应用测试程序:8 V: ?6 `% A* o
ARM-linux-gnueabihf-gcc -o beep_misc_test beep_misc_test.c3 {0 Z _2 c7 j2 F
编译完成后,会生成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文件系统”目录下)。输入下面命令加载模块: ![]() 2 H! u" Y, b( ?3 K8 d- w) _
驱动加载成功后,可以在/sys/class/misc 这个目录下看到一个名为“miscbeep”的子目录,如图所示: ![]()
+ ~/ k1 ^# B; q3 k所有的 misc 设备都属于同一个类,/sys/class/misc 目录下就是 misc 这个类的所有设备,每个设备对应一个子目录。0 {$ s# E8 p; B
驱动与设备匹配成功以后就会生成/dev/miscbeep 这个设备驱动文件,输入如下命令查看这个文件的主次设备号:
' h. o# E7 F9 `7 z/ C6 j+ Pls /dev/miscbeep -l
9 V! Q! a9 ?/ i6 M/ \8 `. p/ S结果如图: ![]() : l( D7 G# g& B/ }% V- |6 W
可以看出,/dev/miscbeep 这个设备的主设备号为 10,次设备号为 144,和我们驱动程序里面设置的一致。
# ^3 w( W# b0 H然后使用beep_misc_test应用程序来测试一下驱动文件,输入下面的命令打开beep:5 S: f; o- B$ v1 r/ I
./beep_misc_test /dev/miscbeep 1 |5 [# X- f9 w# X& r0 ^: f
关闭beep使用下面的命令:3 O2 e9 H# R8 S8 [# U) V- ^
./beep_misc_test /dev/miscbeep 0
2 k- Y4 ?; o' r! O' t& r1 d1 ~如果蜂鸣器能够正常打开和关闭,说明驱动文件没有问题。; g; l. R) H9 f0 e. W* j) W: ?. W
卸载驱动模块使用下面的命令:- l) C( J7 x+ F8 P* u
rmmod beep_misc ![]() + L; U1 U8 m2 T
![]() , i P1 Q0 _$ w V1 k" w K# Q/ u
|