我的第一个Linux驱动hello world问题记录

原创 2015年11月18日 22:33:41

   和学习语言一样,第一个驱动程序也是以hello world为例开始的,网上的教程也是很多很多,但是只有在真正实践了之后才会发现成功编译出来还是会遇到很多问题的.

1)源码问题:

   驱动的源码直接奉上

#include<linux/module.h>
#include<linux/init.h>
#include<linux/kernel.h>

MODULE_LICENSE("GPL");
MODULE_AUTHOR("GQB1226");
MODULE_DESCRIPTION("hello world module");

static int __init hello_init(void)
{
    printk(KERN_NOTICE"hello world!\n");
    return 0;
}
static void __exit hello_exit(void)
{
    printk(KERN_NOTICE "hello world Bye");
}


module_init(hello_init);
module_exit(hello_exit);

我这这里遇到的问题就是关于

MODULE_LICENSE("GPL");
MODULE_AUTHOR("GQB1226");
MODULE_DESCRIPTION("hello world module");
这里的MODULE_LICENSE();模块自由许可一定要添加,否则编译时会报错.另外就是我把;标大了,我在编写时就是忘记这个分号,导致编译时一直错误,浪费很多时间.


2)Makefile问题:

  根据网上的各种问题来看,Makefile是出现问题最多的.

  (1),需要目标arch/x86/syscalls/syscall_32.tbl文件,这是因为Makefiel指令里面make -C -M这句在直接指定文件路径时-M和文件路径间添加了空格,,这里没有空格;

  (2),找不到文件,注意你.o文件名和你源码文件名一致;


你知道Hello World程序的由来吗?

Hello World是一个最著名的程序。对每一位程序员来说,这个程序几乎是每一门编程语言中的第一个示例程序。实际上,这个程序的功能只是告知计算机显示Hello World这句话。传统意义上,程序员一...
  • testcs_dn
  • testcs_dn
  • 2016年09月26日 20:56
  • 2292

【C#】第一个C#程序——Hello World!

前言:       学习每一种语言的开始,都有一句话,叫万丈高楼平地起。也有一个程序,叫:HelloWorld。下面是步骤,代码和效果图: 步骤 点击文件——新建——项目——Visual ...
  • Gnd15732625435
  • Gnd15732625435
  • 2016年03月01日 13:07
  • 1234

Linux---我的第一个内核模块之Hello World

1、什么是内核模块? 内核模块是Linux内核向外部提供的一个插口,其全称为动态可加载内核模块(Loadable Kernel Module,LKM),简称为模块。Linux内核之所以提供模块机...
  • L_in12
  • L_in12
  • 2015年11月04日 17:24
  • 791

编写第一个C语言程序-Hello World

前面已经唠叨了这么多理论知识,从这讲开始,就要通过接触代码来学习C语言的语法。学习任何一门语言,首先要掌握的肯定是语法。学习C语言语法的目的:就是能够利用C语言编写程序,然后运行程序跟硬件(计算机、手...
  • wolf09311
  • wolf09311
  • 2014年11月16日 22:57
  • 47300

第一个jsp文档,hello world

当被错误505、404折磨N遍之后,页面:localhost:8080/工程名/test.jsp  终于能正常显示出来了…… 在这里记录一下建立工程的过程。 1)新建一个 Dynamic ...
  • u014691453
  • u014691453
  • 2016年08月17日 16:31
  • 1491

第一个java程序——hello world

实现一个java程序,主要有三个步骤:1、编写源代码,2、编译源代码,3、运行。java的源代码必须先编译,然后才能由JVM解析执行。所以我们程序员第一步的工作就是要编写java的源代码文件,java...
  • liubao616311
  • liubao616311
  • 2014年07月01日 22:42
  • 1813

第一个PHP程序——Hello World

(1)按照我的前两篇博客《Mac如何安装XAMPP》《Eclipse配置PHP开发环境》。配置好PHP开发环境和服务器。 (2)切换工作空间,一定要把开发PHP的工作空间切换到XAMPP服务器的目录下...
  • CHENYUFENG1991
  • CHENYUFENG1991
  • 2015年09月27日 13:39
  • 1586

<ARM嵌入式开发学习>我的第一个驱动程序-hello world

第一次接触ARM开发板,整整用了一天才把板子原来的wince系统烧写为Linux,其中就卡在制作SD卡启动的时候,使用的是8G的卡,结果官方提供的制作软件不支持~~~~     使用的开发板子:TQ2...
  • GQB1226
  • GQB1226
  • 2015年04月23日 19:43
  • 865

Struts2入门第一个程序HelloWorld

struts2入门教程
  • zhaoliang092011
  • zhaoliang092011
  • 2013年12月02日 01:43
  • 7704

JavaScript脚本语言介绍并实现第一个Hello World程序

1.JavaScript是Web页面中的一种脚本编程语言,也是一种通用的、跨平台的、基于对象和事件驱动并具有安全性的脚本语言,具有与Java类似的语法。它不需要进行编译,而是 直接嵌入在HTML页面中...
  • u012561176
  • u012561176
  • 2015年03月06日 12:38
  • 6583
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我的第一个Linux驱动hello world问题记录
举报原因:
原因补充:

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