设备驱动编程
今沧落
这个作者很懒,什么都没留下…
展开
-
内核Makefile基本写法
KERN_DIR = /usr/src/$(shell uname -r) //此处为内核树所在目录obj-m := hello.o //此处表示最终由.o文件生成动态加载的模块all: make -C $(KERN_DIR) M=$(shell pwd) modulesclean: make -C $(KERN_DIR) M=$(shell pwd) modules cle原创 2017-02-18 22:17:03 · 508 阅读 · 1 评论 -
内核驱动hello world模块
#include <linux/init.h>#include <linux/module.h>MODULE_LICENSE("Dual BSD/GPL");static int hello_init(void){ printk(KERN_ALERT "hello, world!\n"); return 0;}static void hello_exit(void){原创 2017-02-18 22:20:08 · 226 阅读 · 0 评论 -
内核驱动开发注意事项
1、内核的栈空间非常小,可能只有4K大小,因此内核函数中尽量不要用递归,不要声明大的临时变量,尽量用堆空间; 2、Documentation/Changes中有构造内核模块之前需要的工具版本;原创 2017-02-18 23:01:46 · 379 阅读 · 0 评论