设备驱动(五)

开发板与发行版编码规范
Makefile
DEBUG = n     //开发板测试版标识

ifeq ($(DEBUG),y)
     EXTRA_CFLAGS += -DHELLO_DEBUG     //根据DEBUG,动态配置编译参数,在命令行添加宏
endif

obj-m     += hello.o

all:
     make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

clean:
     make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
hello.c
#include <linux/module.h>
#include <linux/kernel.h>

MODULE_LICENSE ("GPL");
//定义宏函数
#undef PDEBUG
#ifdef HELLO_DEBUG
#define PDEBUG(fmt, args...) printk (KERN_DEBUG fmt, ##args)
#else
#define PDEBUG(fmt, args...)
#endif

int init_module (void)
{
     PDEBUG("Hello world\n");

     return 0;
}

void cleanup_module (void)
{
     PDEBUG("Goodbye world\n");
}

你可能感兴趣的:(linux,设备驱动)