Hello World驱动开发过程详解

原创 2011年01月24日 19:35:00

hello.c 

/*======================================================================
    A simple kernel module: "hello world"
        
    The initial developer of the original code is Baohua Song
    <author@linuxdriver.cn>. All Rights Reserved.
======================================================================*/
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
  printk(KERN_INFO " Hello World enter/n");
  return 0;
}

static void hello_exit(void)
{
  printk(KERN_INFO " Hello World exit/n ");
}

module_init(hello_init);
module_exit(hello_exit);

MODULE_AUTHOR("Song Baohua");
MODULE_DESCRIPTION("A simple Hello World Module");
MODULE_ALIAS("a simplest module");



1. 编写Makefile

 obj-m := hello.o

 

2. 切换到root用户(若不是root用户则执行不了下面的Makefile), 执行如下命令:make -C /usr/src/linux-headers-2.6.32-21-generic M=$(pwd) modules , 生成hello.ko

      Note:我所使用的系统为Ubuntu系统, 在/usr/src目录下有 linux-headers-2.6.32-21-generic 和 linux-headers-2.6.32-21 两个目录,make -C 指定驱动头文件目录时必须选择 linux-headers-2.6.32-21-generic,否则会出现编译通不过的现象

 

3. insmod hello.ko 加载hello驱动 ,rmmod hello  卸载hello驱动, modinfo可获得模块的信息(模块的作者,模块的说明,模块所支持的参数)   

     

    在执行完insmod hello.ko 后会打印 Hello World 信息,其前提时执行完insmod hello.ko命令后执行dmesg命令,此命令打印系统的开机信息,内容比较多,可以执行 dmesg -c命令,此命令能够清楚缓冲区的内容

  






~                                  

版权声明:本文为博主原创文章,未经博主允许不得转载。

编写第一个HelloWorld驱动程序

开发应用程序需要用到SDK,内核编程需要使用WDK(Windows Driver Kit),WDK已经自带所需要的头文件,库,C/C++语言及汇编语言的编译器与链接器,所有完全可以不用安装Visual...
  • laowu_csdn
  • laowu_csdn
  • 2016年02月16日 11:26
  • 1925

java web开发--------Servlet学习之HelloWorld 从部署到开发全过程

今天终于搞出来来了Servlet的HelloWorld,记录下过程。 下图是个整体框架图:   开发流程图: 第一步:配置TOMCAT       在tomcat的安装目录下,找到w...
  • yanzi1225627
  • yanzi1225627
  • 2013年02月02日 00:29
  • 32209

kmdf驱动教程1——从Hello World开始

kmdf 驱动开发入门
  • hustd10
  • hustd10
  • 2016年01月17日 15:47
  • 2401

Linux设备驱动开发入门——Hello world

      近期做的工作主要有两个,一是将dvsdk_4中的video_copy项目移植到自己的板子上,在参考资料极其匮乏的情况下,本人继续发扬艰苦奋斗的作风和打不死的小强精神,终于将Omap3530...
  • liuqiqi677
  • liuqiqi677
  • 2011年06月20日 15:45
  • 5636

Linux驱动开发(2):Hello world模块

配置好内核树以后开始最简单的模块的构造和运行,我发现所有的编程都是从Hello world开始的,没新意啊。。。 1.写hello.c文件         自己建立一个工程文件夹hello,在he...
  • u013398364
  • u013398364
  • 2014年12月24日 10:57
  • 285

驱动开发之六:驱 动 版 Hello World

我们学习程序设计,都是从“Hello World”开始的,驱动程序也不例外,今天我就写一个驱动版的“Hello World”来热热身,目的希望大家能对驱动程序的基本框架有所了解。 驱动程序分为2...
  • cosmoslife
  • cosmoslife
  • 2012年06月18日 06:08
  • 1051

Qt on Android:图文详解QT开发Andriod入门,Hello World全过程

这是系列文章中的一篇,阅读本文前请先阅读《Windows下Qt 5.2 for Android开发入门》,以便确保开发环境和作者一致。     部分文章被转发/转载却没有注明出处,特此声明:版权...
  • guo8113
  • guo8113
  • 2014年11月20日 20:00
  • 929

“hello world”驱动实现过程(ARM板上)

“helloworld”驱动实现过程(ARM板上) 1、  在/home/sxy/目录下新建hello_1文件夹,在此文件夹下编写hello.c和Makefile文件(假设已经编写好了),make生成...
  • suaoyang
  • suaoyang
  • 2014年05月29日 17:51
  • 691

fl2440开发板hello world模块驱动编写

hello world            许多的编程都是从hello world开始编写,虽然简单但是意义重大。...
  • sanshiguan
  • sanshiguan
  • 2015年10月28日 22:07
  • 293

驱动程序开发学习(三)hello world

原帖地址:http://borland.mblogger.cn/doublefisher/posts/24513.aspx     驱动开发的例子里是没有所谓的“Hello World”程序...
  • masofeng
  • masofeng
  • 2012年05月08日 09:23
  • 631
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hello World驱动开发过程详解
举报原因:
原因补充:

(最多只允许输入30个字)