本文主要介绍在cygwin中建立eCos开发环境。在开始之前,请先安装好cygwin,参考本博文章:cygwin介绍、安装及其使用的详细说明。
eCos开发环境除了cygwin外,还可在linux进行eCos开发,linux的eCos开发环境搭建请参考本博文章:ubuntu9.10中安装eCos并建立eCos开发环境。两个eCos开发环境的搭建其实差不多,没有本质区别。
一、cygwin中安装新包
在cygwin介绍、安装及其使用一文中,安装cgywin里,是按照默认的安装包进行安装的。这有可能导致在进行某种操作时缺少某些命令或者工具包。比如下面的wget。不用着急,也不用卸载cygwin再重装它。我们可以对某个安装包进行安装。
双击cygwin安装文件:setup-x86.exe文件,在选择安装方式时,选择本地安装,如下左图所示:
然后指定好安装cygwin时下载的安装包路径。如上右图所示。
在选择安装包界面中,可以通过关键字来搜索我们要的安装包,以wget为例,如下图所示:
上图中,如果没有安装wget,New栏的状态则为skip,这时,可以点击它,把其改为install,然后下一步,就可以安装它了。上图中New栏状态为Keep,表示已安装了,Current栏表示当前安装的版本。
如果本地包中没有需要的工具,怎么办呢?简单,可以把安装方式选为在线安装就可以了。
如果你使用cygwin作为开发环境,上面介绍的方法是必须知道的技巧,当然,安装cygwin时你可以选择全安装,一次性把所有的cygwin包或者工具安装完成。但这会耗很大的硬盘空间,安装时间也会很漫长。
二、cgywin下安装eCos所必须的包
主要是:gcc4, libexpat1, libmpfr1, make, patch, sharutils, tcl, wget,详见:http://ecos.sourceware.org/cygwin.html
目前,采用在线安装cygwin并使用default安装包,上面的必须包都已经具备了。
三、cygwin下安装eCos
注:1). 打红色的为输入的命令或者添加的注释。2). 以下操作都是在cygwin的shell下进行的,敬请留意。
1. 在/opt目录下建立ecos目录,并修改其权限为最高:
Administrator@MICROSOF-6F30AF /opt
$ mkdir ecos
Administrator@MICROSOF-6F30AF /opt
$ chmod 777 -R ecos/
2. 进入/opt/ecos目录:
Administrator@MICROSOF-6F30AF /opt
$ cd ecos/
3. 下载ecos-install.tcl
Administrator@MICROSOF-6F30AF /opt/ecos
$ wget –passive-ftp ftp://ecos.sourceware.org/pub/ecos/ecos-install.tcl
–2013-08-30 22:38:51– ftp://ecos.sourceware.org/pub/ecos/ecos-install.tcl
=> “ecos-install.tcl”
正在解析主机 ecos.sourceware.org (ecos.sourceware.org)… 209.132.180.131
正在连接 ecos.sourceware.org (ecos.sourceware.org)|209.132.180.131|:21… 已连接。
正在以 anonymous 登录 … 登录成功!
==> SYST … 完成。 ==> PWD … 完成。
==> TYPE I … 完成。 ==> CWD (1) /pub/ecos … 完成。
==> SIZE ecos-install.tcl … 60197
==> PASV … 完成。 ==> RETR ecos-install.tcl … 完成。
长度:60197 (59K) (非正式数据)
100%[==========================================================>] 60,197 9.97K/s 用时 5.9s
2013-08-30 22:39:46 (9.97 KB/s) – “ecos-install.tcl” 已保存 [60197]
4. 执行ecos-install.tcl
Administrator@MICROSOF-6F30AF /opt/ecos
$ sh ecos-install.tcl
eCos installer v2.0.1 starting…
Written and maintained by Jonathan Larmour <jifl@eCosCentric.com>
Retrieving installer metadata information…
**************************************************
———————————————————
Available distribution sites:
[1] ftp://mirrors.kernel.org/sources.redhat.com/ecos
[2] http://mirrors.kernel.org/sources.redhat.com/ecos
[3] ftp://mirror.aarnet.edu.au/pub/sourceware/ecos
[4] http://mirror.aarnet.edu.au/pub/sourceware/ecos
[5] ftp://ftp.mirrorservice.org/sites/sources.redhat.com/pub/ecos
[6] http://www.mirrorservice.org/sites/sources.redhat.com/pub/ecos
[7] ftp://gd.tuwien.ac.at/opsys/ecos
[8] http://gd.tuwien.ac.at/opsys/ecos
[9] ftp://ftp.funet.fi/pub/mirrors/sources.redhat.com/pub/ecos
[10] ftp://ftp.gwdg.de/pub/misc/sources.redhat.com/ecos
[11] http://ftp.gwdg.de/pub/misc/sources.redhat.com/ecos
[12] ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/sources.redhat.com/ecos
[13] http://ftp-stud.fht-esslingen.de/pub/Mirrors/sources.redhat.com/ecos
[14] ftp://bo.mirror.garr.it/mirrors/sourceware.org/ecos
[15] http://bo.mirror.garr.it/mirrors/sourceware.org/ecos
[16] ftp://ftp.u-aizu.ac.jp/pub/gnu/cygnus/ecos
[17] ftp://ftp.chg.ru/pub/sourceware/ecos
[18] ftp://ftp.sun.ac.za/pub/mirrorsites/sourceware.org/pub/ecos
[19] http://ftp.sun.ac.za/ftp/pub/mirrorsites/sourceware.org/pub/ecos
[20] ftp://ftp.twaren.net/Unix/Sourceware/ecos
[21] http://ftp.twaren.net/Unix/Sourceware/ecos
[22] ftp://mirror.facebook.com/sourceware/ecos
[23] http://mirror.facebook.com/sourceware/ecos
[24] http://sources-redhat.mirrors.airband.net/ecos
[25] ftp://ecos.sourceware.org/pub/ecos
Please select a distribution site: 1 (输入1,选择镜像站点)
———————————————————
Please select a directory for installation
[Default /opt/ecos]: /opt/ecos (输入/opt/ecos,设定安装目录,默认是/opt/ecos)
———————————————————
Available prebuilt GNU tools:
[1] arm-eabi
[2] arm-elf (old)
[3] i386-elf
[4] m68k-elf
[5] mipsisa32-elf
[6] powerpc-eabi
[7] sh-elf
[q] Finish selecting GNU tools
(“*” indicates tools already selected)
Please select GNU tools to download and install: 1 (输入1,选择适当交叉编译器,本例选择arm-eabi)
[*] arm-eabi
[2] arm-elf (old)
[3] i386-elf
[4] m68k-elf
[5] mipsisa32-elf
[6] powerpc-eabi
[7] sh-elf
[q] Finish selecting GNU tools
(“*” indicates tools already selected)
Please select GNU tools to download and install: q (输入q,完成交叉编译器的选择)
Entering /opt/ecos
Retrieving GNU tools for arm-eabi
**************************************************
Retrieving eCos version 3.0
**************************************************
Downloads complete.
If you wish to disconnect from the internet you may do so now.
Unpacking ecoscentric-gnutools-arm-eabi-20081213-sw.cygwin.tar.bz2…
Unpacking ecos-3.0.cygwin.tar.bz2…
Generating /opt/ecos/ecosenv.sh
Generating /opt/ecos/ecosenv.csh
———————————————————
In future, to establish the correct environment for eCos,
run one of the following commands:
. /opt/ecos/ecosenv.sh (for sh/bash users); or
source /opt/ecos/ecosenv.csh (for csh/tcsh users)
It is recommended you append these commands to the end of your
shell startup files such as $HOME/.profile or $HOME/.login
———————————————————
Installation complete!
Administrator@MICROSOF-6F30AF /opt/ecos
$
cygwin的/opt/ecos目录下文件如下左图所示:
四、把交叉编译器路径添加到windows环境变量
安装eCos后,需要把交叉编译器路径添加到windows的环境变量中。如上右图所示。比如:e:\cygwin\opt\ecos\gnutools\arm-eabi\bin,其中e:\cygwin是cygwin的安装目录。
五、cygwin下更新eCos图形配置工具
默认安装的是3.0版本的eCos。但在当前最新的cygwin中,eCos-3.0带的图形配置工具不能正常使用。它会提示缺少tcl184.dll文件。具体原因详见:http://ecos.sourceware.org/ml/ecos-discuss/2012-04/msg00031.html
所以我们要下载一个新版本的图形配置工具:ecos-tools-bin-120425.cygwin。下载地址:ftp://ftp.u-aizu.ac.jp/pub/gnu/cygnus/ecos/anoncvs/,选择ecos-tools-bin-120425.cygwin.tar.bz2。
解压后,覆盖opt/ecos/ecos-3.0/tools/bin下的文件即可。
六、遇到的问题
1. 不能正常启动图形配置工具
运行图形配置工具,如下:
没有找到cygwin1.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。
解决方法:在window 我的电脑里面,把cgywin的安装路径添加系统环境变量。
2. 不能打开eCos源码仓库
打开configtool.exe,指定eCos源码仓库路径后,提示如下:
does not seem to be a source repository
这是因为指定的ecos仓库路径不合法原因导致的。具体原因不详,可能是路径过长或者含有中文字符等原因。我把ecos仓库路径指定到cygwin\opt\ecos\ecos-3.0就没有问题。
3. 图形配置工具中不能执行编译
使用windows下的图形配置工具进行编译,提示如下:
make -j2 –directory “/cygdrive/e/ecos_workspace/01_proj_ecos_stm32/source/build/2013.04.06/ecos/ecos_stm32f103xx_ram_build”
make: *** /cygdrive/e/ecos_workspace/01_proj_ecos_stm32/source/build/2013.04.06/ecos/ecos_stm32f103xx_ram_build: No such file or directory. Stop.
这个问题,暂时没有找到原因及解决办法。如果有知道恳请告诉我一下,在此谢过!
后记:
上面这个问题,是由于configtool中编译器路径设置不正确导致的。configtool中,Tools->Paths->Build Tools…, 在这里要填入正确的编译器路径,如下:
E:\cygwin\opt\ecos\gnutools\arm-eabi\bin
原先填入的是:E:\cygwin\opt\ecos\gnutools\arm-eabi,这样就导致了上述问题,这点大家注意下。
七、cygwin的编译速度
图形配置工具中虽不能编译,但在cygwin的命令行中可以编译。令人头痛的是,在cygwin下编译eCos,编译速度非常慢,有点令人难以忍受。不知道使用cygwin来编译程序的朋友有没有这种现象。欢迎有使用cgywin的朋友介绍下你们的编译速度如何。
你好 Please select a distribution site: 1 (输入1,选择镜像站点)这个地方现在站点1不可用了,我用的是站点2。现在安装好了,但是configtool在使用的时候找不到路径,一些配置都是按照你在之前的stm32的redboot的配置进行的
wget –passive-ftp ftp://sources.redhat.com/pub/ecos/ecos-install.tcl
换了一个ftp地址
谢谢