s3c6410开发板内核配置和编译&将已写好的驱动程序编译进内核
2012-10-16 21:36
309 查看
一、s3c6410开发板内核配置和编译
1、解压内核包,将smdk6410_config内核配置文件拷贝成.config(默认配置文件)到内核源代码树下。一般情况下,关于平台的配置文件存放在内核源代码树的arch/arm/configs/目录下,这里用到的smdk6410_config是已经配置好了的配置文件。2、通过图形界面调整配置
$>make menuconfig (要求有ncurses库)
或:
$>make xconfig
$>make gconfig
要调整的配置选项有:
a. 取消enable loadable module support的支持
b. 进入Device Driver -> Graphics support --- 进入frame buffer支持部分,将LCD屏设置为480*272
3、修改内核源代码树下的Makefile,搜索CROSS_COMPILE
CROSS_COMPILE := arm-linux- 将编译工具链设置为arm-linux-工具链
4、make -----大约十几分钟即可完成整个编译过程、生成的zImage在内核源代码树下arch/arm/boot/下
二、将已经写好的驱动程序编译进内核
1、将写好的有效驱动程序源文件拷贝到内核源代码树下/drivers/arm-drv/ 这里arm-drv是专门为自己写的驱动程序而创建的,以区别于其他驱动程序。2、在arm-drv目录下创建关于该驱动的Kconfig文件
Kconfig文件的编写语法相对简单,可以参考内核源码中其他驱动中的Kconfig文件而编写,比如driver/watchdog/Kconfig看门狗驱动的Kconfig文件
3、修改上层代码的Kconfig文件、在合适位置加入source "drivers/arm-drv/Kconfig"这一行
一般上层Kconfig文件是arch/arm/Kconfig
4、通过make menuconfig测试如果正确,则图形配置界面将出现与该驱动程序相关的选项,选中该选项保存退出后在内核源代码树目录下将会生成新的.config文件。打开并查看此文件可以发现其中含有关于该驱动的三行内容:
这行在(6)中修改driver/Makefile时要用到
CONFIG_6410DRV=y
以下两个在编辑arm-drv下的Makefle要用到
CONFIG_CHAR01=y
CONFIG_CHAR02=y
5、在arm-drv目录下创建Makefile并进行编辑
obj-$(CONFIG_CHAR01) += char_test01.o
obj-$(CONFIG_CHAR02) += char_test02.o
这里有两个.o文件分别对应arm-dev下的.c文件
(参考看门狗驱动程序driver/watchdog/中Makefile的规则)
6、修改上层即driver/Malefile,
在合适的位置加入obj-$(CONFIG_6410DRV) += arm-drv/这一行
7、回到内核源码树目录下make 进行编译,这样就将驱动程序编译进了内核
相关文章推荐
- linux 内核编译:内核配置原理与常见配置问题的解决方法&&内核版本控制解析
- s3c6410之编译开发板内核
- 针对TQ2440开发板上linux2.6.30.4内核的交叉编译和驱动程序的移植
- 如何将写好的驱动程序编译进内核
- x4412开发板&ibox卡片电脑项目实战2-内核编译脚本解析
- linux 内核编译:内核配置原理与常见配置问题的解决方法&&内核版本控制解析
- 编译飞凌ok335D开发板内核时出现drivers/mfd/ezx-pcap.c:205:2: error: implicit declaration of function 'irq_to_gpio
- x4412开发板&ibox卡片电脑项目实战6-配置内核
- x4412开发板&ibox卡片电脑项目实战2-内核编译脚本解析
- Linux 2.6.19.x 内核编译配置选项…
- Linux 2.6.19.x 内核编译配置选项…
- 【基于mini2440开发板的交叉编译环境及内核树配置.
- 驱动程序前期环境搭建准备(配置、编译、烧写内核)
- 为s3c2410开发板 配置和编译内核过程
- x4412开发板&ibox卡片电脑项目实战6-配置内核
- Linux 2.6.19.x 内核编译配置选项简介
- 编译内核是碰到error: `PCIMEM_BASE ' undeclared
- Linux 2.6.19.x 内核编译配置选项简介
- 解决ubuntu编译内核uImage出现问题"mkimage" command not found - U-Boot images will not be built问题
- 内核编译配置选项简介 (2.4.18-rmk7-pxal)(转)