Chinaunix首页 | 论坛 | 博客
  • 博客访问: 223878
  • 博文数量: 39
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 584
  • 用 户 组: 普通用户
  • 注册时间: 2015-04-18 20:24
个人简介

学习总结,分享快乐。 望指正错误, 共同提高!!!

文章分类

全部博文(39)

分类: LINUX

2015-04-22 06:55:42


驱动动态加载:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1>    hello.c

点击(此处)折叠或打开

  1. #include <linux/init.h>
  2. #include <linux/module.h>

  3. static int __init hello_init(void)
  4. {
  5.             printk("Hello, World!\n");    

  6.             return 0;
  7. }

  8. static void __exit hello_exit(void)
  9. {
  10.             printk("Byebye, world!\n");    //printf();
  11. }

  12. module_init(hello_init);
  13. module_exit(hello_exit);

  14. MODULE_LICENSE("GPL");                           //GPL许可声明
  15. MODULE_AUTHOR("lsxuan");                     //作者
2>  Makefile

点击(此处)折叠或打开

  1. obj-m                    := hello.o
  2. KERNEL_DIR        := /linux-3.5/                                     #需配置的ARM架构内核 环境           


  3. all:
  4.     make -C $(KERNEL_DIR) M=$(shell pwd) modules
  5. clean:
  6.     make -C $(KERNEL_DIR) M=$(shell pwd) clean
3> 常用命令:

点击(此处)折叠或打开


  1. 1> 查看驱动模块信息:                                   modinfo hello.ko
  2. 2> 查看内核缓存信息:                                    dmesg
  3. 3> 清内核缓存                                         dmesg -c
  4. 4> 列出当前装载到内核的所有模块:                        lsmod
  5. 5> 查看模块运行结果:                                  dmesg hello.ko
  6. 6> 插入驱动模块:                                   insmod hello.ko      // insmod自动调用module_init()
  7. 7> 移出驱动模块:                           rmmod hello(没有.ko) //rmmod会自动调用 module_exit()
  8.        
  9.       


阅读(1961) | 评论(0) | 转发(0) |
0

上一篇:linux内核,驱动面试题

下一篇:

给主人留下些什么吧!~~