999国内精品永久免费视频,色偷偷9999www,亚洲国产成人爱av在线播放,6080亚洲人久久精品,欧美超高清xxxhd

首頁(yè) 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
中華工控網(wǎng)首頁(yè)
  P L C | 變頻器與傳動(dòng) | 傳感器 | 現(xiàn)場(chǎng)檢測(cè)儀表 | 工控軟件 | 人機(jī)界面 | 運(yùn)動(dòng)控制
  D C S | 工業(yè)以太網(wǎng) | 現(xiàn)場(chǎng)總線 | 顯示調(diào)節(jié)儀表 | 數(shù)據(jù)采集 | 數(shù)傳測(cè)控 | 工業(yè)安全
  電 源 | 嵌入式系統(tǒng) | PC based | 機(jī)柜箱體殼體 | 低壓電器 | 機(jī)器視覺(jué)
用自由軟件開發(fā)嵌入式應(yīng)用
中華工控網(wǎng)
收藏本文     查看收藏
傳統(tǒng)的嵌入式開發(fā)環(huán)境需要單片機(jī)的仿真器,包括C語(yǔ)言、匯編語(yǔ)言、調(diào)試工具等的集成開發(fā)環(huán)境IDE、實(shí)時(shí)操作系統(tǒng)等。仿真器恐怕要上萬(wàn)元,C編譯器或IDE也要幾萬(wàn)元,而實(shí)時(shí)操作系統(tǒng)則要上十萬(wàn)元乃至幾十萬(wàn)元。由于Flash技術(shù)的發(fā)展,特別是一些CPU可以用JTAG口在背景模式BDM(Background Debug Mode)下調(diào)試,故仿真器已可以省去。隨著BDM調(diào)試工具的標(biāo)準(zhǔn)化,BDM調(diào)試工具會(huì)變得越來(lái)越簡(jiǎn)單、越來(lái)越通用,一些BDM調(diào)試工具已經(jīng)簡(jiǎn)單到僅僅在PC機(jī)并行口和單片機(jī)的JTAG接口之間加一道5~3.3 V的緩沖,自制BDM調(diào)試工具變得越來(lái)越容易。軟件方面,Linux下的自由軟件GNU gcc可以完成幾乎所有知名CPU以及DSP的交叉C編譯和調(diào)試,故IDE可以省去。至于操作系統(tǒng),uClinux、RTLinux、μC/OS等源碼開放的、免費(fèi)的嵌入式操作系統(tǒng)也都性能穩(wěn)定可靠。因此,全部使用自由軟件開發(fā)嵌入式應(yīng)用無(wú)疑是一種不錯(cuò)的選擇。我們?cè)?2位MCU ColdFire上實(shí)現(xiàn)了上述全部開發(fā)過(guò)程。這一過(guò)程原則上也適合其它幾乎所有的32位嵌入式應(yīng)用系統(tǒng)的開發(fā)。作為范例,我們會(huì)將詳細(xì)的開發(fā)步驟在本刊的《學(xué)習(xí)園地》欄目中陸續(xù)刊登若干篇文章介紹給讀者,供嵌入式應(yīng)用開發(fā)工程師們學(xué)習(xí)參考。 </P><P> 1 提倡使用自由軟件開發(fā)嵌入式系統(tǒng) </P><P>   自由軟件有強(qiáng)大的網(wǎng)上技術(shù)支持是公認(rèn)的,不斷升級(jí)的新版本的推出表明了自由軟件強(qiáng)大的生命力。然而,使用自由軟件有一定的難度,首先要熟悉Linux的使用,學(xué)會(huì)看Linux下的幫助信息。然后是學(xué)會(huì)遇到問(wèn)題如何解決。向高手請(qǐng)教是解決問(wèn)題的辦法之一。在清華大學(xué),校園網(wǎng)中的BBS是研究生交流的極好方式。還有一個(gè)方法是在網(wǎng)上搜索,因?yàn)槟龅降膯?wèn)題其他人以前或許也遇到過(guò),解決辦法可能網(wǎng)上就有。再有一個(gè)辦法就是直接給作者發(fā)電子郵件。自由軟件有源碼、大多都有作者的Email 地址。我們體會(huì)使用Linux下的GNU gcc 等軟件的難點(diǎn)主要在使用環(huán)境的建立上,一旦使用環(huán)境建立起來(lái)了,僅僅是使用并不難。在國(guó)外,這部分工作有專門的系統(tǒng)管理員為你做好,而國(guó)內(nèi)這部分工作往往要自己做,故增加了Linux系統(tǒng)的使用難度。以GNU gcc 為例,根據(jù)我們的研究生的經(jīng)驗(yàn),建立并熟悉使用的過(guò)程大約需要2個(gè)月的時(shí)間。而熟悉一個(gè)買來(lái)的商業(yè)軟件也需要2周乃至1個(gè)月的時(shí)間。也就是說(shuō),買商業(yè)軟件可以節(jié)省1個(gè)月的時(shí)間。 </P><P>   使用自由軟件開發(fā)嵌入式應(yīng)用的意義決不僅限于經(jīng)濟(jì)上節(jié)省開支。學(xué)習(xí)使用Linux下自由軟件的過(guò)程,實(shí)際上是培養(yǎng)IT高手的過(guò)程。提倡使用自由軟件將造就一大批有共同語(yǔ)言的精英。自由軟件的推廣使用已經(jīng)迫使一些傳統(tǒng)的商業(yè)軟件降低了售價(jià)。前面提到若買商業(yè)軟件可以節(jié)省1個(gè)工程師1個(gè)月的時(shí)間,那么軟件的價(jià)格顯然應(yīng)該小于1個(gè)工程師的月收入。 由于勞動(dòng)力成本的差異,商業(yè)軟件在不同國(guó)家的價(jià)值也是不同的。實(shí)際上,軟件的成本很大一部分是在技術(shù)支持與服務(wù)上。技術(shù)支持本地化無(wú)疑會(huì)降低這一成本。軟件使用方法的培訓(xùn),包括自由軟件使用方法的培訓(xùn),社會(huì)上有不少收費(fèi)的培訓(xùn)班,既然能存在,就說(shuō)明是合理的,且價(jià)格也能被用戶接受?梢钥闯,自由軟件也是衡量商業(yè)軟件價(jià)值的一把尺子。 </P><P> 2 Linux開發(fā)環(huán)境的建立 </P><P>   一個(gè)人用Linux開發(fā)嵌入式應(yīng)用,可以在自己的PC機(jī)上裝一套Linux,例如,Red Hat Linux。可以使用Linux中的X windows(xterm)開若干個(gè)窗口用于編譯、下載、調(diào)試等;可以使用Linux中的emacs作文本編譯。Windows 中有的軟件在Linux 中幾乎都有。但由于多數(shù)人對(duì)Linux環(huán)境和Linux中的應(yīng)用程序不熟悉,寧愿用PC上基于Windows的操作系統(tǒng),此時(shí)可以在Windows環(huán)境下裝上Cygwin軟件。GNU中的Cygwin是在Windows下運(yùn)行Linux的自由軟件。但我們發(fā)現(xiàn),Cygwin的兼容性似乎不太好,在有的PC機(jī)上能裝得上,有的PC機(jī)上裝不上。Cygwin的安裝過(guò)程要兩三個(gè)小時(shí),有時(shí)裝到一半出現(xiàn)錯(cuò)誤很不好處理。據(jù)說(shuō)VMWare的Windows版本也可以在Windows環(huán)境下開出Linux的窗口,但VMWare不是自由軟件。 </P><P>   我們采用的辦法是用1臺(tái)PC機(jī)運(yùn)行Linux作為服務(wù)器。開發(fā)小組中每個(gè)成員都可以通過(guò)局域網(wǎng)用Telnet登錄到這臺(tái)Linux服務(wù)器上去,被開發(fā)的目標(biāo)板也掛在網(wǎng)上。在服務(wù)器的Linux環(huán)境下,用GNU gcc編譯生成目標(biāo)代碼,再用FTP傳回到自己的PC機(jī)上,然后通過(guò)串行口或網(wǎng)絡(luò)下載到目標(biāo)機(jī)上。BDM工具主要用于硬件調(diào)試。因?yàn)锽DM工具的支持軟件也是Linux下的自由軟件,故BDM工具只能接在Linux服務(wù)器的并口上。硬件調(diào)試完成后,可以把Debug程序?qū)懭隖lash,然后就不需要BDM工具了。 <BR> 檢驗(yàn)開發(fā)環(huán)境是否建立好了得有1塊目標(biāo)板。在開發(fā)環(huán)境建立起來(lái)之前,冒然設(shè)計(jì)自己的硬件,難度較大?梢杂蒙碳姨峁┑脑u(píng)估板作為目標(biāo)板先把開發(fā)環(huán)境建立起來(lái)。可以通過(guò)用GNU gcc 編譯uClinux 然后下載到目標(biāo)板上運(yùn)行的辦法來(lái)熟悉Linux下 GNU gcc的開發(fā)環(huán)境,檢驗(yàn)開發(fā)環(huán)境是否已建立好。如果是購(gòu)買第3方的硬件,則要特別小心。有些惡劣廠商的產(chǎn)品的確可以運(yùn)行uClinux, 但其是在軟件或硬件中做了些陷阱,使用戶只能用他的硬件。 </P><P>   圖1是Linux開發(fā)環(huán)境示意圖。 </P><P> <BR> 3 GNU gcc交叉編譯器 </P><P>   運(yùn)行于Linux操作系統(tǒng)下的自由軟件GNU gcc編譯器,不僅可以編譯Linux操作系統(tǒng)下運(yùn)行的應(yīng)用程序、編譯Linux本身,還可以作交叉編譯,編譯運(yùn)行于其它CPU上的程序?梢宰鹘徊婢幾g的CPU(或DSP)涵蓋了幾乎所有知名廠商的產(chǎn)品。用于嵌入式應(yīng)用的、眾所周知的CPU包括:Intel的i386、Intel960、AMD29K、ARM、M32、MIPS、M68K、ColdFare、PowerPC、68HC11/12、TI的TMS32等等。詳細(xì)列表可查看<img align=absmiddle src=pic/url.gif border=0><a target=_blank href=http://gcc.gnu.org/reading>http://gcc.gnu.org/reading<;/a>網(wǎng)站。 </P><P> GNU gcc編譯器是一套完整的交叉C編譯器,包括: <BR> ◇ C交叉編譯器 gcc; <BR> ◇ 交叉匯編工具 as; <BR> ◇ 反匯編工具 objdump; <BR> ◇ 連接工具 Ld; <BR> ◇ 調(diào)試工具 gbd。 </P><P>   可以用批處理文件 makefile 將上述工具組合成方便的命令行形式。makefile 是用bash語(yǔ)言寫的。bash語(yǔ)言是很像BASIC語(yǔ)言的一種命令解釋語(yǔ)言,范例可以從網(wǎng)上獲得。 </P><P> 4 嵌入式操作系統(tǒng)  </P><P>   嵌入式應(yīng)用中的操作系統(tǒng)多為實(shí)時(shí)操作系統(tǒng)。μC /OS是一個(gè)免費(fèi)的小實(shí)時(shí)操作系統(tǒng)內(nèi)核,內(nèi)核代碼僅幾K~十幾K。已有10年的應(yīng)用史,并已經(jīng)被移植到了幾乎所有的嵌入式應(yīng)用類CPU上。它的實(shí)時(shí)性、穩(wěn)定性已得到世人的公認(rèn)。由于μC/OS的商業(yè)價(jià)值,后來(lái)的μC /OS-II不再是免費(fèi)的,但仍是一個(gè)低價(jià)位的操作系統(tǒng)。帶有文件系統(tǒng)、功能更強(qiáng)的嵌入式操作系統(tǒng)有uCLinux,它的內(nèi)核需要至少512 KB存儲(chǔ)空間。面向各種不同的商業(yè)硬件平臺(tái)的、各種版本的uClinux的源碼在網(wǎng)上都可以找到。我們是從 uclinux.org上下載uClinux源代碼的。用GNU gcc編譯,通過(guò)編譯運(yùn)行uClinux熟悉了這一套開發(fā)環(huán)境。uClinux是一套很優(yōu)秀的自由軟件,很多掌上電腦都是基于uClinux開發(fā)的,今后PC機(jī)上有什么軟件,掌上電腦(例如以ARM為CPU的掌上電腦)上就會(huì)有什么軟件。這些軟件都可以是基于uClinux的。uClinux不是實(shí)時(shí)的,而自由軟件RTLinux是實(shí)時(shí)的。由于上述操作系統(tǒng)都是有源碼的,其硬件相關(guān)部分可以通過(guò)定義一些函數(shù)移植上去。有 Linux的開發(fā)環(huán)境,有GNU gcc的C交叉編譯器,有操作系統(tǒng)的源代碼,就可以自如地設(shè)計(jì)自己的應(yīng)用了。 </P><P>   經(jīng)典的uClinux下載地址為<img align=absmiddle src=pic/url.gif border=0><a target=_blank href=http://www.uclinux.org>http://www.uclinux.org<;/a>,但對(duì)于某些平臺(tái)(比如ARM),用GOOGLE搜索一下"uClinux+ARM"往往能找到比uClinux.org更好的網(wǎng)址。不過(guò)Coldfire還是推薦用<img align=absmiddle src=pic/url.gif border=0><a target=_blank href=http://www.uclinux.org/ports/coldfire/>http://www.uclinux.org/ports/coldfire/<;/a>,上面的版本是uClinux目前最主要的維護(hù)者Greg Ungerer(gerg@snapgear.com)開發(fā)的,是uClinux最原始、最規(guī)范的版本。 <BR> 我們用的是: </P><P> ◇ 內(nèi)核代碼 <BR> (<img align=absmiddle src=pic/url.gif border=0><a target=_blank href=http://www.uclinux.org/ports/coldfire/source.html>http://www.uclinux.org/ports/coldfire/source.html<;/a>上的Full Source Distribution) <BR> uClinux-dist-20020306.tar.gz </P><P> ◇ 交叉編譯器 <BR> (<img align=absmiddle src=pic/url.gif border=0><a target=_blank href=http://www.uclinux.org/ports/coldfire/source.html>http://www.uclinux.org/ports/coldfire/source.html<;/a>上的M68K/ColdFire Binary Tools (m68k-elf tool chain) ) <BR> m68k-elf-tools-20020218.tar.gz </P><P> 5 ColdFire 5307板的開發(fā)過(guò)程與經(jīng)驗(yàn) </P><P>   ColdFire是Motorola 在68K基礎(chǔ)上推出的新的32位嵌入式微處理器內(nèi)核,有51XX、52XX、53XX、54XX等4個(gè)系列。5307的運(yùn)算能力可達(dá)75MIPS。下面描述的開發(fā)過(guò)程也可以用于PowerPC、ARM等嵌入式應(yīng)用的開發(fā)。我們以ColdFire5307為核心設(shè)計(jì)了帶有16MB SDRAM、2MB Flash,10 M以太網(wǎng)接口的硬件平臺(tái),移植了Debug/Monitor駐留程序并通過(guò)BDM接口寫入到Flash中,編譯了uCLinux內(nèi)核并使uClinux運(yùn)行起來(lái)。我們移植了實(shí)時(shí)操作系統(tǒng)μC/OS-II;讦藽/OS-II,我們正在寫基于 μC/OS的TCP/IP協(xié)議棧。后續(xù)的文章中將詳細(xì)介紹我們的開發(fā)過(guò)程,讀者按照我們提供的步驟就可以自行開發(fā)產(chǎn)品。 </P><P>   以下,介紹如何搭建能運(yùn)行GNU gcc交叉C編譯的Linux平臺(tái)。 </P><P> 6 搭建Linux下開發(fā)ColdFire的軟件平臺(tái) </P><P> (1)安裝Linux <BR>   首先應(yīng)該安裝RedHat 6.2版本的Linux,因?yàn)閡Clinux的原作者使用的是RedHat6.2平臺(tái)。為了避免可能出現(xiàn)的不必要的麻煩,建議使用RedHat6.2平臺(tái)。 </P><P> (2)GNU gcc交叉編譯器的建立 <BR>   可以到<img align=absmiddle src=pic/url.gif border=0><a target=_blank href=http://www.uclinux.org/port/coldfire>http://www.uclinux.org/port/coldfire<;/a>下面下載最新的M68K/ColdFire的交叉編譯器。我們使用的是m68k-elf-tools-20010716.tar.gz,安裝命令是: <BR> tar xzf m68k-elf-tools-20010716.tar.gz <BR> 執(zhí)行后會(huì)把ColdFire的交叉編譯器安裝到/usr/local/目錄下面。其中/usr/local/bin目錄下是可執(zhí)行文件。 </P><P> (3)安裝調(diào)試工具BDM的驅(qū)動(dòng)(BDM Driver) <BR>   下載gdb-bdm-20010901.tar.gz 用下述命令解壓: <BR> tar xzf gdb-bdm-20010901.tar.gz <BR> 執(zhí)行后會(huì)新建gdb-bdm-20010901目錄,在該目錄下面運(yùn)行: <BR> ./local_script/build_it <BR> 然后到/gdb-bdm-20010901/driver/linux目錄下面運(yùn)行: <BR> make install <BR> 然后運(yùn)行: <BR> mknod /dev/bdmcf0 c 34 4 添加ColdFire系列CPU的BDM驅(qū)動(dòng)。 <BR> 在文件/etc/conf.modules添加: <BR> alias char-major-34 bdm <BR> 在文件/etc/rc.d/rc.local添加: <BR> /sbin/insmod bdm <BR> 再到/gdb-bdm-20010901/lib下面: <BR> make install </P><P> (4)測(cè)試BDM <BR> 到/gdb-bdm-20010901/test目錄下面: <BR> ./chk /dev/bdmcf0,可以測(cè)試BDM驅(qū)動(dòng)是否工作正常。 </P><P> (5)編譯GDB <BR> 下載gdb文件gdb-5.0.tar.gz,用下述命令解壓: <BR> tar xzf gdb-5.0.tar.gz <BR> 到生成的目錄gdb-5.0下面運(yùn)行: <BR> patch -p1 < /where/gdb-bdm-20010901/gdbPatches/gdb-5.0-patch <BR> where就是/gdb-bdm-20010901的目錄。 <BR> 然后運(yùn)行 <BR> ./configure --target=m68k-bdm-elf --prefix=/usr/local/ <BR> 再運(yùn)行 <BR> make <BR> 然后是 <BR> make install </P><P>   這樣,整個(gè)ColdFire的交叉編譯平臺(tái)和Debug平臺(tái)就建立完成了。接下來(lái)就可以編譯運(yùn)行在ColdFire系列CPU上的匯編C程序了。 </P><P>   我們希望,今后會(huì)有更多的朋友加入到用自由軟件開發(fā)嵌入式應(yīng)用的行列,有更多的人把他們的經(jīng)驗(yàn)?zāi)贸鰜?lái)共享。<BR>
 

