hello 之linux2.6.30.4 arm 下的驱动开发

嵌入式设备的驱动开发,理论学了差不多有3年了。但是因为资金的问题迟迟没有买开发板。年后我大出了一次血买了TQ的2410开发板。从嵌入式的软件开发到驱动开发我一直在深入的学习希望自己能够把嵌入式的技术要领学到手,。没有放弃。我一直在努力去做。下面我将将自己如何亲手做出hello world的驱动模块。并且详细的讲述开发的过程,

对于初始的hello.c文件大家都十分的不陌生,关键是如何以驱动模块的方式


图片

图片

加载的驱动如上图所示。。。。。

 


加载到系统内核里面去呢》下面我贴出hello.c的源文件。

#include<linux/init.h>

#include<linux/kernel.h>

#include<linux/module.h>

static int hello_init(void)

{

printk("hello world/n");

return 0;

}

static void hello_exit(void)

{

printk("bye bye/n");

}

module_init(hello_init);

module_exit(hello_exit);

MODULE_LICENSE("BSD/GPL");

源程序就这么简单。但是如何编写makefile文件确实有点复杂

我编写makefile的时候,提示好多头文件不在,而我进入相关的目录下面(include/linux/xx/h)文件是存在的啊。。在网上找了下是因为内核树目录没有建立起来。。何谓内核树目录,请Google 我make module 和make modules_install 下,在/lib/modules/下面生成了相关的文件

在Makefile文件-C 的时候。这个文件是内核树目录的路径。。切记!!!

下面的编写都没什么了。。。

2,将xx.ko文件移植到开发的时候切记交叉编译链的使用。。移植到开发板之后输入insmod xx.ko 然后看输出的内容,来判断是否驱动加载正常。或者file xxx.ko 或者lsmod 来显示当前系统所加载的模块.

 

 

 

                                                                  这只是万里长征的一步而已。继续加油。。。目标:嵌入式的应用程序+驱动开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值