(二)嵌入式Linux设备驱动开发
这种开发中一般目标机为带有嵌入式处理器的开发板,而宿主机为PC,开发环境需要在宿主机上搭建,嵌入式Linux设备驱动开发的步骤如下:
在宿主机上下载嵌入式Linux的源码,并安装嵌入式Linux开发工具(针对于不同的嵌入式处理器,工具也有所不同,如对应于Arm的arm-gcc系列,针对nios2处理器的nios2-cc系列)
编写Linux设备驱动驱动程序,还以上面给出的hello.c为例,将该文件复制到(linux 源码目录)/drivers/(目标文件夹)/中
在(目标文件夹)中创建Makefile和Kconfig(菜单配置文件),内容分别如下:
#makefile
obj-$(CONFIG_HELLODRV) += hello.o
#Kconfig
menu USER_DEVICE_DRIVERS
config HELLODRV
tristate "Hello"
---help---
This is a sample driver programme.
endmenu
注意,如果Kconfig文件中的"tristate"写成"bool",则该模块只能选为Y(编译进内核)或N(不选择),不能选为M(编译为模块,可动态加载)
修改上层目录( linux内核源码目录/drivers/)中的Makefile和Kconfig文件,Makefile中加入如下语句:
#makefile
obj-y += (目标文件夹)
(此处有多种写法,这只是其中一种)
Kconfig中加入如下语句:
#Kconfig
source "drivers/(目标文件夹)/Kconfig"