基于imx6ull第一个Linux驱动
Posted Wireless_Link
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于imx6ull第一个Linux驱动相关的知识,希望对你有一定的参考价值。
在编译第一个驱动之前,需要把基本的环境准备好,可以参照这两篇文章:
https://wlink.blog.csdn.net/article/details/128590747
https://wlink.blog.csdn.net/article/details/128591216
我们之前写过一个基于ubuntu最基本的字符设备驱动,参照文章:
https://wlink.blog.csdn.net/article/details/128505550
所以本节我们直接来用一下第一个最简单的字符设备驱动来验证一下我们的环境准备的是否正常
1.代码
我们直接上代码:
hello_driver.c
#include <linux/module.h>
static int __init hello_driver_init(void)
printk("hello_driver_init\\r\\n");
return 0;
static void __exit hello_driver_cleanup(void)
printk("hello_driver_cleanup\\r\\n");
module_init(hello_driver_init);
module_exit(hello_driver_cleanup);
MODULE_LICENSE("GPL");
Makefile
KERNELDIR := /home/zhongjun/project/board/yuanzi/imx6ull/nfs/kernel
CURRENT_PATH := $(shell pwd)
obj-m := hello_driver.o
build: kernel_modules
kernel_modules:
$(MAKE) -C $(KERNELDIR) $(KBUILD_CFLAGS) M=$(CURRENT_PATH) modules
clean:
$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) clean
其中KERNELDIR是我们编译过Kernel的路径
2.验证
2.1 加载
insmod hello_driver.ko
其中hello_driver_init就是我们printk打印的log
我们也可以通过dmesg来查看log
2.2 查看加载
lsmod
2.3 卸载
rmmod
以上是关于基于imx6ull第一个Linux驱动的主要内容,如果未能解决你的问题,请参考以下文章
Linux——Linux驱动之iMX6ULL平台下多点触摸屏驱动开发实战(MT协议多点触摸API基于框架的触摸驱动编写触摸芯片驱动)
Linux——Linux驱动之iMX6ULL平台下多点触摸屏驱动开发实战(MT协议多点触摸API基于框架的触摸驱动编写触摸芯片驱动)
Linux——Linux驱动之iMX6ULL平台下多点触摸屏驱动开发实战(MT协议多点触摸API基于框架的触摸驱动编写触摸芯片驱动)