例5.1 在内核中添加ADC 驱动程序。
(1)编写s5pv210_adc文件源代码。
驱动程序源文件命名为s5pv210_adc.c。由于将ADC设备定义为字符类设备,所以驱动程序源文件存放路径为:/JY-CBT/Linux-2.6.35.7/drivers/char/s5pv210_adc。
该文件已存放于内核文件中,可用编辑软件自行打开浏览。Linux驱动程序的编写方法将在第7章中进行介绍。
(2)修改Kconfig配置文件
配置文件存放路径:/JY-CBT/ Linux-2.6.35.7/drivers/char/Kconfig
在Kconfig文件中添加以下内容:
135 config S5PV210_ADC
136 tristate "ADC driver for Cyb-Bot S5PV210 Development Boards"
137 depends on CPU_S5PV210
138 default y
139 help
140 this is ADC driver for Cyb-Bot CBT210 development boards
功能释义:
136:在配置菜单中添加"ADC driver for Cyb-Bot S5PV210 Development Boards"选项,该选项在配置菜单中的位置由当前Kconfig位置决定。依据Kconfig的当前位置路径,可以在配置选项主菜单中的对应位置见到所添加的选项内容。
Device Drivers --->
Character devices--->
<*> ADC driver for Cyb-Bot S5PV210 Development Boards
135:与选项关联的驱动程序文件名,上一步已经定义了驱动程序源文件是s5pv210_adc.c。这里定义的内容要与文件名一致。
137: 这个配置选项仅对CPU_S5PV210处理器有效,在.config文件中定义。
138: 默认选项有效,编译链接到内核。
(3)修改Makefile文件
编译规则文件存放路径/JY-CBT/ Linux-2.6.35.7/drivers/char/Makefile
在Makefile文件中添加以下内容:
obj-$(CONFIG_S5PV210_ADC) += s5pv210_adc.o
功能释义:
条件编译s5pv210_adc文件,编译条件将依赖于.config文件中的参数定义。
(4).config文件
配置参数文件存放路径/JY-CBT/ Linux-2.6.35.7/.config
由于.config是隐藏文件,可以在终端窗口使用 “gedi” 编辑软件打开。经过一次配置内核过程且保存文件后,.config文件内容如下:
290 # Power management
302 CONFIG_CPU_S5PV210=y #定义CPU_S5PV210,用于Kconfig定义选项的依赖。
1174 # Character devices
1186 CONFIG_S5PV210_ADC=y #定义CONFIG_S5PV210_ADC, 用于Makefile编译s5pv210_adc。