linux驱动开发
驱动的两种执行模式
1.直接编译进内核,在内核启动时运行,影响系统启动速度
2.独立成ko模块,依靠内核来运行(启动是在用户层启动,运行还是在内核空间)
ko模式需要内核先运行,驱动再在需要运行的时候运行。


make menuconfig:将驱动编译到内核

写驱动代码步骤

源码:

存放以上代码的文件夹和kernel一个路径
makefile添加规则编译上面的代码为ko

clean: modules换成clean
makefile会被执行两次

1 | 装载模块 |
驱动传参

导出符号表:

math.c导出函数(符号)给其他函数用的,不需要有函数装载卸载声明
导出的函数需要在math.h声明

hello模块可以直接使用math.c模块导出的符号

先安装math.ko,hello.ko安装才能调用









































