轉至: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文件,在選擇安裝方式時,選擇本地安裝,如下左圖所示:
然後指定好安裝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 <[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目錄下文件如下左圖所示:
四、把交叉編譯器路徑添加到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的朋友介紹下你們的編譯速度如何。