简单配置QtCreator进行Linux驱动开发## 标题
因为习惯使用IDE开发,也习惯了QtCreator开发,所以查找资料及试验。各位不用IDE的大神请绕道。
以最简单的hello world为例,模块名为khello。
- 建立项目
选择Non-Qt Project->Plain C Application,命名为khello。源文件命名为khello.c。
khello.c:
#include <linux/module.h>
#include <linux/init.h>
MODULE_LICENSE(“GPL”);
MODULE_AUTHOR(“innoink”);
MODULE_DESCRIPTION(“hello world module”);
static int __init khello_init(void)
{
printk(KERN_ERR “hello world!”);
return 0;
}
static void __exit khello_exit(void)
{
printk(KERN_EMERG “hello exit!”);
}
module_init(khello_init)
module_exit(khello_exit)
在项目目录下新建Makefile。
Makefile:
TARGET=khello
ifneq ($(KERNELRELEASE),)
obj-m := $(TARGET).o
else
KERNELDIR := /lib/modules/4.0.5-1-ARCH/build
PWD := $(shell pwd)
default:
$(MAKE) -C (KERNELDIR)M=(KERNELDIR) M=(KERNELDIR)M=(PWD) modules
clean:
$(MAKE) -C (KERNELDIR)M=(KERNELDIR) M=(KERNELDIR)M=(PWD) clean
endif
2. 修改项目文件
在khello.pro中加入下面的内容:
DEFINES += KERNEL
DEFINES += MODULE
INCLUDEPATH = /lib/modules/4.0.5-1-ARCH/build
/lib/modules/4.0.5-1-ARCH/build/include
/lib/modules/4.0.5-1-ARCH/build/arch/x86
/lib/modules/4.0.5-1-ARCH/build/arch/x86/include
其中,4.0.5-1-ARCH改成自己的内核版本。
-
配置构建套件
在左边栏”项目”中,取消Shadow build的选择,然后在“构建步骤”中删除qmake。 -
构建并运行
构建项目后,会在项目路径下生成khello.ko。然后用sudo insmod khello.ko运行就可以了。
关于警告:QtCreator加入了Clang Code Model,并默认检查所有;可在工具—》选项—》C++—》Code Model中修改。
————————————————
本文详细介绍如何使用QtCreator进行Linux驱动开发,包括创建项目、编写内核模块、配置Makefile及项目文件,以及构建和运行模块的过程。
1097

被折叠的 条评论
为什么被折叠?



