轉(zhuǎn)載-- 回顧我的 ecos 自學(xué)歷程(一)環(huán)境安裝篇
前言:
開(kāi)篇之季,我先說(shuō)一下我的ecos經(jīng)歷吧。每個(gè)人都有過(guò)初學(xué)者的經(jīng)歷,初學(xué)ecos的時(shí)候我問(wèn)了許多令網(wǎng)友老大啼笑皆非的問(wèn)題,不過(guò)還是感謝這位熱心的 老大哥幫忙我才逐步的了解了ecos,從初 學(xué)者變成了ecos的使用 者。從初學(xué)到使用也就是一共三個(gè)月的時(shí)間,三個(gè)月后我轉(zhuǎn)正了,也轉(zhuǎn)向了專功uclinux和linux的移植和驅(qū)動(dòng)的編寫,再也沒(méi)有很好的研究過(guò)ecos,直到最近幫同事移植ecos,才重新回顧了那段剛剛參加工作的歲月。
剛來(lái)公司的時(shí)候,我的第一個(gè)任務(wù)就是做ecos上面的網(wǎng)絡(luò)應(yīng)用,但是我只拿到了一塊板子,內(nèi)核什么的都沒(méi)有,怎么 做?剛來(lái)公司的時(shí)候情況比較特殊,其他的同事都沒(méi)有這方面的經(jīng)驗(yàn),而我們副理正好趕上生孩子,什么也沒(méi)給我留下,所以便開(kāi)始了ecos的郁悶之旅:),可以說(shuō)ecos完全是自學(xué)的。首先我google了一下什么叫ecos :),然后開(kāi)始查查有沒(méi)有好的論壇站點(diǎn),然后看看有什么樣的書可以要我 看。很可惜ecos在資料 方面一直都很欠缺。在網(wǎng)上找了個(gè)ecos方面的 老大,很可惜現(xiàn)在他已經(jīng)不怎么上網(wǎng)了,丟了聯(lián)系方式。就這樣我正式開(kāi)始了我的ecos學(xué)習(xí)!
我們副理給我的只有ecos2.0的代碼和編譯器arm-tools兩個(gè)文件,第一步肯定是要安裝了,很簡(jiǎn)單,那時(shí)候沒(méi)人教我自己很快就裝好了,哈哈!
第一步:cygwin安裝(下載here)
一個(gè)在windows平臺(tái)上運(yùn)行的unix模擬環(huán)境。具體的網(wǎng)上多的是就不解釋了,下載得到cygwin后就可以點(diǎn):setup.exe安裝了。
(1) 選擇需要的安裝文件的位置,一般我們 都本地安裝,因?yàn)橄螺dcygwin又 不費(fèi)事。下一步
(2) 提示用戶選擇安裝位置,隨便你選擇。Dos or unix?我一般都選unix,二者只是文件結(jié)尾的不同,前者/r/n結(jié)尾,后者是/n結(jié)尾。下一步
(3) 選擇你要安裝的cygwin包,我一般或者說(shuō)肯定選完全安裝,因?yàn)橐郧俺蕴澾^(guò),一通亂選到后來(lái)啥 都找不到了,還不如完全安裝呢,耗不了你多少空間,現(xiàn)在電子產(chǎn)品都便宜了,完全安裝后下一步。
(4) 開(kāi)始安裝了,要花不少時(shí)間,耐心的等 一會(huì),安裝完畢,一些ok,運(yùn)行一下 看看效果就可以了,畢竟你用的是ecos,好玩 的還在后頭呢!
第二步:安裝ecos源碼。http://ecos.sourceware.org/mirror.html
一般來(lái)說(shuō)我是把源碼放在ecos的home目錄下,不過(guò)有的時(shí)候我安裝cygwin找不到home這個(gè)目錄啊,所以放在哪都可以,只要再后來(lái)的環(huán)境變量路徑對(duì)了就可以 了,所以這步很簡(jiǎn)單,拷貝你源碼到cygwin的home或其他目錄下即可。
第三步:安裝交叉編譯工具
就是裝個(gè)編譯器了,我一般都是把a(bǔ)rm-tools拷貝到/usr/local/下面可能是我們公司的傳統(tǒng)問(wèn)題吧,所以我也這么做!
第四步:環(huán)境變量
該拷貝的都拷貝了,現(xiàn)在最重要的是設(shè)置環(huán)境變量了,我在剛開(kāi)始做的時(shí) 候,都沒(méi)有這一步啊,整的啥都找不到,configtool也找不到,只能輸入完全的路徑,笨啊!
后來(lái)終于晤透了,哈哈!
首先你要知道windows怎么設(shè)置環(huán)境變量了,我的電腦\屬性\高級(jí)\環(huán)境變量\,當(dāng)然這誰(shuí)都知道的,建立一個(gè)新變量,名字叫ECOS_REPOSITORY,值為你安裝的ecos源碼中的包的位置,如下:
C:\cygwin\home\ecos-2.0\packages
此外還要設(shè)置編譯器的 路徑和configtool的路徑,如下:
C:\cygwin\usr\local\arm-tools\arm-elf\bin; C:\cygwin\home\ecos-2.0\tools\bin添加到PATH系統(tǒng)變量的取值中。
以上幾步已經(jīng)是最簡(jiǎn)單的了,但是我還是發(fā)現(xiàn)有的網(wǎng)友在問(wèn)關(guān)于ecos的安裝不成功問(wèn)題,那么只要你按我以上說(shuō)的辦,應(yīng)該是沒(méi)有不成功的可 能了!
接下來(lái)我迫不及待的打開(kāi)cygwin,輸入configtool,出現(xiàn)了配置工具界面,哇!界面看起來(lái)還不錯(cuò),就是不知道怎么用,一通 亂點(diǎn)亂配后也不知道啥是啥!經(jīng)過(guò)網(wǎng)友老大的介紹我逐漸入門,知道了build下的templates和選擇配置包的類型。于是趕緊找了個(gè)386的模板,選了個(gè)默認(rèn)配置包,開(kāi)始build起來(lái),天吶一堆的錯(cuò)誤,呵呵,傻了,我的編譯器的arm的,于是乎找了個(gè)arm的模板選擇好了配置包,開(kāi)始編譯了起來(lái)。然后我還是搞不懂配置工具里 面的test菜單啊,build菜單啊都是干什么用的。也不知道我build出來(lái)的東東都放在哪里,怎么用?總之是一團(tuán)霧水??!
后來(lái)我明白了,build下的library是編譯生成庫(kù)用的,ecos不是和linux那樣生成內(nèi)核映像而生成的是庫(kù),然后你的應(yīng)用在去和他鏈接才生成可執(zhí)行 文件的,我還傻傻的在那找內(nèi)核映像呢。build下的test是測(cè)試用的,生成測(cè)試程序后,在run菜單里面點(diǎn)run test,會(huì)出現(xiàn)選擇窗,選擇你要進(jìn)行的測(cè)試,然后屬性里面設(shè)置和目標(biāo)機(jī)連結(jié)方式,串口還是網(wǎng)口,然后點(diǎn)ok,run就可以下載到你的板子上面了,不過(guò)這個(gè)是后話了,剛剛安裝完環(huán)境你就想下載程序測(cè)試,那只能說(shuō)異想 天開(kāi)了。
經(jīng)驗(yàn)總結(jié):
最近有不少網(wǎng)友 mail 我關(guān)于安裝錯(cuò)誤的問(wèn)題,我感到很驚訝,因?yàn)槲业陌惭b一直都很順利啊, 為什么有這樣的問(wèn)題呢,我覺(jué)得首先應(yīng)該正確的安裝 cygwin 最好完全安裝,其次就是正確的設(shè)置環(huán)境變量了。別的我只能說(shuō)沒(méi)有了, 或者我沒(méi)有碰上!
學(xué)習(xí) ecos 一定不要紙上談兵,要有塊開(kāi)發(fā)板,試著去移植,在 debug 中學(xué)習(xí)比你在學(xué)完后 debug 強(qiáng)的多的多。我一開(kāi)始關(guān)于 ecos 內(nèi)核什么的都沒(méi)有去了解,而是知道大致的移植方法后就開(kāi)始移植,如果 你有 linux 移植的基礎(chǔ),那么你將事半功倍了(我有)。
ecos官網(wǎng)網(wǎng)址
http://ecos.sourceware.org/