利用XPS工具快速生成Virtex FPGA的板級支持包

發(fā)布時(shí)間:2010-3-18 18:03    發(fā)布者:嵌入式公社
關(guān)鍵詞: FPGA , Virtex , XPS , 工具
具有嵌入式處理器的平臺FPGA提供很大的靈活性、集成度和高性能。目前,在單個(gè)可編程邏輯器件中開(kāi)發(fā)極其復雜且高度定制化的嵌入式系統已成為可能。隨著(zhù)芯片性能的不斷增加,如何使設計方法始終高效、多產(chǎn),成為人們面臨的主要挑戰。嵌入式系統開(kāi)發(fā)的關(guān)鍵活動(dòng)之一是板級支持包(BSP)。利用BSP,可以使嵌入式軟件應用程序成功地初始化,并與連接到處理器的硬件資源進(jìn)行通信。典型的BSP組件包括引導代碼、器件驅動(dòng)程序代碼和初始化代碼。

創(chuàng )建BSP是一個(gè)冗長(cháng)而繁復的過(guò)程,并且每當微處理器與處理器和相關(guān)的外設的組合有所變更時(shí)都得再次創(chuàng )建。對FPGA而言,短的設計周期加上平臺的靈活性,會(huì )使得管理BSP的任務(wù)更為艱巨(圖1)。這就迫使人們尋找更有效地管理BSP的方法。

設計流程和軟件BSP生成

賽靈思處理器的設計包含硬件平臺集結流程和嵌入式軟件開(kāi)發(fā)流程。這些流程都通過(guò)XPS(Xilinx Platform Studio)工具加以管理,該工具屬于賽靈思嵌入式開(kāi)發(fā)套件(EDK)的一部分。

設計通常始于在XPS中集結與配置處理器及與其相連接的器件。定義好硬件平臺后,就可以配置系統的軟件參數了。XPS的一個(gè)主要特點(diǎn)是,它可以根據你對處理器、外設和嵌入式操作系統的選擇和配置來(lái)定制BSP。系統通過(guò)硬件設計的迭代改變而發(fā)展,同時(shí)BSP隨著(zhù)平臺而發(fā)展。

自動(dòng)生成的BSP可賦予嵌入式系統設計者以下能力:自動(dòng)創(chuàng )建與硬件設計完全匹配的BSP;使用預認證的組件消除BSP設計錯誤;立即啟動(dòng)應用軟件開(kāi)發(fā),提高設計者的效率。

創(chuàng )建用于VxWorks的BSP

XPS可生成用于賽靈思Virtex-II Pro和Virtex-4 FPGA中的PowerPC 405處理器及其外設的定制Tornado 2.0.x(VxWorks5.4)或Tornado 2.2.x(VxWorks5.5)BSP。生成的BSP包含系統必需的所有支持軟件,包括引導代碼、器件驅動(dòng)程序和VxWorks初始化。


圖1:平臺FPGA靈活性要求軟件BSP產(chǎn)生過(guò)程更高效

在XPS定義完具有PowerPC 405處理器的硬件系統后,只需遵循以下三個(gè)步驟即可生成用于VxWorks的BSP:

1. 使用軟件設置對話(huà)框選擇要為系統使用的操作系統。XPS用戶(hù)可選擇VxWorks5.4或VxWorks5.5作為其目標操作系統。

2. 選擇了操作系統后,可轉到資料庫/操作系統參數標簽,根據定制硬件調整Tornado BSP。你可以選擇系統中的任意UART器件作為標準I/O器件(標準輸入和標準輸出)。這將使該器件被用作VxWorks控制器件。

你還可以選擇將哪些外設作為連接外設,將哪些器件緊密集成到VxWorks操作系統。例如,賽靈思10/100以太網(wǎng)MAC可以集成到VxWorks增強型網(wǎng)絡(luò )驅動(dòng)程序(END)接口;蛘卟槐貙⒁蕴W(wǎng)器件連接到END接口,而從VxWorks應用程序直接訪(fǎng)問(wèn)它。

3. 選擇“工具>生成庫”和BSP菜單選項,生成Tornado BSP。生成的BSP與傳統的Tornado BSP相似,位于ppc405_0/bsp_ppc405_0下的“Platform Studio”目錄中(見(jiàn)圖2)。注意ppc405_0為硬件設計中PowerPC 405處理器的實(shí)例名。XPS用戶(hù)可指定其它實(shí)例名,此時(shí)BSP的子目錄名稱(chēng)會(huì )匹配處理器實(shí)例名。


圖2:生成的BSP目錄結構

通過(guò)XPS生成的Tornado BSP具有一個(gè)“Makefile”文件,如果希望使用Diab編譯器而不是Gnu編譯器,可在命令行修改此文件。

Tornado BSP是完全獨立的,并可以轉移到其它目錄位置,如BSP的標準Tornado安裝目錄:target/config。

定制BSP

由XPS生成的用于VxWorks的BSP與大多數其它Tornado BSP相似,只是賽靈思器件驅動(dòng)程序代碼的位置有所不同。與Tornado相關(guān)的現成器件驅動(dòng)程序代碼通常位于Tornado分布目錄的 target/src/drv目錄中,而由XPS自動(dòng)生成的BSP的器件驅動(dòng)程序代碼位于BSP目錄本身中。

基于FPGA的嵌入系統之動(dòng)態(tài)特性是造成此微小差別的原因。因為基于FPGA的嵌入系統可以用新的或更改后的IP重新編程,器件驅動(dòng)程序可以改變,因此就需要對器件驅動(dòng)程序源文件進(jìn)行更為動(dòng)態(tài)的放置。圖2為自動(dòng)生成的BSP目錄樹(shù),賽靈思器件驅動(dòng)程序放置在BSP子目錄ppc405_0_drv_csp/xsrc中。

