Chinaunix首页 | 论坛 | 博客
  • 博客访问: 631177
  • 博文数量: 1008
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 5175
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-31 09:44
文章分类
文章存档

2012年(1008)

我的朋友

分类:

2012-08-01 11:29:36

原文地址:linux进程地址空间 作者:luozhiyong131

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

  3. MODULE_LICENSE("GPL");
  4. MODULE_AUTHOR("David Xie");
  5. MODULE_DESCRIPTION("Memory alloc Module");
  6. MODULE_ALIAS("malloc module");

  7. char *buf1 = NULL;
  8. char *buf2 = NULL;


  9. int alloc_init()
  10. {
  11.     buf1 = kmalloc(100,GFP_KERNEL);
  12.     memset(buf1,0,100);
  13.     strcpy(buf1,"<<< --- Kmalloc Mem OK! --- >>>");
  14.     printk("<0>BUF 1 : %s\n",buf1);
  15.     
  16.     buf2 = get_zeroed_page(GFP_KERNEL);
  17.     strcpy(buf2,"<<<--- Get Free Page OK! --- >>>");
  18.     printk("<0>BUF 2 : %s\n",buf2);
  19.     return 0;
  20. }


  21. void alloc_exit()
  22. {
  23.     kfree(buf1);
  24.     free_page(buf2);
  25.     printk("<0><<< --- Module Exit! --->>>\n");
  26. }

  27. module_init(alloc_init);
  28. module_exit(alloc_exit);
  1. ifneq ($(KERNELRELEASE),)

  2. obj-m := alloc_mem.o

  3. else
  4.     
  5. KDIR := /home/guoqian/4-3-1/linux-2.6.29
  6. all:
  7.     make -C $(KDIR) M=$(PWD) modules ARCH=arm CROSS_COMPILE=arm-linux-
  8. clean:
  9.     rm -f *.ko *.o *.mod.o *.mod.c *.symvers modul*

  10. endif
阅读(97) | 评论(0) | 转发(0) |
0

上一篇:内核定时器

下一篇:矩阵键盘

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