手把手教你学linux驱动开发 OK6410系列之01---模块编程
开发机环境
目标板环境:OK6410-A
二、实验原理
三、实验步骤
PATH=/usr/local/arm/4.3.2/bin:$PATH
- export
PATH
2、编写模块源文件
- #include
- #include
- #include
- static
int __init hello_init(void) - {
printk("Hello worldn"); return 0; - }
- static
void __exit hello_exit(void) - {
printk("Goodbye worldn"); - }
- module_init(hello_init);
- module_exit(hello_exit);
- MODULE_LICENSE("Dual
BSD/GPL");
代码解释:
static int __init hello_init(void)
static void __exit hello_exit(void)
3、编写Makefile文件
- obj-m
:= test.o - KDIR
:=/work/linux-2.6.36.2-v1.05/ - all:
make -C $(KDIR) M=$(shell pwd) modules - clean:
make -C $(KDIR) M=$(shell pwd) clean
- 1、2、4行顶行写,3、5行使用tab缩进。
KDIR为6410开发板的内核源码路径 - test.o,因为我们的源文件为test.c,所以这里要写test.o
- Makefile文件与test.c文件放在同一个目录下,比如/work/lab/test01/
4、编译模块
可能出错原因
作者:沧海猎人
总结
- 在做以上实验时,要一直思考每个步骤的作用。我会尽量写的详细一些,你千万不要只知道照着敲命令,否则你很难有进步。
以上是本人在网络上找的,复杂但省时,下面是从是师兄那里学来的简单但是费时
执行make modules,即可在test.c所在的目录下生成test.ko
linux驱动开发OK6410系列模块编 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)