Ubuntu 10.04下安装eCos及RedBoot(Host端)

纠结一上午,终于搞定eCos和RedBoot。

本来只准备下载RedBoot的源码学习一下的,谁知到找不到RedBoot的单独源码,只有下载eCos的完整源码,现在似乎RedBoot仅是eCos的一部分。下载可以用两种方式:

1. 直接下载源码,可以使用cvs,具体命令如下(Windows下装了CVS Client后也可以用这些命令下载)

mkdir ~/cvs

cd ~/cvs

cvs -z3 -d :pserver:[email protected]:/cvs/ecos co -P ecos ecos-host

这种方式下载的是最新源码,编译似乎比较麻烦,我就浅尝辄止了。

2. 下载prebuild版本。

   首先下载ecos-install.tcl,下载地址是 ftp://ecos.sourceware.org/pub/ecos/ecos-install.tcl
。下载完成后执行sh ecos-install.tcl 在线安装eCos。安装过程中会提示安装编译工具,这个以后可以使用sh ecos-install.tcl -t单独安装。安装完成后可以将. /opt/ecos/ecosenv.sh添加到~/.bashrc文件中,这样就完成了eCos的安装。

 

eCos安装是比较简单的,RedBoot就在目录/opt/ecos/ecos-3.0/packages/redboot下面。但是如果要编译RedBoot还是有点麻烦的。编译RedBoot需要libstdc++5,因而先下载libstdc++5_3.3.6-17ubuntu1_i386.deb,下载地址为http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_i386.deb
,然后通过dpkg -i libstdc++5_3.3.6-17ubuntu1_i386.deb安装即可。接着需要使用ecosconfig去配置RedBoot,然后再make。我将查阅的资料整理成以下脚本:

TARGET=se7751

ARCH_DIR=sh

PLATFORM_DIR=se7751

REDBOOT_CFG=redboot_ROM

VERSION=v3_0

rm -r /tmp/${REDBOOT_CFG} 2>/dev/null

mkdir /tmp/${REDBOOT_CFG}

cd /tmp/${REDBOOT_CFG}

ecosconfig new ${TARGET} redboot

ecosconfig import ${ECOS_REPOSITORY}/hal/${ARCH_DIR}/${PLATFORM_DIR}/${VERSION}/misc/${REDBOOT_CFG}.ecm

ecosconfig tree

make

编译后在目录/tmp/redboot_ROM/install/bin/下面生成相关的镜像文件。通过更改TARGET、ARCH_DIR、PLATFORM_DIR三个变量可以编译其他配置的RedBoot,相关架构的配置可以在http://ecos.sourceware.org/docs-latest/redboot/installation-and-testing.html
中查询。编译过程中可能提示缺少编译工具,可以通过上述的sh ecos-install.tcl -t单独安装编译工具。

 

想在SkyEye中运行RedBoot。决定采用At91/EB40的开发板配置。由于目前SkyEye对RedBoot支持的不是很好,仅有RAM版的才能成功启动。配置脚本内容为:

TARGET=at91

ARCH_DIR=arm

PLATFORM_DIR=at91/eb40

REDBOOT_CFG=redboot_RAM

VERSION=v3_0

rm -r /tmp/${REDBOOT_CFG} 2>/dev/null

mkdir /tmp/${REDBOOT_CFG}

cd /tmp/${REDBOOT_CFG}

ecosconfig new ${TARGET} redboot

ecosconfig import ${ECOS_REPOSITORY}/hal/${ARCH_DIR}/${PLATFORM_DIR}/${VERSION}/misc/${REDBOOT_CFG}.ecm

ecosconfig tree

make

执行后在install/bin下建立文件skyeye.conf,内容如下:

#skyeye config file sample

arch:arm

cpu: arm7tdmi

mach: at91

mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000

mem_bank: map=M, type=RW, addr=0x01000000, size=0x00400000

mem_bank: map=M, type=R, addr=0x01400000, size=0x00400000, file=./redboot.bin

mem_bank: map=M, type=RW, addr=0x02000000, size=0x00400000

mem_bank: map=M, type=RW, addr=0x02400000, size=0x00008000

mem_bank: map=M, type=RW, addr=0x04000000, size=0x00400000

mem_bank: map=I, type=RW, addr=0xf0000000, size=0x10000000

uart:mod=term

#log: logon=0, logfile=./sk1.log, start=0, end=200000

然后使用命令/opt/skyeye/bin/skyeye -e redboot.img就可以在SkyEye中启动RedBoot了。

你可能感兴趣的:(File,ubuntu,脚本,cvs,import,工具)