赞
踩
我们将 44.4 章节编写的驱动文件 beep.c 编译成模块,请参考本手册第三十九章 Linux 内核模块。我们
将 beep.c 文件拷贝到 Ubuntu 的/home/topeet/driver/imx6ull/beep 目录下,将上次编译 file_operation 的
Makefile 文件拷贝到 beep.c 同级目录下,修改 Makefile 为:
obj-m += beep.o #先写生成的中间文件的名字是什么,-m 的意思是把我们的驱动编译成模块
KDIR:=/home/topeet/driver/imx6ull/linux-imx-rel_imx_4.1.15_2.1.0_ga/
PWD?=$(shell pwd) #获取当前目录的变量
all:
make -C $(KDIR) M=$(PWD) modules #make 会进入内核源码的路径,然后把当前路径下的代码编译成模块
参考本手册第三十九章 Linux 内核模块,编译成功如下图所示:
驱动编译完,我们通过 nfs 将编译好的驱动程序加载模块,注意!nfs的配置和使用,请参考本手册 37.2.3
搭建 nfs 共享目录章节配置。
我们进入到共享目录,加载驱动模块如图所示:
cd /mnt/nfs
cd imx6ull/beep/
insmod beep.ko
现在我们将 46.3.4 章节编译好的 APP 拷贝到共享目录下,运行如下图所示:
输入命令“./app 1”打开蜂鸣器,蜂鸣器发出声音;输入命令“./app 0”关闭蜂鸣器,蜂鸣器停止发出声音。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。