下面开始在自己的工程文件夹下面建立两个文件:
hello.c(不用说了)
Makefile(它需要能够找到内核树,然后将目标模块链接上去):
注意里面各种变量的颜色额~有兴趣的读者可以自己去研究一下这个文件,里面唯一和hello.c相关的部分就是
obj-m := hello.o 那一行了!第5行表明了内核树build目录的位置。
下面在当前目录下面执行
root@jiq-desktop:/usr/jiq/DriverProject#make
生成以下文件
然后利用insmod命令将模块插入到内核树 中:
root@jiq-desktop:/usr/jiq/DriverProject#insmod ./hello.ko
模块装载触发hello.c的init()方法,输出hello world,如果没有的话,是因为其将输出放到/var/log/syslog中去了。打开便可以看见你的结果!
卸载目标模块命令是:
root@jiq-desktop:/usr/jiq/DriverProject#rmsmod ./hello.ko
至此你已经成功迈出了Linux驱动开发的第一步~