1-Linux驱动基本框架结构

来源:互联网 发布:什么软件搞笑拍照 编辑:程序博客网 时间:2024/06/07 04:02

//第一步,内核编程使用的头文件一律是内核源码中的头文件,不是标准C库的头文件,所以在编译驱动时,要利用内核源码/opt/kernel/include#include <linux/init.h>#include <linux/module.h>//第二步,编写驱动的入口函数和出口函数static int helloworld_init(void){    //入口函数一般会做向内核注册功能函数和申请资源的工作    //比如向内核注册操作硬件的函数或者申请内存资源    printk("hello,world\n");    return 0; //如果成功,返回0,失败返回负值}static void helloworld_exit(void){    //出口函数一般会做跟入口函数相反的内容,比如    //卸载操作硬件的函数或者释放申请的内存资源    printk("Goodbye!\n");}//告诉内核驱动的入口函数和出口函数module_init(helloworld_init);module_exit(helloworld_exit);MODULE_LICENSE("GPL");

1、驱动代码和我们的c应用程序是不一样的,linux驱动的头文件应该以内核中的驱动头文件为主。

2、驱动的结尾应该有MODULE_LICENSE("GPL")模块许可申明。

3、驱动代码由内核驱动的入口函数和出口函数为出入口。相应的有"XXX__init"和"XXX__exit“函数对应。

4、驱动代码和应用的代码中的打印函数是不一样的,在内核驱动中应该使用的是printk(”......“.....)函数。


1 0
原创粉丝点击