<nobr id="zkazv"></nobr>

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

      狀 態: 離線

      公司簡介
      產品目錄

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

      關于我們 | 聯系我們 | 廣告服務 | 本站動態 | 友情鏈接 | 法律聲明 | 不良信息舉報
      工控網客服熱線:0755-86369299
      版權所有 中華工控網 Copyright©2022 Gkong.com, All Rights Reserved

      主站蜘蛛池模板: 亚洲综合色网一区二区三区| 99精品国产兔费观看久久99| 在线精品国产成人综合| 国产成人午夜福利精品| 国产精品午夜福利精品| 亚洲欧洲av一区二区| 日本免费一区二区三区日本 | 纯肉高h啪动漫| 国产精品久久中文字幕| 国产福利酱国产一区二区| 97欧美精品系列一区二区| 国产亚洲AV电影院之毛片| 久久热精品视频在线视频| 国产学生裸体无遮挡免费| 四虎国产精品免费久久 | 亚洲精品人成网线在播放VA| 国产稚嫩高中生呻吟激情在线视频| 国产成人8X人网站视频| 国产美女直播亚洲一区色| 国产熟女丝袜av一二区| 神马久久亚洲一区 二区| 麻豆一区二区三区精品视频| 欧美日韩v| 纯肉高h啪动漫| 中文字幕在线日韩一区| 久久久无码精品国产一区| 亚洲av网一区天堂福利| 中国CHINA体内裑精亚洲日本| 蜜臀久久精品亚洲一区| 亚洲欧洲一区二区福利片| 亚洲国产精品黄在线观看| 午夜福利国产盗摄久久性| 亚洲欧美激情在线一区| 国产精品毛片av999999| 国产边摸边吃奶边叫做激情视频| 亚洲色一色噜一噜噜噜| 97欧美精品系列一区二区| 国产中文字幕精品免费| 国产色无码专区在线观看| 欧美人与禽2o2o性论交| 最新亚洲av日韩av二区|