嵌入式BootLoader移植实验三文档格式.doc

上传人:b****1 文档编号:13167588 上传时间:2022-10-07 格式:DOC 页数:17 大小:3.20MB
下载 相关 举报
嵌入式BootLoader移植实验三文档格式.doc_第1页
第1页 / 共17页
嵌入式BootLoader移植实验三文档格式.doc_第2页
第2页 / 共17页
嵌入式BootLoader移植实验三文档格式.doc_第3页
第3页 / 共17页
嵌入式BootLoader移植实验三文档格式.doc_第4页
第4页 / 共17页
嵌入式BootLoader移植实验三文档格式.doc_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

嵌入式BootLoader移植实验三文档格式.doc

《嵌入式BootLoader移植实验三文档格式.doc》由会员分享,可在线阅读,更多相关《嵌入式BootLoader移植实验三文档格式.doc(17页珍藏版)》请在冰豆网上搜索。

嵌入式BootLoader移植实验三文档格式.doc

2014年4月制

一、实验目的

1、熟悉Bootloader工作原理。

2、了解U-Boot的代码结构。

3、掌握U-Boot移植过程。

二、实验内容

本实验熟悉Bootloader工作原理,了解U-Boot源码结构,基于S3C2440处理器,完成U-Boot移植,并在目标开发板上测试通过。

三、移植环境

u-boot版本:

u-boot-2011-03

Linux平台:

Fedora14

交叉编译工具:

arm-linux-gcc-4.3.3

arm开发板:

micro2440

CPU:

S3C2440

SDRAM:

64M1

NorFlash:

2M

NandFlash:

256M

网卡:

DM9000EP

四、实验过程

1、建立Micro2440配置

(1)按下图所示命令解压u-boot-2011.03-micro2440.tar压缩包

(2)输入命令:

geditboards.cfg打开boards.cfg文件。

在boards.cfg中添加一行:

micro2440armarm920t-samsungs3c24x0语句。

(3)创建板级支持文件

输入命令:

cp-rboard/samsung/smdk2410board/samsung/micro2440

cdboard/samsung/micro2440/

mvsmdk2410.cmicro2440.c

geditMakefile

将COBJS:

=smdk2410.oflash.o改为COBJS:

=micro2440.oflash.o

cd../../..

cpinclude/configs/smdk2410.hinclude/configs/micro2440.h

geditinclude/configs/micro2440.h

修改内容一:

#defineCONFIG_SYS_PROMPT"

[Micro2440]#"

/*MonitorCommandPrompt*/

修改内容二:

#defineCONFIG_SYS_SDRAM_BASEPHYS_SDRAM_1

#defineCONFIG_SYS_INIT_SP_ADDR(CONFIG_SYS_SDRAM_BASE+0x1000-GENERATED_GBL_DATA_SIZE)

(4)测试编译环境

输入命令:

makemicro2440_config

出现:

Configuringformicro2440board...

输入命令:

make

Generatinginclude/autoconf.mk

Generatinginclude/autoconf.mk.dep

......

arm-linux-objcopy-Osrecu-bootu-boot.srec

arm-linux-objcopy--gap-fill=0xff-Obinaryu-bootu-boot.bin

2、在RAM中运行

(1)在根目录下进入include/configs文件夹

输入命令:

geditmicro2440.h,打开micro2440.h文件。

(2)在micro2440.h中

删除:

#defineCONFIG_S3C24101/*specificallyaSAMSUNGS3C2410SoC*/

#defineCONFIG_SMDK24101/*onaSAMSUNGSMDK2410Board*/

添加:

#defineCONFIG_S3C24401/*specificallyaSAMSUNGS3C2440SoC*/

#defineCONFIG_MICRO2440

#defineCONFIG_SKIP_LOWLEVEL_INIT

(3)在根目录下进入arch/arm/cpu/arm920t文件夹

geditstart.S

按下图所示进行修改部分内容:

(4)在根目录board/samsung/micro2440下中输入geditmicro2440.c命令

(5)测试

在根目录下输入命令:

make

编译完成后将u-boot.bin下载到SDRAM的0x33f80000地址处,u-boot已经能在RAM中运行。

3、支持DM900

(1)在根目录下打开include/configs文件夹,执行geditmicro2440.h命令

删除:

#defineCONFIG_CS8900/*wehaveaCS8900on-board*/

#defineCONFIG_NETMASK255.255.255.0

#defineCONFIG_IPADDR10.0.0.110

#defineCONFIG_SERVERIP10.0.0.1

#defineCONFIG_CMD_NET

#defineCONFIG_DRIVER_DM90001

#defineCONFIG_DM9000_NO_SROM1

#defineCONFIG_DM9000_BASE0x20000300

#defineDM9000_IOCONFIG_DM9000_BASE

#defineDM9000_DATA(CONFIG_DM9000_BASE+4)

#defineCONFIG_CMD_PING

#defineCONFIG_ETHADDR08:

00:

3e:

26:

0a:

5b//开发板MAC地址

#defineCONFIG_NETMASK255.255.255.0

#defineCONFIG_IPADDR192.168.10.126//开发板IP地址

#defineCONFIG_SERVERIP192.168.10.124//主机IP地址

(2)在根目录下进入board/samsung/micro2440文件夹执行geditmicro2440.c命令

(3)在根目录下进入arch/arm/lib文件夹执行gediteabi_compat.c命令

(4)在根目录下进入drivers/net文件夹执行geditdm9000x.c命令

在修改staticintdm9000_init(structeth_device*dev,bd_t*bd)函数中内容,如下图所示:

(5)测试

在根目录下输入命令:

编译完成后将u-boot.bin下载到SDRAM的0x33f80000地址处,u-boot已经能在RAM中运行。

测试结果如下图所示:

4、支持内核启动

(1)在根目录下进入include/configs文件夹执行geditmicro2440.h命令

#defineCONFIG_SETUP_MEMORY_TAGS1//如果没有定义这个参数,则uboot参数必须加入men=内存大小

(2)在根目录下进入arch/arm/lib文件夹执行geditbootm.c命令

在staticvoidannounce_and_cleanup(void)函数中添加:

#ifndefCONFIG_MICRO2440

cleanup_before_linux();

#endif

(3)自动启动内核

如果要自动启动内核,需要include/conskfigs/micro2440.h定义CONFIG_BOOTCOMMAND,类似如下内容:

#defineCONFIG_BOOTCOMMAND"

nandread0x300080000x600000x300000;

bootm0x30008000"

(4)测试

编译完成后将u-boot.bin下载到SDRAM的0x33f80000地址处,u-boot已经能在RAM中运行。

5、支持NandFlash

(1)添加s3c2440_nand.c文件

在根目录下输入touchdrivers/mtd/nand/s3c2440_nand.c指令进行文件的创建,

在根目录下输入geditdrivers/mtd/nand/s3c2440_nand.c命令打开文件。

在DEBUGN("

board_nand_init()/n"

);

下面修改如图所示的三句内容:

(2)在根目录下进入drivers/mtd/nand文件夹中执行geditMakefile命令

#COBJS-$(CONFIG_NAND_S3C2440)+=s3c2440_nand.o如下图所示:

(3)在根目录下进入include/conskfigs文件夹打开micro2440.h文件

#defineCONFIG_MTD_DEVICE

#defineCONFIG_NAND_S3C2440

#defineCONFIG_CMD_NAND

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 日语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1