賽靈思器件驅動(dòng)程序在C盤(pán)中執行并分布在數個(gè)源文件中,這點(diǎn)不同于傳統的、通常由單個(gè)C頭文件和執行文件組成的VxWorks驅動(dòng)程序。此外,對于器件驅動(dòng)程序,既有獨立于操作系統的執行,又有可選的依賴(lài)于操作系統的執行。

驅動(dòng)程序的操作系??立部分應同任何操作系統或處理器一起使用。它提供了一種應用程序接口(API),能提取基礎硬件的功能。驅動(dòng)程序的操作系統附屬部分對驅動(dòng)程序進(jìn)行調整,使其得以在VxWorks之類(lèi)的操作系統下使用,例如串行端口使用的Serial IO驅動(dòng)程序和以太網(wǎng)控制器使用的END驅動(dòng)程序。只有能被緊密集成到標準操作系統接口的驅動(dòng)程序才要求操作系統附屬驅動(dòng)程序。

賽靈思驅動(dòng)程序源文件加入VxWorks映像構件的方式同其它BSP文件加入的方式相同。針對每個(gè)驅動(dòng)程序,在BSP目錄中都有一個(gè)名為 ppc405_0_drv_.c的文件。此文件包括針對給定器件的驅動(dòng)程序源文件(*.c),并自動(dòng)由BSP makefile編譯。

該過(guò)程與VxWorks sysLib.c針對風(fēng)河系統(Wind River)提供的驅動(dòng)程序納入源文件的過(guò)程相似。賽靈思驅動(dòng)程序文件不像其余驅動(dòng)程序一樣單純納入sysLib.c的原因,在于命名空間的沖突和可維護性問(wèn)題。如果所有的賽靈思驅動(dòng)程序文件都是單個(gè)編譯單元的一部分,那么靜態(tài)功能和數據就不再處于保密狀態(tài)了。這會(huì )對器件驅動(dòng)程序產(chǎn)生限制,也會(huì )抵消其操作系??立性。

與Tornado IDE集成

自動(dòng)生成的BSP被集成到 Tornado IDE。BSP可從命令行使用“Tornado make”工具編譯,或從“Tornado Project”編譯。生成BSP后,只需在命令行鍵入“make VxWorks”來(lái)編譯可啟動(dòng)的RAM映像。這是假定此前已設置了Tornado環(huán)境(此設置可以在Windows操作平臺上在命令行使用 host/x86-win32/bin/torVars.bat來(lái)完成)。如果你使用的是“Tornado Project”器件,可以在新生成的BSP的基礎上創(chuàng )建一個(gè)項目,然后使用通過(guò)IDE提供的構件環(huán)境編譯此BSP。

Tornado 2.2.x不僅支持Gnu編譯器,還支持Diab編譯器。XPS創(chuàng )建的Tornado BSP有一個(gè)“Makefile”,如果你想使用Diab編譯器而不是Gnu編譯器,則可以在命令行修改此“Makefile”。尋找稱(chēng)為“工具”的生成變量,將值設置到Diab而不是Gnu。如果使用“Tornado Project”工具,項目最初創(chuàng )建時(shí)可選擇所需的編譯器。

文件“50ppc405_0.cdf”位于BSP目錄下,并在創(chuàng )建BSP的過(guò)程中加以更改。此文件將器件驅動(dòng)程序融入了Tornado IDE菜單系統。驅動(dòng)程序在“硬件>外圍器件”子文件夾處與BSP結合在一起。在其下面是單獨的器件驅動(dòng)程序文件夾。

“Tornado Project Facility”的“文件”標簽也會(huì )顯示用來(lái)將賽靈思器件驅動(dòng)程序與Tornado構建過(guò)程結合在一起的文件數量。這些文件由XPS自動(dòng)創(chuàng )建,你只需要知道其存在就行。

一些常用器件與操作系統緊密結合,而其它器件可通過(guò)直接使用器件驅動(dòng)程序從應用程序??問(wèn)。與 VxWorks緊密結合的器件驅動(dòng)程序包括:10/100以太網(wǎng)MAC;10/100以太網(wǎng)Lite MAC;1Gb以太網(wǎng)MAC;16550/16?50 UART;UART Lite;中斷控制器;System ACE技術(shù);PCIe。

所有其它器件及相關(guān)的器件驅動(dòng)程序并未緊密集成到VxWorks接口,而只是與其松散集成。對這些器件的訪(fǎng)問(wèn)可通過(guò)從用戶(hù)應用程序直接訪(fǎng)問(wèn)相關(guān)器件驅動(dòng)程序來(lái)進(jìn)行。

本文小結

隨著(zhù)基于嵌入式處理器的FPGA日益受人喜愛(ài)并得到廣泛應用,能將硬件和軟件流程有效組織在一起的工具解決方案應運而生,對幫助設計者工作效率跟上芯片的進(jìn)展起到了關(guān)鍵作用。

賽靈思用戶(hù)一直非常認可XPS及其與VxWorks 5.4和5.5的集成。賽靈思將對Wind River流程的開(kāi)發(fā)予以不懈支持,此流程不久就會(huì )包括對VxWorks 6.0和Workbench IDE的支持。

作者:賽靈思公司 軟件IP經(jīng)理Rick Moleres (rick.moleres@Xilinx.com),技術(shù)行銷(xiāo)經(jīng)理Milan Saini (milan.saini@Xilinx.com)
本文地址:http://selenalain.com/thread-9567-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页