Linux驱动:动态加载hello world模块
2014-11-19 15:02
393 查看
Linux驱动:动态加载hello world模块
本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.环境:主机:Ubuntu 10.04
说明:开始做android驱动开发,所以重新温习linux下驱动编写
注意:
1.Makefile不能写成makefile2.加载模块命令insmod ./hello.ko,卸载模块命令rmmod hello3.insmod和rmmod需要管理员权限,如非root账户,在命令前输入sudo4.printk输出在/var/log/messages中,用dmesg | tail -10命令输出最后10条记录
源码:
Makefile:
参考:
1.《LINUX设备驱动程序》第三版
本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.环境:主机:Ubuntu 10.04
说明:开始做android驱动开发,所以重新温习linux下驱动编写
注意:
1.Makefile不能写成makefile2.加载模块命令insmod ./hello.ko,卸载模块命令rmmod hello3.insmod和rmmod需要管理员权限,如非root账户,在命令前输入sudo4.printk输出在/var/log/messages中,用dmesg | tail -10命令输出最后10条记录
源码:
#include <linux/init.h> #include <linux/module.h> MODULE_LICENSE("Dual BSD/GPL"); static int hello_init(void) { printk(KERN_ALERT "Hello,jdh\n"); return 0; } static void hello_exit(void) { printk(KERN_ALERT "Goodbye,jdh\n"); } module_init(hello_init); module_exit(hello_exit);
Makefile:
ifneq ($(KERNELRELEASE),) obj-m := hello.o else KERNELDIR ?= /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) default: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules endif
参考:
1.《LINUX设备驱动程序》第三版
相关文章推荐
- Linux驱动:动态加载hello world模块
- linux驱动的静态加载与动态加载
- linux下驱动模块化编译,动态加载以及卸载
- linux驱动的动态加载和编译内核的方式加载
- 【嵌入式Linux学习七步曲之第五篇 Linux内核及驱动编程】Linux内核模块LKM的动态加载技术分析
- linux 内核驱动动态加载和静态加载和 .config makefile kconfig 三个文件之间关系
- linux下驱动模块化编译,动态加载以及卸载
- 基于mini2440上的Linux驱动动态加载问题
- linux下驱动模块化编译,动态加载以及卸载 分类: arm-linux-Ubuntu 2015-05-30 16:24 172人阅读 评论(0) 收藏
- linux驱动入门,编译,动态加载
- Linux驱动静态加载和动态加载详解
- linux下驱动模块化编译,动态加载以及卸载
- linux下驱动模块化编译,动态加载以及卸载
- linux下驱动模块化编译,动态加载以及卸载
- Linux中ELF文件动态链接的加载、解析及实例分析(一): 加载
- (原创)WINCE流驱动的动态加载调试
- Linux 2.6内核的编译步骤及模块动态加载
- LINUX驱动学习:加载模块时出现Device or resource busy的解决方法
- Windows CE下流驱动的动态加载
- Windows CE下流驱动的动态加载