嵌入式驱动程序开发历程
使用友善之臂mini2440开发板Step1:配置内核
make menuconfig
Load an Alternate Configuration File
选择config_n35
Step2:将驱动程序源码放置于kernel-2.6.13/drivers/char目录下,名为qq2440_hello_module.c,内容如下:
#include <linux/kernel.h>
#include <linux/module.h>
MODULE_LICENSE("GPL");
static int __init qq2440_hello_module_init(void)
{
printk("Hello, QQ2440 module is installed !\n");
return 0;
}
static void __exit qq2440_hello_module_cleanup(void)
{
printk("Good-bye, QQ2440 module was removed!\n");
}
module_init(qq2440_hello_module_init);
module_exit(qq2440_hello_module_cleanup);
Step3:编辑配置文件Kconfig,加入驱动选项,使之在make menuconfig 的时候出现
打开 kernel-2.6.13/drivers/char/Kconfig 文件,添加
config QQ2440_HELLO_MODULE
tristate "QQ2440/mini2440 Hello Module sample"
depends on ARCH_S3C2410
help
QQ2440 hello module sample
Step4:在char目录下打开Makefile,添加
obj-$(CONFIG_QQ2440_MODULE)+= qq2440_hello_module.o
Step5:在kernel-2.6.13目录下执行make menuconfig
在Device Driver——Character Driver下将QQ2440_HELLO_MODULE选为M,模块方式,退出保存设置。
Step6:执行命令 make modules。在char目录下产生qq2440_hello_module.ko的文件。传到开发板上。
Step7:在超级终端 执行 chmod a+rwx qq2440_hello_module.ko
Step8:加载驱动模块,执行insmod qq2440_hello_module.ko
显示:
Hello, QQ2440 module is installed !
Step9:卸载驱动模块,执行rmmod qq2440_hello_module.ko
显示加载驱动模块,执行
Good-bye, QQ2440 module was removed! 呵呵,为了这个东东,我们俩郁闷了好几天啊!
页:
[1]