《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > SPARC V8結(jié)構(gòu)嵌入式微處理器開發(fā)環(huán)境的設(shè)計(jì)實(shí)現(xiàn)
SPARC V8結(jié)構(gòu)嵌入式微處理器開發(fā)環(huán)境的設(shè)計(jì)實(shí)現(xiàn)
摘要: 本文介紹了基于SPARCV8結(jié)構(gòu)的微處理器特點(diǎn)與性能,詳細(xì)闡述了微處理器的硬件開發(fā)環(huán)境設(shè)計(jì)方案與軟件開發(fā)環(huán)境的設(shè)計(jì)思路,,經(jīng)過實(shí)際工程應(yīng)用證明系統(tǒng)運(yùn)行良好,,本系統(tǒng)的設(shè)計(jì)方案對(duì)類似的設(shè)計(jì)工作有一定的指導(dǎo)意義。
Abstract:
Key words :

 SPARC V8 ( Sc a l a b l e Pr o c e s s o rArchitecture V8)是Sun Microsystems 提出的一種32位RISC微處理器結(jié)構(gòu),,此結(jié)構(gòu)的處理器具有指令系統(tǒng)簡單,、采用硬布線控制邏輯,、處理能力強(qiáng)、速度快,、可靠性高等特點(diǎn),,基于這些特點(diǎn),SPARC結(jié)構(gòu)處理器現(xiàn)在被廣泛地應(yīng)用于UNIX工作站,、服務(wù)器等穩(wěn)定性要求很高的環(huán)境中,。隨著SPARC V8結(jié)構(gòu)處理器越來越廣泛的應(yīng)用,如何搭建此結(jié)構(gòu)微處理器的軟件和硬件開發(fā)環(huán)境是一個(gè)值得研究的課題,,本文中詳細(xì)地闡述了開發(fā)環(huán)境的硬件平臺(tái)設(shè)計(jì)方案和軟件集成開發(fā)環(huán)境設(shè)計(jì)思路,。

  SPARC V8結(jié)構(gòu)嵌入式微處理器的硬件開發(fā)環(huán)境設(shè)計(jì)硬件開發(fā)環(huán)境以微處理器為核心,根據(jù)其內(nèi)部結(jié)構(gòu)特點(diǎn)可將外圍電路分為BOOT ROM,、PROGRAM ROM,、SRAM、RS232 接口,、復(fù)位電路,、鍵盤接口和320*240液晶接口等部分,下面對(duì)硬件開發(fā)板的幾個(gè)重要電路模塊進(jìn)行分析:RAM存儲(chǔ)器部分:SPARC V8結(jié)構(gòu)微處理器的數(shù)據(jù)總線為32位,,地址總線為28根,,有4個(gè)RAM 通道,每個(gè)通道的最大尋址空間為256Mbyte,,使用時(shí)需要根據(jù)外圍SRAM的容量在處理器寄存器相應(yīng)位中設(shè)置每個(gè)通道容量大小,,處理器根據(jù)不同的地址產(chǎn)生相應(yīng)通道片選信號(hào)。本硬件開發(fā)板根據(jù)實(shí)際的應(yīng)用需求使用了RAM通道1和RAM通道2,,每個(gè)RAM通道使用2片16位的SRAM用于存儲(chǔ)計(jì)算數(shù)據(jù),,使用1片用于存儲(chǔ)8位校驗(yàn)碼數(shù)據(jù)PD0-PD7。

  ROM存儲(chǔ)器部分: SPARC V8結(jié)構(gòu)處理器具有2個(gè)ROM通道,,每個(gè)通道的最大尋址空間同樣為256Mbyte,,但每個(gè)通道的容量不需在Memory Register中設(shè)置,它的2個(gè)ROM通道的地址范圍被固定,?;谶@種特點(diǎn),本開發(fā)板分別使用2個(gè)16位FLASH將ROM通道1作為存放引導(dǎo)系統(tǒng)啟動(dòng)程序的BOOT ROM,,將通道2作為存儲(chǔ)操作系統(tǒng)和應(yīng)用程序的PROGRAM ROM,。顯示電路部分:液晶顯示器作為主要的I/O設(shè)備,采用320*240分辨率的LCD,,使用SED1335控制器進(jìn)行顯示控制,,并由MC34063電路產(chǎn)生負(fù)電源用于LCD對(duì)比度的調(diào)節(jié)。數(shù)據(jù)輸入部分:將標(biāo)準(zhǔn)的PS2鍵盤作為硬件開發(fā)板的輸入設(shè)備,,利用AT89C52單片機(jī)設(shè)計(jì)的鍵盤控制芯片對(duì)PS2鍵盤輸出數(shù)據(jù)進(jìn)行采集和處理,,最終將處理后的鍵盤編碼數(shù)據(jù)傳送給微處理器,。

  根據(jù)上述的分析,硬件開發(fā)板的原理框圖如圖1所示,。硬件開發(fā)板的如下圖所示


