欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
cygwin中建立交叉編譯器的重要環(huán)節

這篇文章雖然說(shuō)的不是很詳細,但是我能找到的最詳細的關(guān)于CYGWIN的安裝文章了。


 在嵌入式系統中,由一個(gè)源文件變成最終可執行的二進(jìn)制文件,要經(jīng)過(guò)三個(gè)過(guò)程,即編譯,鏈接和重新定位,通過(guò)編譯或者匯編工具,將源代碼變成目標文件,由于目標文件往往不止一個(gè),所以還需要鏈接工具將它們鏈接成另外一個(gè)目標文件,可以稱(chēng)其為“可重定位程序”。結果定址工具,將“可重定位程序”變成最終可執行文件。
一般的嵌入式系統應用程序的開(kāi)發(fā),通常采用的是主從模式,通過(guò)串口或者網(wǎng)口,使目標機和宿主機相連接。通常來(lái)說(shuō),編譯器,連接器和定址器都是在宿主機上(一般是pc機,對于嵌入式開(kāi)發(fā)而言,還都是運行Linux操作系統的pc)運行的,而最終經(jīng)過(guò)編譯-鏈接-重新定位所得到的二進(jìn)制可執行文件卻都是在目標機上運行的,所以我們把這種編譯過(guò)程稱(chēng)為“交叉編譯”。
常規的開(kāi)發(fā)嵌入式系統的應用程序都是在Linuxpc上進(jìn)行開(kāi)發(fā),然而由于開(kāi)發(fā)者自身硬件條件受到限制或者是所應用的其他一些軟件的制約,不得不在windows下開(kāi)發(fā)的時(shí)候,就必須找到適合于自己目標硬件平臺的交叉編譯器。但是苦于目前網(wǎng)上討論在windows下開(kāi)發(fā)嵌入式系統應用程序的資料比較少,使許多象我這樣的初學(xué)者因找不到在windows下使用的編譯器而耽誤許多寶貴時(shí)間,課題遲遲不能進(jìn)展。
經(jīng)過(guò)5天的長(cháng)假和網(wǎng)上各路高手的指點(diǎn),現將在windows下生成交叉編譯器的大體步驟寫(xiě)出來(lái),供初學(xué)者參考,對于高手可能實(shí)在是小菜一碟,本文可能實(shí)屬班門(mén)弄斧之作^_^。
本文針對的目標機為s3c4510b,嵌入式操作系統為uClinux,宿主機為windows2000 professional PC。
因為要在windows下去開(kāi)發(fā)運行在嵌入式系統中的應用程序,首先要有一個(gè)能夠模擬linux/unix環(huán)境的軟件,推薦大家去下載安裝cygwin(對于選項不太了解的朋友,建議選擇全部安裝),它對于學(xué)習linux/unix操作環(huán)境,或者從unix到windows的應用程序移植,尤其是使用gnu工具在windows上進(jìn)行嵌入式系統開(kāi)發(fā),非常有用,好處多多 J。具體的用法大家可以去它的網(wǎng)站看看,E文不好的朋友,可以看看志祥版斑竹yansm大俠寫(xiě)的cygwin使用指南,對 cygwin有個(gè)大致的了解。(我想這也就足夠了吧J)。
   安裝后cygwin后,大家就可以到這個(gè)網(wǎng)站http://www.uclinux.org/pub/uClinux/uclinux-elf-tools/tools-20030314去下載最新的源碼包,(可以把所有的東東都下載下來(lái),這里面最重要的應該是build-uclinux-tools.sh這個(gè)腳本文件。)供后面制作交叉編譯器使用。
   在開(kāi)始之前,請大家打開(kāi)我們前面安裝的cygwin.bat在第一行后加入set CYGWIN=title ntea,這是因為cygwin 啟動(dòng)批處理文件要啟動(dòng)unix文件系統模擬。運行cygwin,在根目錄下輸入,cd bin
        mv sh.exe sh-original.exe
         ln –s bash.exe sh.exe
