Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2050867
  • 博文数量: 610
  • 博客积分: 11499
  • 博客等级: 上将
  • 技术积分: 5511
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-12 19:27
文章分类

全部博文(610)

文章存档

2016年(5)

2015年(18)

2014年(12)

2013年(16)

2012年(297)

2011年(45)

2010年(37)

2009年(79)

2008年(101)

分类: LINUX

2008-03-30 22:16:14

十一,没有出去玩.老师给了一块AT91RM9200的板子,ARM9的.首先说一下AT91RM9200DK和AT91RM9200EK.不同在于Atmel公司出的两个模板.前者带NANDFLASH,而后者不带而已,知道这个后.对后面的编译有关系.然后我用的内核是linux-2.6.22.7(其实不要用太高的版本,有些借口变化很大.如果你用这个版本的话,当你在初学LDD3的时候,会报很多错误-版本不兼容),还有这个不支持devfs,在做文件系统的时候也要注意了,后面会解释的.现在开始:
准备相关的工具: ,从这里下载 linux-2.6.22.7.tar.bz2
从这里下载补丁  2.6.22-at91.patch.gz,然后我的交叉编译器是3.4.4,这个我很喜欢用,呵呵.不出问题!,然后就是把交叉编译器的环境变量搞定就行了.接下来就是编译等等.$ cd linu-2.6.22,$ zcat 2.6.22-at91.patch.gz | patch –p1,修改该目录下的Makefile文件

ARCH            ?=$(SUBARCH)
   CROSS_COMPILE    ?=
     
改成:

     ARCH    = arm
     CROSS_COMPILE =/usr/local/arm/3.4.4/bin/arm-linux-

$ cp arch/arm/configs/at91rm9200dk_defconfig /.config(这里注意不是EK,而是DK,当然根据你的板子来说了,我的是DK,哈哈)

$ make clean

$ make zImage

由于我的UBOOT不支持zImage,所以必须是make uImage,这个注意,首先把uboot原码包里的tool目录下的mkimage拷贝到主机的/bin,然后在执行make uImage,这样uboot才能解压它.太麻烦了。还是给uboot升级吧.最少是1.1.4的.

然后我们渴望的uImage 就生成了.然后下下载到内存跑跑.晕.我的NANDFLASH.没有认出来.好办.根据自己的板子,我修改了board-dk.c里nand部分,把.ben=....给注释掉.然后开启enable_pin.具体如下:

static struct at91_nand_data __initdata dk_nand_data = {
 .ale  = 22,
 .cle  = 21,
 //.det_pin = AT91_PIN_PB1,
 .rdy_pin = AT91_PIN_PC2,
 .enable_pin = AT91_PIN_PC0
 .partition_info = nand_partitions,
};

然后从新编译.OK.搞定.

然后是给norflash分区了.在driver/mtd/maps下找一个代码,改成自己的,关键是地址的问题.我的开始地址0x10000000和大小0x400000(4M).然后就是分区表,OK.NORFLASH也好了.下面就是文件系统了.关于制作ramdisk.下面讲.但注意由于内核不支持devfs.所以在制作ramdisk的时候,一定要mknod -m 660 dev/console c 5 1,mknod -m 660 dev/null c 1 3.不然你的系统会提示:warning : unable to open an initial console.总体感觉,这个要比给2410移植系统简单多了.但好多东西还是不明白.继续努力吧.好了,系统初步搞定.

阅读(1059) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~