SPARC V8結(jié)構(gòu)嵌入式微處理器的軟件集成開發(fā)環(huán)境總體設(shè)計(jì)

  一個(gè)好的設(shè)計(jì)應(yīng)該是在參考已有優(yōu)秀系統(tǒng)的前提下,,根據(jù)自身的特點(diǎn)和需求來定制的,這種設(shè)計(jì)思路在設(shè)計(jì)中已經(jīng)被廣泛使用,。在設(shè)計(jì)軟件集成開發(fā)環(huán)境時(shí)也是采用了這種方式,,在參考了將操作系統(tǒng)、開發(fā)工具,、仿真工具和分析工具于一身的相應(yīng)開發(fā)環(huán)境之后,,結(jié)合實(shí)際的設(shè)計(jì)要求和設(shè)計(jì)能力,將微處理器的軟件集成開發(fā)環(huán)境分成如下幾個(gè)部分:


        ● 工程管理環(huán)境

  ● 集成軟件開發(fā)環(huán)境

  ● 嵌入式系統(tǒng)調(diào)試環(huán)境

  ● 嵌入式系統(tǒng)編譯環(huán)境

  ● 軟件資源可配置環(huán)境

  將軟件集成開發(fā)環(huán)境分成三個(gè)層次,,具體的功能如圖3所示:

軟件集成開發(fā)環(huán)境的詳細(xì)設(shè)計(jì)

軟件集成開發(fā)環(huán)境管理層設(shè)計(jì)

  工程管理:一般的集成開發(fā)環(huán)境如VC,、VB等,這些開發(fā)環(huán)境是針對(duì)桌面系統(tǒng)完成的,,它的工程管理能力只限于文件級(jí)別管理,,但嵌入式系統(tǒng)的功能管理則要求更高些,因?yàn)榍度胧较到y(tǒng)開發(fā)還涉及到目標(biāo)系統(tǒng)的配置與管理,,不同的工程是針對(duì)不同目標(biāo)系統(tǒng)開發(fā)出的,不同目標(biāo)系統(tǒng)開發(fā)的嵌入式軟件的很多屬性,,例如編譯器屬性,、輸出路徑、編譯環(huán)境路徑等都是不同的,,在工程管理中都要提供給用戶可以修改這些工程屬性的能力,,所以基于這些考慮,開發(fā)環(huán)境的工程管理采用了工程文件的形式,。集成環(huán)境配置:軟件集成開發(fā)環(huán)境有很多的屬性,,例如編輯框?qū)傩浴⑷蝿?wù)欄屬性,、顯示的屬性,、使用語言等等都要進(jìn)行設(shè)置,這就要求在軟件集成開發(fā)環(huán)境中有這樣的選項(xiàng),,環(huán)境中應(yīng)包括的編輯框,、工程管理框、調(diào)試框,、任務(wù)欄等一些可視控件的屬性都可以在這里進(jìn)行設(shè)置,,如圖4所示。軟件開發(fā)層設(shè)計(jì)軟件集成開發(fā)環(huán)境設(shè)計(jì)是為了給系統(tǒng)開發(fā)和系統(tǒng)驗(yàn)證工程師提供一個(gè)有效的開發(fā)和驗(yàn)證工具平臺(tái),,為使設(shè)計(jì)者能夠快速,、有效地開發(fā)出嵌入式程序提供有效的支持,,以提高嵌入式應(yīng)用系統(tǒng)開發(fā)效率。由于單板測(cè)試程序沒有操作系統(tǒng)的支持,,它們運(yùn)行的時(shí)候要有其它的支持庫支持才能運(yùn)行,,將支持庫封裝到集成開發(fā)環(huán)境中,包括一些系統(tǒng)運(yùn)行的頭文件,,系統(tǒng)初始化文件和軟件運(yùn)行的時(shí)候陷阱處理程序等,,在開發(fā)者開發(fā)的時(shí)候就不用考慮這些問題,而將注意力集中到軟件設(shè)計(jì)中去,。


