新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > SPARC高性能處理器集成開發環境及其編譯器設計與實現

        SPARC高性能處理器集成開發環境及其編譯器設計與實現

        —— SPE-C集成開發環境實現了與SPARC處理器的無縫配合工作
        作者: 時間:2010-11-21 來源:電子產品世界 收藏

          引言

        本文引用地址:http://www.104case.com/article/114746.htm

          今天嵌入式系統開發不再局限于只能由相關應用領域的專家來完成,各種優秀(IDE)可大大降低工程人員的開發門檻[1],使嵌入式系統的開發變得相對簡單。目前,嵌入式系統開發使用的開發平臺多種多樣,從ARM公司的SDT到ADS,再到RVDS,以及風河公司的Tornado和其他公司提供的各種專用開發工具;這些IDE一般都是由文件管理器、、匯編器、鏈接器、調試器等組件和工具組成。在這些開發環境中,編譯程序起著核心作用,鏈接程序、調試程序、程序管理等工具直接依靠編譯程序所產生的結果工作,而且其它工具的構造也常常要用到編譯的原理、方法和技術,因此,IDE與是密不可分的。

          本文針對空間SPARC高性能處理器的IDE及其C進行研究,從而完成SPARC處理器的軟件開發環境的設計和實現。

          處理器體系構架

          空間SPARC高性能處理器是一款SPARC v8兼容[1-3]的高性能SoC(圖1),它在片上包含整數處理單元、浮點處理單元、獨立的指令和數據Cache、硬件乘法器和除法器等,具有支持PROM、SM、SDM和I/O映射空間訪問的外部存儲器控制器,并有軟件可控的省電工作模式,還有可實現PCI主機橋(Host bridge)和從屬橋(Guestbridge)功能的PCI控制器等,只要加上存儲器和與應用相關的外圍電路,就可以構成完整的單板計算機系統。

          

          好的IDE可以提供設計、仿真、驗證、分析、并行開發的能力,嵌入式系統IDE更是整合了各方資源于一身。由于系統設計的各個環節彼此之間是相互聯系的,設計的好壞要在仿真和驗證后才知道,仿真驗證的數據又可以反過來指導設計,所以單純的隔離設計并不一定合理,集成環境可使設計者和驗證者共享數據,彼此之間協同工作。

          總體設計

          SPARC嵌入式IDE能提供給系統開發工程師一個比較完備的、易用的開發工具(圖2),主要功能如下:應用程序開發,包括編輯、編譯;應用程序調試;軟件工程管理;軟件仿真環境;操作系統配置管理;集成環境配置管理。

          實現

          作為高性能控制SPARC高性能處理器的專用集成開發環境,設計實現了軟件開發環境SPE-C(圖3),使用C語言作為編程語言,運用SPARC V8平臺適用的BMSPARC編譯套件,能在本地Win32的環境下運行。它具備集成開發環境所有必要的功能,包括集成的源代碼編輯、工程管理、編譯調試、環境設置等功能,方便用戶基于SPARC v8兼容處理器的應用開發和程序調試。它還具有一般開發環境所具有的易用性和方便性。調試部分功能包括斷點、逐語句/過程運行、查看和修改寄存器/存儲器/片上寄存器、指令跟蹤等,實現了調用棧和變量的查看等。

          BMSPARC編譯器

          BMSPARC是基于GNU工具鏈并進行優化設計的一款編譯器套件。其中編譯器是將一種語言編譯成為另一種語言的計算機程序,該程序以源語言編寫的程序作為輸入,翻譯生成等價的目標語言程序。編譯器可分成只依賴于源語言的編譯器前端和只依賴于目標語言的編譯器后端兩大部分。前端主要對源代碼進行掃描、語法分析和語義分析,生成中間代碼;而后端主要是優化器和代碼生成器。在進行基于SPARC的嵌入式軟件系統開發之前,要先建立交叉編譯環境。目標機的交叉編譯環境是一個由編譯器、鏈接器和解釋器組成的綜合開發環境,主要由 binutils、gcc 和glibc 幾個部分組成。有時出于減小libc 庫大小的考慮,也可以用別的 c庫來代替 glibc,例如 uClibc、dietlibc和 newlib。建立一個交叉編譯工具鏈是一個復雜的過程,交叉編譯器的最終成功運行,取決于很多因素,包括:主機系統配置、GNU工具版本配合、參數配置、庫選擇等,一個成功的、穩定的交叉編譯環境是需要花費大量時間的,幸運的是現在針對很多處理器都有比較成熟和穩定的編譯配置。

        c語言相關文章:c語言教程



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 武功县| 江永县| 马鞍山市| 阿坝县| 繁昌县| 临桂县| 黄骅市| 云阳县| 北宁市| 罗源县| 耒阳市| 沐川县| 资阳市| 舟曲县| 德钦县| 沧源| 泽库县| 甘德县| 墨玉县| 宕昌县| 贵德县| 平邑县| 苏尼特右旗| 新巴尔虎左旗| 扎鲁特旗| 临汾市| 横山县| 保靖县| 迁安市| 屯昌县| 临西县| 鄂州市| 友谊县| 鹤山市| 扶风县| 垣曲县| 鸡东县| 瓦房店市| 内乡县| 大冶市| 平武县|