[转]u-boot-2010.12移植到2440(二,移植在RAM中运行)

本文档详细介绍了如何将 u-boot-2010.12 移植到 SMDK2440 开发板上并在 RAM 中运行。首先,通过复制和重命名代码文件、修改 Makefile 和配置文件,创建目标板框架。然后,解决了编译过程中遇到的错误,删除了不适用的宏定义,并应用补丁。接着,分析了入口代码并修改了硬件设备初始化代码,包括 LED 初始化、中断禁止和时钟设置。最后,针对 S3C2440 的特性进行了相应代码修改,并成功编译和下载到 RAM 运行。
摘要由CSDN通过智能技术生成
[转]u-boot-2010.12移植到2440(二,移植在RAM中运行)
转自
Smdk2410 可以编译通过之后,即可进入 2440 的移植了。 2440 2410 的资源差不多,主频和外设有点差别,所以我们就在 board/samsung/ 下以 smdk2410 为模板建立自己目标板的项目,取名叫 smdk2440 (代码中的修改用红色表示)

一、首先建立目标板文件

#cp -rf smdk2410/* smdk2440/   //2410下所有的代码复制到2440

#cd smdk2440        //进入smdk2440目录

#mv smdk2410.c smdk2440.c  //smdk2440下的smdk2410.c改名为smdk2440.c

#cd ../../../         //回到u-boot根目录
#cp include/configs/smdk2410.h include/configs/smdk2440.h //
建立2440头文件
#gedit board/samsung/smdk2440/Makefile   

修改smdk2440Makefile的编译项,如下:

COBJS    := smdk2440.o flash.o  //因在smdk2440下我们将smdk2410.c改名为smdk2440.c

老版本的uboot是需要修改顶层makefile文件

在其中加入:

smdk2440_config    :    unconfig     //2440编译选项格式
    @$(MKCONFIG) $(@:_config=) arm arm920t smdk2440 samsung s3c24x0

但是新版本的文件组织结构有很大变化,需要在boards.cfg文件中smdk2410的下面增加类似的一条:

smdk2440       arm         arm920t     -          samsung        s3c24x0

然后,测试下编译情况:

Make distclean

Make smdk2440_ config

Make all

不幸,出现如下错误:

 

board.c: In function 'board_init_f':

board.c:279: error: 'CONFIG_SYS_TEXT_BASE' undeclared (first use in this function)

board.c:279: error: (Each undeclared identifier is reported only once

board.c:279: error: for each function it appears in.)

make[1]: *** [board.o] 错误 1

make[1]: 离开目录“/home/bsc/samba/u-boot-2010.12/arch/arm/lib”

make: *** [arch/arm/lib/libarm.o] 错误 2

 

这说明我们前面为了编译通过而增加的宏定义可能是有问题的,事实上我们可以在网上查到一个patch,可以解决这些问题。但是这里,为了深入了解问题所在,我们手动一点点来修改而不是直接打上patch

include/configs/s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值