現在對cygwin的修改搞定。(有關(guān)修改問(wèn)題大家可以看那個(gè)腳本給出的一個(gè)文檔,www.uclinux.org/pub/uclinux/archive/8306.html,幫助很大,因為這個(gè)文檔對一些地方的修改做了非常詳細的描述,大家仔細看看,按著(zhù)進(jìn)行相應改動(dòng)就可以了,但是有些步驟因為由我們現在的patch就可以實(shí)現的,大家就可以不必修改,由補丁程序自動(dòng)完成。我在這里不詳細闡述,在下面,我只寫(xiě)其他沒(méi)有說(shuō)到的一些地方)開(kāi)始我們的建立交叉編譯器的重要環(huán)節啦!^_^
我用的是那個(gè)臺灣網(wǎng)站mac.os.nctu.edu.tw網(wǎng)站的uclinux-samsung-20020318.tar.gz,把它download到裝有cygwin的目錄下,進(jìn)行解壓,tar xvzfuclinux-samsung-20020318.tar.gz,就會(huì )自動(dòng)生成一個(gè)名為uClinux-Samsung的目錄,主要這個(gè)解包過(guò)程可能會(huì )出錯,但是沒(méi)關(guān)系,leave the error alone,不用管它的。(為了省事,我們還可以直接把在linuxpc上配置好的uclinux的內核考到cygwin下來(lái),否則你還需要在cygwin下對內核進(jìn)行配置)
那個(gè)我前面說(shuō)得非常重要的腳本文件中,對于一些變量(針對路徑定義的)我們應該根據自己軟件所在的具體位置進(jìn)行相應的修改,將CYGWIN那個(gè)變量前的#去掉。還有下面的一些非常主要的修改
.tar zxvf elf2flt-20030314.tar.gz
cd ..
  vi elf2flt-cygwin-020612.patch
  刪除除了elf.h外的patch項目
  patch -p0 <elf2flt-cygwin-020612.patch
tar zxvf gcc-2.95.3.tar.gz

  vi gcc-2.95.3/gcc/Makefile.in
  change:
   info: cpp.info gcc.info lang.info
  to:
   info: cpp.info lang.info

  tar zcvf gcc-2.95.3.tar.gz gcc-2.95.3
進(jìn)入uclibc/extra/gcc-uclibc刪掉gcc-uclibc.c的 #include <libgen.h>
打開(kāi) Makefile(該Makefile 也是在uclibc/extra/gcc-uclibc目錄下)
gcc-uClibc: gcc-uClibc.h gcc-uClibc.c
$(HOSTCC) $(HOSTCFLAGS) -Wl,-s gcc-uClibc.c -o $(TARGET_ARCH)-uclibc-gcc
在最后面加入 –liberty
在/usr/include/sys/reent.h 732到741行,除了# define _REENT _impure_ptr外,全部注釋掉
現在就可以運行腳本命令啦~~,經(jīng)過(guò)上面的改動(dòng)后,應該是沒(méi)有什么問(wèn)題了,整個(gè)build過(guò)程大約有5-6個(gè)小時(shí)吧,因為我在做的過(guò)程中曾經(jīng)遇到了好幾次錯誤,所以進(jìn)行了好幾次的continue。如果大家成功build,就會(huì )出現
--------------------------------------------------------
Build successful !
--------------------------------------------------------
的字樣,那么恭喜你,你已經(jīng)離成功只有一步之遙了
現在進(jìn)入/usr/local/arm-elf/bin,運行mv ld.exe ld
ok,now u have succeeded in building the cross compiler. Congratulations!
現在到/usr/local/bin下面是不是看到了企盼已久的arm-elf開(kāi)頭的各種工具^(guò)_^,用這些工具我們就可以在windows下像在linux中一樣開(kāi)發(fā)我們的用戶(hù)應用程序了。
   以上是我制做交叉編譯器時(shí)采用的方法,希望能夠對其他和我一樣剛入門(mén)的朋友一些幫助,在這個(gè)過(guò)程中,我得到了21IC論壇高手tpu的極大的幫助,沒(méi)有他也就沒(méi)有本文,在這里向tpu高手表示深深的感謝。 

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
arm-elf與arm-linux的區別
cygwin交叉編譯和gcc原生編譯生成物件互換可行性的簡(jiǎn)單分析
簡(jiǎn)單的hello應用實(shí)例
轉:GCC、ARM-LINUX-GCC、ARM-ELF-GCC淺析
在cygwin中安裝gcc編譯器
在Windows下使用gcc
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久