helloworld驱动

上传人:re****.1 文档编号:512670272 上传时间:2023-06-10 格式:DOC 页数:4 大小:29.50KB
返回 下载 相关 举报
helloworld驱动_第1页
第1页 / 共4页
helloworld驱动_第2页
第2页 / 共4页
helloworld驱动_第3页
第3页 / 共4页
helloworld驱动_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《helloworld驱动》由会员分享,可在线阅读,更多相关《helloworld驱动(4页珍藏版)》请在金锄头文库上搜索。

1、 编写 Hello world 模块驱动 收藏 编写 Hello world 模块驱动华清远见-嵌入式领域著名讲师 O(_)O 牛牛猛点击链接加我好友!http:/ 模块动态加载驱动方式在内核源码的“drivers/char/”目录下新建一个名为“hello .c”的文件,内容如下: #include #include #include MODULE_LICENSE (GPL); static int _init hello_init (void) printk (KERN_INFO Hello worldn); return 0; static void _exit hello_exit (

2、void) printk (KERN_INFO Goodbye worldn); module_init (hello_init);module_exit (hello_exit); 修改Makefile里面的内核源码包的路径,这里我们必须用到一个已经编译好的内核的源码这里我们用了KERNELDIR ?= /mnt/mengyang/source/kernel/linux-2.6.33根据自己的实际情况修改,一定确保你的内核可以编译通过,内核可以正常运行!在命令行里运行make命令,顺利的会生成*.ko文件。将*.ko文件复制到nfs目录,或是其他的存储设备。在命令行里运行插入模块的命令ins

3、mod *.ko顺利的可以看到init函数将会被调用。同样,运行rmmod *.ko顺利的可以看到clean函数被执行了。执行上面命令时,可能报错误rmmod: chdir(2.6.33.2-TE2440): No such file or directory这是由于busybox 1.13.1导致的,原来是现在的内核模块在插入卸载时都会要转到/lib/modules/内核版本号目录里。 所以只要建立这个目录并且把要使用的模块*.ko文件复制到这个目录就行了。(2)静态的加载驱动在内核源码中添加对hello 驱动的支持修改drivers/char/目录下的“Kconfig”文件,在7 行添加如

4、下内容:(红色部分所示)# Character device configuration#menu Character devicesconfig CCTE_HELLOtristate CCTE2440 Hello Driverdepends on ARCH_S3C2440helpCCTE2440 Hello.修改同目录下的“Makefile”文件,在合适的行添加如下内容:# Makefile for the kernel character device drivers. # This file contains the font map for the default (hardware) font#obj-$(CONFIG_ CCTE_HELLO) += hello.o 配置内核然后输入:#make menuconfig,然后配置如下:Device Drivers -Character devices - CCTE2440 Hello Driver将其选择为“M”(模块),然后保存配置,编译出内核镜像烧写到开发板中。或是下载到开发板上运行。本文来自CSDN博客,转载请标明出处:http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 小学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号