新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 移植2.6.16内核到at91rm9200

移植2.6.16内核到at91rm9200

作者:时间:2012-05-31来源:网络收藏

1、下载、安装

本文引用地址:http://www.amcfsurvey.com/article/148955.htm

从 www.kernel.org 上下载Linux版的kernel,解压到 /usr/src/arm/linux-

从http://maxim.org.za/AT91RM9200/2.6/ 上下载针对rm9200的补丁,文件名:-at91.patch.gz,复制到 /usr/src/arm/linux-2.6.16,然后在命令行界面中执行 zcat 2.6.16-at91.patch.gz |patch -p1

从http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi/yaffs2.tar.gz?view=tar下载YAFFS2补丁 yaffs2.tar.gz 解压缩后到文件目录下运行 sh patch-ker.sh ../linux-2.6.16 把YAFF2加到中去;

下载GCC编译器,文件名:arm-linux-gcc-3.4.1.tar.bz2,解压到 /usr/local/arm/3.4.1

2、修改

打开原代码根目录下的Makefile,找到如下两行:

ARCH ?=$(SUBARCH)

CROSS_COMPILE ?=

修改为:

ARCH ?=arm

CROSS_COMPILE ?=/usr/local/arm/3.4.1/bin/arm-linux-

3、编译

执行如下命令:

make dk_defconfig

make xconfig

make

以上是基本的步骤,所有过程的第一步,以下是我自已过程:

1),在make xconfig 时改

boot_option

ZBOOT_BASE_ADDRESS   0X21000000

ZBOOT_ROM_BSS      0X21100000

否则不能动行

其它的可以按 dk 的配置编译

2),添加devfs文件系统

vi fs/Kconfig

找到menu Pseudo filesystems

添加如下语句:

config DEVFS_FS

bool /dev file system support (OBSOLETE)

default y

config DEVFS_MOUNT

bool Automatically mount at boot

default y

depends on DEVFS_FS

保存退出后编译下载后就可以在 开发板上的 /proc 目录下的filesystems里看到了

[root@AT91RM9200DK /proc]$cat filesystems

nodev sysfs

nodev rootfs

nodev bdev

nodev proc

nodev sockfs

nodev pipefs

nodev futexfs

nodev tmpfs

nodev inotifyfs

nodev eventpollfs

nodev devpts

ext2

cramfs

nodev ramfs

nodev devfs

nodev jffs2

3),修改NAND的分驱表

在arch/mach-/board-dk中

改dk-nand-patition[]{

}

下的代码为自已想要的分驱方式

4),修改NOR的分驱表

在driver/mtd/maps/physmap.c中

添加一个自已的分驱表后将其引用到physmap_set_patition()中

5),添加9200的串口驱动

这个更简单

改arch/mach-at91rm9200/board-dk.c

.nr_tty = 5,

.tty_map = {4,3,2,1,0}

就把2个串口改为5个了,其对应驱动在相关目录下都有详尽的代码!

需要的是一个认真的态度和不懈的努力!

这也只是个入门,还有更多的东西要学习!



评论


相关推荐

技术专区

关闭