狀 態(tài): 離線

公司簡(jiǎn)介
產(chǎn)品目錄

公司名稱: 中華工控網(wǎng)
聯(lián) 系 人: 客服中心
電  話: 0755-26546361
傳  真: 0755-26585268
地  址: 深圳市南山區(qū)創(chuàng)業(yè)路現(xiàn)代城華庭1棟6A
郵  編: 518054
主  頁(yè):
 
該廠商相關(guān)技術(shù)文摘:
智能儀器儀表的發(fā)展特點(diǎn)與前景分析
電動(dòng)機(jī)性能虛擬儀器測(cè)試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
視頻監(jiān)控護(hù)航高鐵安全運(yùn)營(yíng)
基于PLC,觸摸屏及變頻器對(duì)吹膜機(jī)的改造
永宏P(guān)LC應(yīng)用于自助圖書借還終端機(jī)
基于永宏P(guān)LC的GSM通訊原理及其應(yīng)用
改善汽車生態(tài)學(xué)、安全性和舒適性,四大測(cè)試分析是關(guān)鍵
改善汽車生態(tài)學(xué)、安全性和舒適性,四大測(cè)試分析是關(guān)鍵
數(shù)控技術(shù)的發(fā)展趨勢(shì)及產(chǎn)業(yè)化
數(shù)控技術(shù)發(fā)展戰(zhàn)略與發(fā)展途徑的思考
用Energid 的軟件進(jìn)行機(jī)器人的抓取和操作
如何借助RFID技術(shù)升級(jí)企業(yè)信息管理水平
更多文摘...
立即發(fā)送詢問(wèn)信息在線聯(lián)系該技術(shù)文摘廠商:
用戶名: 密碼: 免費(fèi)注冊(cè)為中華工控網(wǎng)會(huì)員
請(qǐng)留下您的有效聯(lián)系方式,以方便我們及時(shí)與您聯(lián)絡(luò)

關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 本站動(dòng)態(tài) | 友情鏈接 | 法律聲明 | 不良信息舉報(bào)
工控網(wǎng)客服熱線:0755-86369299
版權(quán)所有 中華工控網(wǎng) Copyright©2022 Gkong.com, All Rights Reserved