一、编写源码
1.源代码中的头文件
#include <linux/config.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/devfs_fs_kernel.h>
#include <linux/miscdevice.h>
#include <linux/delay.h>
#include <asm/irq.h>
#include <asm/arch/regs-gpio.h>
#include <asm/hardware.h>
#include <linux/config.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/devfs_fs_kernel.h>
#include <linux/miscdevice.h>
#include <linux/delay.h>
#include <asm/irq.h>
#include <asm/arch/regs-gpio.h>
#include <asm/hardware.h>
1)为什么需要包括config.h, 因为里面包括了编译器用到的条件编译宏,这里可以参考
linux内核配置机制 里面讲得非常详细,我们的kconfig,.config, autoconfig.h makefile,make menuconfig 等之间的关系。
2.驱动中用到的数据结构与内核接口
3.linux驱动加载用到的特殊技巧
4.linux 中的__attribute__一些特性,给我们带来了什么好处,常用用法是怎么样的?
二、修改kconfig文件
1.kconfig 配置的基本语法
针对这一块,我们可以查看kconfig-language.txt 这个文件,里面详细讲解了kconfig文件的语法。