首先把LED驱动模块的源码复制到目录 /home/book/mycode
源码的百度网盘下载链接
https://pan.baidu.com/s/1TCgov9lMaMYOTVF-4fh7Fg?pwd=2sb6
然后修改Makefile文件,把变量KERN_DIR
修改为自己的Linux源码目录:
KERN_DIR = /home/book/100ask_imx6ull-sdk/Linux-4.9.88
上面的截图中蓝色字体要求的配置我已经在博文 Ubuntu中安装配置交叉编译工具并进行测试 中进行了配置。
然后终端进入目录/home/book/mycode/100ask_imx6ull_src_bin
:
cd /home/book/mycode/100ask_imx6ull_src_bin
然后执行下面的命令:
make all
下面截图中的100ask_led.ko模块文件和可执行程序ledtest
就是我们需要的目标文件。
把上面两个文件拷贝到 NFS 目录下备用:
cp /home/book/mycode/100ask_imx6ull_src_bin/100ask_led.ko /home/book/nfs_rootfs
cp /home/book/mycode/100ask_imx6ull_src_bin/ledtest /home/book/nfs_rootfs
然后把两个文件复制到开发板的root用户的用户目录下:
先挂载NTF文件:
mount -t nfs -o nolock,vers=3 192.168.5.11:/home/book/nfs_rootfs /mnt
cp /mnt/100ask_led.ko /root
cp /mnt/ledtest /root
有了ko模块文件后就可以加载模块了,用下面这条命令:
insmod 100ask_led.ko
这样就成功加载了~
然后我们运行测试程序试一下,命令如下:
chmod +x ./ledtest
./ledtest
如果要点亮LED灯,执行下面这条命令:
./ledtest /dev/100ask_led0 on
如果要关掉LED灯,执行下面这条命令:
./ledtest /dev/100ask_led0 off
实测,控制的下面序号为1的灯。