使用cygwin建立eCos開發環境(驗證通過)

轉至:http://velep.com/archives/750.html


本文主要介紹在cygwin中建立eCos開發環境。在開始之前,請先安裝好cygwin,參考本博文章:cygwin介紹、安裝及其使用的詳細說明。

eCos開發環境除了cygwin外,還可在linux進行eCos開發,linux的eCos開發環境搭建請參考本博文章:ubuntu9.10中安裝eCos並建立eCos開發環境。兩個eCos開發環境的搭建其實差不多,沒有本質區別。

一、cygwin中安裝新包

cygwin介紹、安裝及其使用一文中,安裝cgywin裏,是按照默認的安裝包進行安裝的。這有可能導致在進行某種操作時缺少某些命令或者工具包。比如下面的wget。不用着急,也不用卸載cygwin再重裝它。我們可以對某個安裝包進行安裝。

雙擊cygwin安裝文件:setup-x86.exe文件,在選擇安裝方式時,選擇本地安裝,如下左圖所示:

image

然後指定好安裝cygwin時下載的安裝包路徑。如上右圖所示。

在選擇安裝包界面中,可以通過關鍵字來搜索我們要的安裝包,以wget爲例,如下圖所示:

image

上圖中,如果沒有安裝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 <[email protected]>

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目錄下文件如下左圖所示:

imageimage

四、把交叉編譯器路徑添加到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. 不能正常啓動圖形配置工具

運行圖形配置工具,如下:

image

沒有找到cygwin1.dll,因此這個應用程序未能啓動。重新安裝應用程序可能會修復此問題。

解決方法:在window 我的電腦裏面,把cgywin的安裝路徑添加系統環境變量。

2. 不能打開eCos源碼倉庫

打開configtool.exe,指定eCos源碼倉庫路徑後,提示如下:

image

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的朋友介紹下你們的編譯速度如何。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章