描述如何在NT4.0下建立Ecos的环境
源代码在线查看: 在nt40下建立ecos开发环境.txt
在NT40下建立GNU开发环境
第一种方法: 下载和安装, 编译所有工具.
1. 下载和安装cygwin
1.1 下载cygwin
cygwin可从 http://sourceware.cygnus.com/cygwin 或它的
mirror站点下载.
(http://programming.ccp14.ac.uk/ftp-mirror/programming/cygwin/pub/cygwin/latest)
要下载的文件: 所有子目录下的二进制文件. (*.tar.gz)
下载到一个目录, 如: e:\download\cygwin
1.2 安装cygwin
cd e:\download\cygwin
> setup
> 输入安装目录, 如 e:\cygnus
OK.
第一次运行cygwin时, 可mount c:, d: e:盘
bash> mount -f c:/ /c
bash> mount -f d:/ /d
bash> mount -f e:/ /e
bash下的 root目录 是 e:\cygnus.
建议: 把e:\cygnus\bin 加入NT40的系统PATH, 这样可在DOS环境中
使用gcc. 在DOS环境中运行cygwin.bat就可进入 bash>
编辑 e:\cygnus\bin\cygwin.bat, 把
set PATH=e:\cygnus\bin;e:\cygnus\usr\local\bin;%PATH% 注掉
2. 下载和编译,安装GNU系列交叉平台开发环境.
2.1 下载GNU工具源码 (用于编译出支持不同硬件平台的gcc, gdb,,)
从 ftp://ftp.gnu.org/gnu下载:
binutils/binutils-2.10.tar.gz
gcc/gcc-2.95.2.tar.gz
从 http://soureware.cygnus.com/ecos下载:
insight-5.0.tar.bz2 (GUI gdb)
ecos-gcc-2952.pat (ecos gcc 补丁)
insight-tcl.pat (ecos insight 补丁)
把这几个文件都拷入 /src 目录. (e:\cygnus\src)
2.2 解压GNU工具缩源码
bash> cd /src
bash> mkdir -p binutils gcc gdb
展开binutils:
bash> cd /src/binutils
bash> gzip -cd ../binutils-2.10.tar.gz | tar xvf -
展开gcc:
bash> cd /src/gcc
bash> gzip -cd ../gcc-2.95.2.tar.gz | tar xvf -
展开gdb:
bash> cd /src/gdb
bash> bunzip2 < ../insight-5.0.tar.bz2 | tar xvf -
2.3 打补丁
bash> cd /src/gcc/gcc-2.95.2
bash> tr -d '\r' < /src/ecos-gcc-2952.pat | patch -p0
bash> cd /src/gdb/insight-5.0
bash> tr -d '\r' < /src/insight-tcl.pat | patch -p0
2.4 Refresh 文件时间
bash> cd /src/gcc/gcc-2.95.2
bash> ./contrib/egcs_update --touch
2.5 配置和编译ARM平台的 binutils, gcc, gdb
bash> mkdir -p /tmp/arm/binutils /tmp/arm/gcc /tmp/arm/gdb
配置binutils:
bash> cd /tmp/arm/binutils
bash> /src/binutils/binutils-2.10/configure --target=arm-elf \
--prefix=/tools/arm -v 2>&1 | tee c.out
编译binutils:
bash> make -w all install 2>&1 | tee m.out
配置gcc: (一定要在编译完binutils后才能配置和编译gcc)
bash> PATH=/tools/arm/bin:$PATH
bash> export PATH
bash> cd /tmp/arm/gcc
bash> /src/gcc/gcc-2.95.2/configure --target=arm-elf \
--prefix=/tools/arm --with-gnu-as \
--with-gnu-ld --with-newlib \
-v 2>&1 | tee c.out
编译gcc:
bash> make -w all-gcc install-gcc LANGUAGES="c c++" 2>&1 | tee m.out
如何编译时出错, 可能是配置时重新生成的头文件是DOS格式,
找到出错的头文件, 用dos2unix工具转成unix格式, 再编译就
能通过.
配置gdb:
bash> cd /tmp/arm/gdb
bash> /src/gdb/insight-5.0/configure --target=arm-elf \
--prefix=/tools/arm -v 2>&1 | tee c.out
编译gdb:
bash> make -w all install 2>&1 | tee m.out
2.6 配置和编译i386平台的 binutils, gcc, gdb
bash> mkdir -p /tmp/i386/binutils /tmp/i386/gcc /tmp/i386/gdb
配置binutils:
bash> cd /tmp/i386/binutils
bash> /src/binutils/binutils-2.10/configure --target=i386-elf \
--prefix=/tools/i386 -v 2>&1 | tee c.out
编译binutils:
bash> make -w all install 2>&1 | tee m.out
配置gcc:
bash> PATH=/tools/i386/bin:$PATH
bash> export PATH
bash> cd /tmp/i386/gcc
bash> /src/gcc/gcc-2.95.2/configure --target=i386-elf \
--prefix=/tools/i386 --with-gnu-as \
--with-gnu-ld --with-newlib \
-v 2>&1 | tee c.out
编译gcc:
bash> make -w all-gcc install-gcc LANGUAGES="c c++" \
2>&1 | tee m.out
如何编译时出错, 可能是配置时重新生成的头文件是DOS格式,
找到出错的头文件, 用dos2unix工具转成unix格式, 再编译就
能通过.
配置gdb:
bash> cd /tmp/i386/gdb
bash> /src/gdb/insight-5.0/configure --target=i386-elf \
--prefix=/tools/i386 -v 2>&1 | tee c.out
编译gdb:
bash> make -w all install 2>&1 | tee m.out
3. 下载和安装eCos
3.1 下载eCos安装程序 和 eCos文档.
http://soureware.cygnus.com/ecos
下载 eCos131.exe
ecos-1.3.1-doc.tar.bz2
3.2 安装eCos:
运行 eCos.exe
第二种方法: 简便安装
1. 映射 \\pink\cygnus为 K:
2. 安装cygwin:
> cd K:\cygwin
> setup
输入安装目录, 如 e:\cygnus
输入d, 选择从当前目录安装, 而不是从Internet安装.
3. 直接拷贝已编译好的 arm, i386 交叉开发工具.
xcopy k:\tools e:\cygnus\tools /s
4. 安装eCos.
K:\eCos\eCos131.exe, 安装到e:\ecos目录下.
5. 安装eCos TCP/IP包
启动 开始菜单\程序\Red Hat eCos\Package Administration Tools,
选中e:\eCos\packages\ecos.db
点击 "Add" 按钮, 选中k:\ecos\net-1.0b1.epk
ok.
6. 运行SourceSafe, 把\eCos目录整个get到e:\ecos下.
7. 运行 开始菜单\程序\Red Hat eCos\Configuration Tool
选中Build\Templates菜单, 在弹出的Template对话框中选择
Hardware: ARM Development board (SNDS100)
Packages: stubs (监控程序)
或 default (ecos库)
如选中default, 如要加入TCP/IP包, 选中build\packages菜单,
在Avaliable Packages中, 选中三个包:
(1). Networking (TCP/IP包)
(2). Comm ethernet support (上层网卡driver)
(3). SNDS100 ethernet driver (SNDS100 板网卡driver)
8. 修改e:\cygnus\tools\arm\share\gdbtcl\targetselection.itb
第96行, 原来是:
set gdb_target(remote,baud-rates) {9600 19200 38400 57600}
改为:
set gdb_target(remote,baud-rates) {9600 19200 38400 57600 115200}
gdb Remote Serial缺省不支持115200波特率.