您的位置:首页 > 其它

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 进行编译,这样就将驱动程序编译进了内核
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: