1
、编译驱动程序
编写
Makefile
文件,本章实验的
Makefile
文件和第四十章实验基本一样,只是将
obj-m
变
量的值改为“
ap3216c.o
”,
Makefile
内容如下所示:
KERNELDIR := /home/ysy/linux/IMX6ULL/linux/linux-imx-rel_imx_4.1.15_2.1.0_ga
CURRENT_PATH := $(shell pwd)
obj-m := ap3216c.o
build : kernel_modules
kernel_modules:
$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) modules
clean:
$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) clean
第
4
行,设置
obj-m
变量的值为“
ap3216c.o
”。
make
输入如下命令编译出驱动模块文件: 编译成功以后就会生成一个名为“ap3216c.ko”的驱动模块文件。
2、编译测试 APP
输入如下命令编译
ap3216cApp.c
这个测试程序:
arm-linux-gnueabihf-gcc ap3216cApp.c -o ap3216cApp
编译成功以后就会生成
ap3216cApp
这个应用程序。
3 运行测试
将上一小节编译出来
ap3216c.ko
和
ap3216cApp
这两个文件拷贝到
rootfs/lib/modules/4.1.15
目录中,重启开发板,进入到目录
lib/modules/4.1.15
中。输入如下命令加载
ap3216c.ko
这个驱
动模块
depmod //第一次加载驱动的时候需要运行此命令
modprobe ap3216c.ko //加载驱动模块
当驱动模块加载成功以后使用
ap3216cApp
来测试,输入如下命令
./ap3216cApp /dev/ap3216c
测试
APP
会不断的从
AP3216C
中读取数据,然后输出到终端上