調(diào)試環(huán)境設(shè)計(jì)

  調(diào)試方式一般從距離主機(jī)的位置可以分為:基于主機(jī)的調(diào)試,、遠(yuǎn)程調(diào)試兩種。前者調(diào)試是基于桌面系統(tǒng)的指令集模擬器,,如ARM的SKYEYES,、SPARC 的TSIM和ATI的MNT等。調(diào)試方法都是將編譯好的程序下載到模擬器上,,在模擬器上運(yùn)行程序,,并在模擬器上對(duì)程序進(jìn)行調(diào)試,這樣調(diào)試的好處就是加快項(xiàng)目進(jìn)度和減少資金,,缺點(diǎn)是在模擬器上可以運(yùn)行的程序在實(shí)際的硬件中并不一定就能運(yùn)行成功,。后者是利用通訊某種通訊方式如網(wǎng)口、串口,、JTAG口等連接上位機(jī)和目標(biāo)機(jī),,利用在上位機(jī)的代理軟件和目標(biāo)機(jī)上的monitor監(jiān)控程序通過某種通訊協(xié)議來完成彼此之間的通訊,從而達(dá)到調(diào)試目的,,這種調(diào)試方式是基于硬件本身的,,得到的調(diào)試信息準(zhǔn)確有效,所以本文中的軟件開發(fā)環(huán)境就采用了這種遠(yuǎn)程調(diào)試模式,。在設(shè)計(jì)中,,軟件開發(fā)環(huán)境的調(diào)試任務(wù)通過第三方軟件來完成,此軟件包括:① Gdbtk--gdb調(diào)試軟件前端圖形界面(圖5);② Remotedebugging monitor ---gdb調(diào)試監(jiān)控軟件工具,。將這個(gè)調(diào)試環(huán)境整合到軟件集成開發(fā)環(huán)境中,,這樣用戶可以隨時(shí)調(diào)用調(diào)試工具,在其界面上進(jìn)行各種調(diào)試工作,。在硬件開發(fā)板的BOOT ROM中存放著bootloader程序,,此程序通過開發(fā)板上的串口與上位機(jī)的串口調(diào)試軟件建立交互通道,完成程序下載,、程序運(yùn)行,、顯示存儲(chǔ)器空間內(nèi)容、執(zhí)行monitor監(jiān)控程序等操作。當(dāng)我們運(yùn)行了目標(biāo)機(jī)上monitor監(jiān)控程序后,,這個(gè)程序在目標(biāo)機(jī)上建立調(diào)試環(huán)境,,當(dāng)用戶運(yùn)行調(diào)試環(huán)境調(diào)試自己的程序時(shí),monitor監(jiān)控程序作為后臺(tái)程序運(yùn)行在目標(biāo)機(jī)上Monitor監(jiān)控程序按照指定串行協(xié)議接收上位機(jī)發(fā)來的命令,,做出相應(yīng)處理之后,,將收集的調(diào)試信息發(fā)回到上位機(jī),最后顯示在調(diào)試界面上,。整個(gè)過程可由圖7來表示,。

 

編譯環(huán)境設(shè)計(jì)

  在設(shè)計(jì)軟件集成開發(fā)環(huán)境的編譯環(huán)境時(shí),采用Gnu提供的整套對(duì)SPARC處理器的編譯環(huán)境:

 ?、?binutils 二進(jìn)制文件處理工具binutils包主要包括了一些輔助開發(fā)工具,,如objdump反匯編器,readelf顯示elf文件,、段信息,,strip將不必要的代碼去掉以減少可執(zhí)行文件的大小,這些工具主要用于開發(fā)的初期,,特別是在調(diào)試移植操作系統(tǒng)的時(shí)候,。

  ② GCC編譯器

  gcc是gnu collection compiler的簡稱,,它可以編譯匯編,、c、pascal,、java等多種語言,,而且還支持很多硬件開發(fā)平臺(tái),通過對(duì)gcc源碼的編譯,,其可以成為交叉編譯工具。

 ?、?Glibc鏈接,、運(yùn)行庫

  在集成編譯環(huán)境時(shí),使用內(nèi)含編譯環(huán)境的方式,,即將SPARC的編譯環(huán)境集成在集成開發(fā)環(huán)境中,,成為開發(fā)環(huán)境的一部分的方式來完成的,可以在集成環(huán)境工程選項(xiàng)中進(jìn)行詳細(xì)配置,,在集成環(huán)境中添加編譯器文件夾,,用連接的方式將編譯環(huán)境鏈接到集成開發(fā)環(huán)境中來。

結(jié)論

  本文詳細(xì)地闡述了基于SPARC V8結(jié)構(gòu)的高性能32位RISC嵌入式微處理器的軟,、硬件集成開發(fā)環(huán)境的設(shè)計(jì)思路,,經(jīng)過實(shí)際工程應(yīng)用證明系統(tǒng)運(yùn)行良好,本文對(duì)指導(dǎo)類似工程項(xiàng)目的研究有著積極意義。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。