以helloworld为例:
① 把hello.c复制到内核代码下(具体放哪根据模块功能,比如字符驱动放在/drivers/char/下,并cd进入该目录下);
② 修改配置菜单选项Kconfig:vi Kconfig,在menu "Character devices"代码下增 加下面两行:
config HELLO_WORLD
bool "helloworld"
此时重新配置菜单make menuconfig则能在Device Drivers-->Character devicesk看到新增的helloworld(NEW)选项,选上后保存则vi .config能找到CONFIG_HELLO_WORLD=y;
③ 修改Makefile:vi drivers/char/Makefile(根据模块放的位置),在适当位置添加:
obj -${CONFIG_HELLO_WORLD} += hello.o
/*****obj -y是编译内核,obj -m是编译模块,obj -n什么都不做,obj -${}则根据括号里面的信息自己判断编译******/
④ 然后编译内核make uImage ARCH=arm CROSS_COMPILE=arm-linux-,并通过tftp拷到开发板运行#cp arch/arm/boot/uImage /tftpboot,则能在启动时看到打印的"Hello World !"