SPARC V8 ( Sc a l a b l e Pr o c e s s o rArchitecture V8)是Sun Microsystems 提出的一種32位RISC微處理器結構,此結構的處理器具有指令系統簡(jiǎn)單、采用硬布線(xiàn)控制邏輯、處理能力強、速度快、可靠性高等特點(diǎn),基于這些特點(diǎn),SPARC結構處理器現在被廣泛地應用于UNIX工作站、服務(wù)器等穩定性要求很高的環(huán)境中。隨著(zhù)SPARC V8結構處理器越來(lái)越廣泛的應用,如何搭建此結構微處理器的軟件和硬件開(kāi)發(fā)環(huán)境是一個(gè)值得研究的課題,本文中詳細地闡述了開(kāi)發(fā)環(huán)境的硬件平臺設計方案和軟件集成開(kāi)發(fā)環(huán)境設計思路。 SPARC V8結構嵌入式微處理器的硬件開(kāi)發(fā)環(huán)境設計硬件開(kāi)發(fā)環(huán)境以微處理器為核心,根據其內部結構特點(diǎn)可將外圍電路分為BOOT ROM、PROGRAM ROM、SRAM、RS232 接口、復位電路、鍵盤(pán)接口和320*240液晶接口等部分,下面對硬件開(kāi)發(fā)板的幾個(gè)重要電路模塊進(jìn)行分析:RAM存儲器部分:SPARC V8結構微處理器的數據總線(xiàn)為32位,地址總線(xiàn)為28根,有4個(gè)RAM 通道,每個(gè)通道的最大尋址空間為256Mbyte,使用時(shí)需要根據外圍SRAM的容量在處理器寄存器相應位中設置每個(gè)通道容量大小,處理器根據不同的地址產(chǎn)生相應通道片選信號。本硬件開(kāi)發(fā)板根據實(shí)際的應用需求使用了RAM通道1和RAM通道2,每個(gè)RAM通道使用2片16位的SRAM用于存儲計算數據,使用1片用于存儲8位校驗碼數據PD0-PD7。 ROM存儲器部分: SPARC V8結構處理器具有2個(gè)ROM通道,每個(gè)通道的最大尋址空間同樣為256Mbyte,但每個(gè)通道的容量不需在Memory Register中設置,它的2個(gè)ROM通道的地址范圍被固定;谶@種特點(diǎn),本開(kāi)發(fā)板分別使用2個(gè)16位FLASH將ROM通道1作為存放引導系統啟動(dòng)程序的BOOT ROM,將通道2作為存儲操作系統和應用程序的PROGRAM ROM。顯示電路部分:液晶顯示器作為主要的I/O設備,采用320*240分辨率的LCD,使用SED1335控制器進(jìn)行顯示控制,并由MC34063電路產(chǎn)生負電源用于LCD對比度的調節。數據輸入部分:將標準的PS2鍵盤(pán)作為硬件開(kāi)發(fā)板的輸入設備,利用AT89C52單片機設計的鍵盤(pán)控制芯片對PS2鍵盤(pán)輸出數據進(jìn)行采集和處理,最終將處理后的鍵盤(pán)編碼數據傳送給微處理器。 根據上述的分析,硬件開(kāi)發(fā)板的原理框圖如圖1所示。硬件開(kāi)發(fā)板的如下圖所示 SPARC V8結構嵌入式微處理器的軟件集成開(kāi)發(fā)環(huán)境總體設計 一個(gè)好的設計應該是在參考已有優(yōu)秀系統的前提下,根據自身的特點(diǎn)和需求來(lái)定制的,這種設計思路在設計中已經(jīng)被廣泛使用。在設計軟件集成開(kāi)發(fā)環(huán)境時(shí)也是采用了這種方式,在參考了將操作系統、開(kāi)發(fā)工具、仿真工具和分析工具于一身的相應開(kāi)發(fā)環(huán)境之后,結合實(shí)際的設計要求和設計能力,將微處理器的軟件集成開(kāi)發(fā)環(huán)境分成如下幾個(gè)部分: ● 工程管理環(huán)境 ● 集成軟件開(kāi)發(fā)環(huán)境 ● 嵌入式系統調試環(huán)境 ● 嵌入式系統編譯環(huán)境 ● 軟件資源可配置環(huán)境 將軟件集成開(kāi)發(fā)環(huán)境分成三個(gè)層次,具體的功能如圖3所示: 軟件集成開(kāi)發(fā)環(huán)境的詳細設計 軟件集成開(kāi)發(fā)環(huán)境管理層設計 工程管理:一般的集成開(kāi)發(fā)環(huán)境如VC、VB等,這些開(kāi)發(fā)環(huán)境是針對桌面系統完成的,它的工程管理能力只限于文件級別管理,但嵌入式系統的功能管理則要求更高些,因為嵌入式系統開(kāi)發(fā)還涉及到目標系統的配置與管理,不同的工程是針對不同目標系統開(kāi)發(fā)出的,不同目標系統開(kāi)發(fā)的嵌入式軟件的很多屬性,例如編譯器屬性、輸出路徑、編譯環(huán)境路徑等都是不同的,在工程管理中都要提供給用戶(hù)可以修改這些工程屬性的能力,所以基于這些考慮,開(kāi)發(fā)環(huán)境的工程管理采用了工程文件的形式。集成環(huán)境配置:軟件集成開(kāi)發(fā)環(huán)境有很多的屬性,例如編輯框屬性、任務(wù)欄屬性、顯示的屬性、使用語(yǔ)言等等都要進(jìn)行設置,這就要求在軟件集成開(kāi)發(fā)環(huán)境中有這樣的選項,環(huán)境中應包括的編輯框、工程管理框、調試框、任務(wù)欄等一些可視控件的屬性都可以在這里進(jìn)行設置,如圖4所示。軟件開(kāi)發(fā)層設計軟件集成開(kāi)發(fā)環(huán)境設計是為了給系統開(kāi)發(fā)和系統驗證工程師提供一個(gè)有效的開(kāi)發(fā)和驗證工具平臺,為使設計者能夠快速、有效地開(kāi)發(fā)出嵌入式程序提供有效的支持,以提高嵌入式應用系統開(kāi)發(fā)效率。由于單板測試程序沒(méi)有操作系統的支持,它們運行的時(shí)候要有其它的支持庫支持才能運行,將支持庫封裝到集成開(kāi)發(fā)環(huán)境中,包括一些系統運行的頭文件,系統初始化文件和軟件運行的時(shí)候陷阱處理程序等,在開(kāi)發(fā)者開(kāi)發(fā)的時(shí)候就不用考慮這些問(wèn)題,而將注意力集中到軟件設計中去。 調試環(huán)境設計 調試方式一般從距離主機的位置可以分為:基于主機的調試、遠程調試兩種。前者調試是基于桌面系統的指令集模擬器,如ARM的SKYEYES、SPARC 的TSIM和ATI的MNT等。調試方法都是將編譯好的程序下載到模擬器上,在模擬器上運行程序,并在模擬器上對程序進(jìn)行調試,這樣調試的好處就是加快項目進(jìn)度和減少資金,缺點(diǎn)是在模擬器上可以運行的程序在實(shí)際的硬件中并不一定就能運行成功。后者是利用通訊某種通訊方式如網(wǎng)口、串口、JTAG口等連接上位機和目標機,利用在上位機的代理軟件和目標機上的monitor監控程序通過(guò)某種通訊協(xié)議來(lái)完成彼此之間的通訊,從而達到調試目的,這種調試方式是基于硬件本身的,得到的調試信息準確有效,所以本文中的軟件開(kāi)發(fā)環(huán)境就采用了這種遠程調試模式。在設計中,軟件開(kāi)發(fā)環(huán)境的調試任務(wù)通過(guò)第三方軟件來(lái)完成,此軟件包括:① Gdbtk--gdb調試軟件前端圖形界面(圖5);② Remotedebugging monitor ---gdb調試監控軟件工具。將這個(gè)調試環(huán)境整合到軟件集成開(kāi)發(fā)環(huán)境中,這樣用戶(hù)可以隨時(shí)調用調試工具,在其界面上進(jìn)行各種調試工作。在硬件開(kāi)發(fā)板的BOOT ROM中存放著(zhù)bootloader程序,此程序通過(guò)開(kāi)發(fā)板上的串口與上位機的串口調試軟件建立交互通道,完成程序下載、程序運行、顯示存儲器空間內容、執行monitor監控程序等操作。當我們運行了目標機上monitor監控程序后,這個(gè)程序在目標機上建立調試環(huán)境,當用戶(hù)運行調試環(huán)境調試自己的程序時(shí),monitor監控程序作為后臺程序運行在目標機上Monitor監控程序按照指定串行協(xié)議接收上位機發(fā)來(lái)的命令,做出相應處理之后,將收集的調試信息發(fā)回到上位機,最后顯示在調試界面上。整個(gè)過(guò)程可由圖7來(lái)表示。 編譯環(huán)境設計 在設計軟件集成開(kāi)發(fā)環(huán)境的編譯環(huán)境時(shí),采用Gnu提供的整套對SPARC處理器的編譯環(huán)境: ① binutils 二進(jìn)制文件處理工具binutils包主要包括了一些輔助開(kāi)發(fā)工具,如objdump反匯編器,readelf顯示elf文件、段信息,strip將不必要的代碼去掉以減少可執行文件的大小,這些工具主要用于開(kāi)發(fā)的初期,特別是在調試移植操作系統的時(shí)候。 ② GCC編譯器 gcc是gnu collection compiler的簡(jiǎn)稱(chēng),它可以編譯匯編、c、pascal、java等多種語(yǔ)言,而且還支持很多硬件開(kāi)發(fā)平臺,通過(guò)對gcc源碼的編譯,其可以成為交叉編譯工具。 ③ Glibc鏈接、運行庫 在集成編譯環(huán)境時(shí),使用內含編譯環(huán)境的方式,即將SPARC的編譯環(huán)境集成在集成開(kāi)發(fā)環(huán)境中,成為開(kāi)發(fā)環(huán)境的一部分的方式來(lái)完成的,可以在集成環(huán)境工程選項中進(jìn)行詳細配置,在集成環(huán)境中添加編譯器文件夾,用連接的方式將編譯環(huán)境鏈接到集成開(kāi)發(fā)環(huán)境中來(lái)。 結論 本文詳細地闡述了基于SPARC V8結構的高性能32位RISC嵌入式微處理器的軟、硬件集成開(kāi)發(fā)環(huán)境的設計思路,經(jīng)過(guò)實(shí)際工程應用證明系統運行良好,本文對指導類(lèi)似工程項目的研究有著(zhù)積極意義。 |