在学习编写linux驱动程序的时候,一般都是从写一个helloworld的模块开始。但是在编译完成后,进行模块加载的时候,有时会出现如下错误:
insmod: error inserting 'hello.ko': -1 Invalid module format
其实,出现这个问题的原因很简单,就是:编译的内核版本与实机运行的内核版本不一致。
所以解决起来也很简单,实机运行的系统的代码树位置一般在/usr/src/kernels。只要将Makefile中的代码树改成实际运行的内核代码即可。...
分类:
其他好文 时间:
2014-07-18 17:08:15
阅读次数:
300
书写命令————每条规则中的命令和操作系统Shell的命令行是一致的。make会一按顺序一条一条的执行命令,每条命令的开头必须以[Tab]键开头,除非,命令是紧跟在依赖规则后面的分号后的。在命令行之间中的空格或是空行会被忽略,但是如果该空格或空行是以Tab键开头的,那么make会认为其是一个空命令。...
分类:
系统相关 时间:
2014-07-18 16:18:41
阅读次数:
323
使用变量————在 Makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串,在Makefile中执行的时候其会自动原模原样地展开在所使 用的地方。其与C/C++所不同的是,你可以在Makefile中改变其值。在Makefile中,变量可以使用在“目标”,“依赖目标”,“...
分类:
系统相关 时间:
2014-07-18 16:16:24
阅读次数:
292
隐含规则————在 我们使用Makefile时,有一些我们会经常使用,而且使用频率非常高的东西,比如,我们编译C/C++的源程序为中间目标文件(Unix下是[.o] 文件,Windows下是[.obj]文件)。本章讲述的就是一些在Makefile中的“隐含的”,早先约定了的,不需要我们再写出来的规则...
分类:
系统相关 时间:
2014-07-18 16:14:56
阅读次数:
341
使用make更新函数库文件———————————函数库文件也就是对Object文件(程序编译的中间文件)的打包文件。在Unix下,一般是由命令"ar"来完成打包工作。一、函数库文件的成员一个函数库文件由多个文件组成。你可以以如下格式指定函数库文件及其组成:archive(member)这个不是一个命...
分类:
系统相关 时间:
2014-07-18 09:28:54
阅读次数:
252
使用函数————在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。make所支持的函数也不算很多,不过已经足够我们的操作了。函数调用后,函数的返回值可以当做变量来使用。一、函数的调用语法函数调用,很像变量的使用,也是以“$”来标识的,其语法如下:$( )或是....
分类:
系统相关 时间:
2014-07-18 09:28:11
阅读次数:
347
书写规则————规则包含两个部分,一个是依赖关系,一个是生成目标的方法。在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出来的,所以一定要让make知道你的最终目标是什么。一般来说,定义在Makefile中的目标可能会有很多,但...
分类:
系统相关 时间:
2014-07-18 09:26:51
阅读次数:
373
make 的运行——————一 般来说,最简单的就是直接在命令行下输入make命令,make命令会找当前目录的makefile来执行,一切都是自动的。但也有时你也许只想让 make重编译某些文件,而不是整个工程,而又有的时候你有几套编译规则,你想在不同的时候使用不同的编译规则,等等。本章节就是讲述如...
分类:
系统相关 时间:
2014-07-18 09:24:35
阅读次数:
502
概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML...
分类:
系统相关 时间:
2014-07-17 22:14:50
阅读次数:
435
Makefile 总述———————一、Makefile里有什么?Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。1、显式规则。显式规则说明了,如何生成一个或多的的目标文件。这是由Makefile的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。2、隐晦...
分类:
系统相关 时间:
2014-07-17 22:04:04
阅读次数:
408