Chinaunix首页 | 论坛 | 博客
  • 博客访问: 413371
  • 博文数量: 75
  • 博客积分: 2020
  • 博客等级: 大尉
  • 技术积分: 663
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-04 16:56
文章分类

全部博文(75)

文章存档

2010年(10)

2009年(65)

分类: LINUX

2009-09-14 14:04:44

研究嵌入式也有一段时间了,都是参考别人的东西来写的,今天我也记录一下自己的学习过程。

 

编译环境:Fedora11

交叉编译器:arm-linux-gcc-4.3.2

开发板平台:Friendly Mini2440开发板

Uboot源码下载:

 

1、准备工作,添加对SMDK2440的支持

1 进入U-Boot目录,修改Makefile

#vi Makefile

#smdk2440建立编译项

smdk2410_config :       unconfig

        @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0

smdk2440_config :       unconfig

         @$(MKCONFIG) $(@:_config=) arm arm920t smdk2440 NULL s3c24x0

各项的意思如下:

arm: CPU的架构(ARCH)

arm920t: CPU的类型(CPU),其对应于cpu/arm920t子目录。

smdk2440: 开发板的型号(BOARD),对应于board/smdk2440/目录

NULL: 开发者/或经销商(vender)

s3c24x0: 片上系统(SOC)

同时在“ifndef CROSS_COMPILE ”之前加上自己交叉编译器的路径,

CROSS_COMPILE=arm-linux-

 

u-boot1.3.3及以上版本Makefile有一定的变化,使得对于24x0处理器从nand启动的遇到问题。也就是网上有人说的:无法运行过lowlevel_init。其实这个问题是由于编译器将我们自己添加的用于nandboot的子函数nand_read_ll放到了4K之后造成的(到这不理解的话,请仔细看看24x0处理器nandboot原理)。我是在运行失败后,利用mini24404LED调试发现u-boot根本没有完成自我拷贝,然后看了uboot根目录下的System.map文件就可知道原因。

解决办法其实很简单:

__LIBS := $(subst $(obj),,$(LIBS)) $(subst $(obj),,$(LIBBOARD))

改为__LIBS := $(subst $(obj),,$(LIBBOARD)) $(subst $(obj),,$(LIBS))

 

2 /board子目录中建立自己的开发板SMDK2440目录

# cd board/samsung                    

# cp -raf smdk2410/ smdk2440

# cd smdk2440

# mv smdk2410.c smdk2440.c

 还要记得修改自己的开发板smdk2440目录下的Makefile文件,不然编译时会出错:

#vi Makefile

COBJS    := smdk2440.o  flash.o

3 include/configs/中建立配置头文件

cp include/configs/smdk2410.h include/configs/smdk2440.h

4 测试编译能否成功
make smdk2440_config

Configuring for smdk2440 board...

如果出现上述几行信息,表明已经设置OK,就可以进行接下来的移植工作了。

注:如果出现:[root@localhost u-boot-2009.01]# make smdk2440_config

Makefile:3001: *** missing separator (did you mean TAB instead of 8 spaces?).  Stop.

请在U-boot的根目录下的Makefile@$(MKCONFIG) $(@:_config=) arm arm920t utu2440 NULL s3c24x0)  前加上“Tab”

附件是我修改后的patch可以参考
文件: u-boot-2009.08.rar
大小: 23KB
下载: 下载

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

juckciy2009-10-23 10:58:04

l参照你的资料自己再做,但还是遇到很多问题,楼主能不能先发个编译好的uboot.bin给我,juckciy@163.com 谢谢了!