Documentation/kbuild/kconfig-language.txt
主目录下的Kconfig文件,内容非常少。
source "arch/$SRCARCH/Kconfig"
# source类似c语言的include
# 通过source一层层地包含,将各级目录下的Kconfig都包含进来了。
1、menu、endmenu
// 创建了一个菜单
menu "System Info"
config ABC
bool "This is a test config"
default y
help
support test config
endmenu
// 然后在目录下:
make menuconfig
// vi .config
#
# System Info
#
CONFIG_ABC=y
2、config
整个流程:通过修改Kconfig,形成一个可配的东西,然后作用成一个文件,最后作用成一个makefile。
Q:通过make menuconfig,怎么找到Kconfig信息?
在Samsung SoC serial support处按住h,获得:CONFIG_SERIAL_SAMSUNG
Q:Makefile的.o是在Kconfig的哪里配置的?
3、添加驱动到内核
1).c ---> Makefile .o
obj-xxx += xxx.o
在上级目录Makefile中obj-y += 目录名/
.config:
CONFIG_XXXX=y
根目录:make menuconfig
menu "my char device"
config MYLEDTEST
bool "Support myled device driver"
help
Support led device driver for s5pv210
endmenu
1)内核是否运行了LED驱动
/proc/devices
cat /proc/devices:查看内核支持的驱动数,驱动id和驱动名
2)创建LED驱动程序与应用程序 设备节点
mknod --help
mknod [-m MODE] NAME TYPE MAJOR MINOR
mknod /dev/led1 c 253 1
3)测试
应用程序要在板子上运行起来
PC与板子进行数据通信。
服务器信息:
1、服务是否开启
2、到底共享了哪个目录
客户端:
mount -t nfs -o nolock 192.168.10.110:/work/smart210 /mnt
tristate:三态。编进内核、不编进内核、以模块形式编译。