1,linux驱动两种编译方式
①:整体编译内核
驱动c文件放入内核模块中,修改对应模块的makefile,整体编译内核,耗时较长。
make
②:单独编译驱动
驱动c文件放入单独一个文件夹中,编译时使用make -C $(KERNEL_DIR)命令来编译驱动,编译很快。
$(MAKE) $(CROSS_ARCH) -C $(KERNELDIR) M=$(PWD) modules
2,linux模块向内核注册驱动方法
有两种不同方法,两种方法是同一种方式的不同形式
①:linux module_init和module_exit关键字
②:module_platform_driver关键字,其实这个宏展开就是使用module_init声明模块初始化函数,在初始化中调用platform_driver_register平台驱动模型进行驱动初始化。