《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 解決方案 > 利用XPS工具快速生成Virtex FPGA的板支持包

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

2012-03-08
作者:Xilinx

        具有嵌入式處理器的 平臺 FPGA 為您提供前所未有的靈活性、集成度和高性能。目前,在單個可編程邏輯設備中開發極其復雜且高度定制化的嵌入式系統已成為可能。

        隨著芯片性能的不斷增加,如何使設計方法始終高效、多產,成為人們面臨的主要挑戰。嵌入式系統開發的關鍵活動之一是開發板支持包 (BSP)。利用 BSP,可以使嵌入式軟件應用程序成功地初始化,并與連接到處理器的硬件資源進行通信。典型的 BSP 組件包括引導代碼、設備驅動程序代碼和初始化代碼。

        創建 BSP 是一個冗長而繁復的過程,并且在微處理器復合體(處理器和相關的外設)每次有所變更時都得再次進行。對 FPGA 而言,迅速的設計循環加上平臺的靈活性,會使得管理 BSP 的任務更為艱巨(圖 1)。這一情況迫使人們尋找更有效地管理 BSP 的方法。

        本文將描述 Xilinx 提供的一種創新解決方案,它可以簡化 RTOS BSP 的創建和管理。我們選擇了 WindRiver VxWorks 流程來闡明這一概念,但其蘊含的技術是通用的,同樣適用于支持 Xilinx® 處理器的所有其他操作系統解決方案。

傳統嵌入式平臺

 

平臺 FPGA

 

 

 

OPB 仲裁器

低速外設

 

 

定制外設

PLB-OPB 橋接

 

 

不同于

 

PLB 仲裁器

 

 

 

存儲控制器

高速外設

 

固定外設

固定地址映射

固定 BSP

 

基于設計的外設

每個板都是獨特的定制產品

需要創建高效的定制 BSP

                                    圖 1 – 平臺 FPGA 靈活性要求軟件 BSP 生成過程具有高效率
Xilinx 設計流程和軟件 BSP 生成

        Xilinx 處理器的設計包含硬件平臺裝配流程和嵌入式軟件開發流程。這些流程都通過 Xilinx Platform Studio (XPS) 工具加以管理,該工具屬于 Xilinx 嵌入式開發套件 (EDK) 的一部分。

        設計通常始于在 XPS 中裝配與配置處理器及與其相連接的配件。定義好硬件平臺后,就可以配置系統的軟件參數了。

        Platform Studio 的一個主要特點是,它可以根據您對處理器、外設和嵌入式操作系統的選擇和配置來定制 BSP。系統通過硬件設計的疊代改變而發展,同時,BSP 隨著平臺而發展。

        自動生成的 BSP 可賦予嵌入式系統設計者以下能力: 

  •  自動創建與硬件設計完全匹配的 BSP
  • 使用預認證的組件消除 BSP 設計錯誤
  • 立即啟動應用軟件開發,增加設計者的產量

創建用于 WindRiver VxWorks 的 BSP

        Platform Studio 可生成用于 Xilinx Virtex™-II Pro 和 Virtex-4 FPGA 中的 PowerPC™ 405 處理器及其外設的定制 Tornado 2.0.x (VxWorks 5.4) 或 Tornado 2.2.x (VxWorks 5.5) BSP。生成的 BSP 包含系統必需的所有支持軟件,包括:引導代碼、設備驅動程序和 VxWorks 初始化。

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

  • 使用軟件設置對話框(見圖 2)選擇要為系統使用的操作系統。Platform Studio 用戶可選擇 vxworks5_4 或 vxworks5_5 作為其目標操作系統。
  • 選擇了操作系統后,可轉到資料庫/操作系統參數標簽(如圖 3 所示),根據定制硬件調整 Tornado BSP。您可以選擇系統中的任意 UART 器件作為標準 I/O 器件(標準輸入和標準輸出)。這將使該設備被用作 VxWorks 控制臺器件。
    您還可以選擇將哪些外設作為連接外設,將哪些器件緊密集成到 VxWorks 操作系統。例如,Xilinx 10/100 以太網 MAC 可以集成到 VxWorks 增強型網絡驅動(Enhanced Network Driver 即 END)接口。或者,不必將以太網器件連接到 END 接口,而從 VxWorks 應用程序直接訪問它。
  • 選擇“工具 > 生成資料庫”和 BSP 菜單選項,生成 Tornado BSP。生成的 BSP 與傳統的 Tornado BSP 相似,位于 ppc405_0/bsp_ppc405_0 下的 Platform Studio 項目目錄中(見圖 4)。  

    圖 2 – 設置選擇嵌入式操作系統

    圖 3 – 配置具體操作系統的參數

 

圖 4 – 生成的 BSP 目錄結構


        通過 Platform Studio 生成的 Tornado BSP 具有一個 Makefile 文件,如果希望使用 Diab 編譯器而不是 Gnu 編譯器,可在命令行修改此文件。

        Tornado BSP 完全獨立,并可以傳輸到其他目錄位置,如 BSP 的標準 Tornado 安裝目錄:target/config。

定制 BSP 詳細信息

        由 XPS 生成的用于 VxWorks 的 BSP 與大多數其他 Tornado BSP 相似,只是 Xilinx 設備驅動程序代碼的位置有所不同。與 Tornado 相關的現成的設備驅動程序代碼通常位于 Tornado 分布目錄的 target/src/drv 目錄中,而由 Platform Studio 自動生成的 BSP 的設備驅動器代碼位于 BSP 目錄本身中。

圖 5 – Tornado 2.x 項目:VxWorks 標簽

        基于 FPGA 的嵌入系統之動態特性是造成此微小差別的原因。因為基于 FPGA 的嵌入系統可以用新的或更改后的 IP 重新編程,設備驅動程序可以改變,因此就需要對設備驅動程序源文件進行更為動態的放置。表 4 為自動生成的 BSP 的目錄樹。Xilinx 設備驅動程序放置在 BSP 子目錄 ppc405_0_drv_csp/xsrc 中。

        Xilinx 設備驅動程序在 C 盤中執行并分布在數個源文件中,這點不同于傳統的、通常由單個 C header 和執行文件組成的 VxWorks 驅動程序。此外,對于設備驅動程序,既有獨立于操作系統的執行,又有可選的依賴于操作系統的執行。

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

        Xilinx 驅動程序源文件加入 VxWorks 映像構件的方式同其他 BSP 文件加入的方式相同。針對每個驅動程序,在 BSP 目錄中都有一個名為 ppc405_0_drv_.c 的文件。此文件包括針對給定設備的驅動程序源文件 (*.c),并自動由 BSP makefile 編譯。

        該過程與 VxWorks sysLib.c 針對 Wind River-supplied 驅動程序納入源文件的過程相似。Xilinx 驅動程序文件不像其余驅動程序一樣單純納入 sysLib.c 的原因,在于命名空間的沖突和可維護性問題。如果所有的 Xilinx 驅動程序文件都是單個編譯單元的一部分,那么靜態功能和數據就不再處于保密狀態了。這會對設備驅動程序產生限制,也會抵消其操作系統獨立性。

 

表 6 – Tornado 2.x 項目:文件標簽

與 Tornado IDE 集成

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

        Tornado 2.2.x 不僅支持 gnu 編譯器,還支持 diab 編譯器。Platform Studio 創建的 Tornado BSP 有一個 makefile,如果您想使用 diab 編譯器而不是 gnu 編譯器,則可以在命令行修改此 makefile。尋找稱為“工具”的生成變量,將值設置到“diab”而不是“gnu”。如果使用 Tornado Project 工具,項目最初創建時,可選擇所需的編譯器。

        文件 50ppc405_0.cdf 位于 BSP 目錄下,并在創建 BSP 的過程中加以更改。此文件將設備驅動程序融入了 Tornado IDE 菜單系統。驅動程序在“硬件 > 外圍設備”子文件夾處與 BSP 結合在一起。在其下面是單獨的設備驅動程序文件夾。圖 5 顯示一個帶有 Xilinx 設備驅動程序的菜單。

        Tornado Project Facility 的“文件”標簽也會顯示用來將 Xilinx 設備驅動程序與 Tornado 構建過程結合在一起的文件數量。這些文件由 Platform Studio 自動創建,您只需要知道其存在就行了。圖 6 顯示一個驅動程序構建文件的示例。

        一些常用設備與操作系統緊密結合,而其他設備可通過直接使用設備驅動程序從應用程序上訪問。與 VxWorks 緊密結合的設備驅動程序包括:

 

  • 10/100 以太網 MAC
  • 10/100 以太網 Lite MAC
  • 1 Gigabit 以太網 MAC 
  •  16550/16450 UART 
  •  UART Lite
  • 中斷控制器
  • System ACE™ 技術
  • PCIe

        所有其他設備及相關的設備驅動程序并未緊密集成到 VxWorks 接口,而只是與其松散集成。對這些設備的訪問可通過從用戶應用程序直接訪問相關設備驅動程序來進行。

結束語

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

        Xilinx 用戶一直非常認可 Platform Studio 及其與 VxWorks 5.4 and 5.5. 的集成。Xilinx 將對 Wind River 流程的開發予以不懈支持,此流程不久就會包括對 VxWorks 6.0 和 Workbench IDE 的支持。

        作者: Rick Moleres 軟件IP經理 rick.moleres@Xilinx.com

                      Milan Saini 技術行銷經理 milan.saini@Xilinx.com 賽靈思公司

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲国产精品久久久久秋霞不卡| 一区二区三区 在线观看视| 欧美日韩精品在线| 欧美国产视频一区二区| 久久亚洲高清| 久久久久九九视频| 久久国产一二区| 欧美有码在线视频| 欧美自拍偷拍午夜视频| 欧美一区2区三区4区公司二百| 亚洲一本大道在线| 亚洲一区二区三区在线视频| 亚洲午夜久久久久久久久电影网| 一区二区三区精品视频在线观看| 999在线观看精品免费不卡网站| 亚洲品质自拍| 日韩西西人体444www| 99re8这里有精品热视频免费| 亚洲免费观看高清完整版在线观看熊| 亚洲精品系列| 一区二区久久久久| 亚洲伊人网站| 欧美专区亚洲专区| 久久久综合网站| 男人天堂欧美日韩| 欧美精品电影| 欧美日韩一区二区免费在线观看| 欧美色道久久88综合亚洲精品| 欧美视频网址| 国产精品久久综合| 国模精品一区二区三区色天香| 激情成人av在线| 亚洲国内高清视频| 一区二区三区日韩| 午夜亚洲影视| 最新成人av网站| 亚洲无线视频| 欧美专区日韩专区| 女女同性精品视频| 欧美午夜精品理论片a级大开眼界 欧美午夜精品理论片a级按摩 | 午夜视频一区在线观看| 欧美一级精品大片| 久久视频在线免费观看| 欧美国产日产韩国视频| 欧美视频成人| 国产一区二区中文| 亚洲精品欧美在线| 亚洲欧美日韩专区| 最新国产の精品合集bt伙计| 亚洲一区在线观看免费观看电影高清| 欧美综合第一页| 欧美激情第9页| 国产欧美精品一区二区三区介绍 | 亚洲欧洲一区二区在线观看| 亚洲视频专区在线| 久久国产精品久久精品国产 | 国产精品五区| 亚洲国产清纯| 亚洲欧美国产高清va在线播| 亚洲国产视频a| 午夜国产欧美理论在线播放| 老司机午夜精品视频| 欧美性猛交xxxx乱大交蜜桃 | 免费观看成人鲁鲁鲁鲁鲁视频| 欧美日韩免费一区二区三区| 国产一区二区精品久久| 日韩香蕉视频| 亚洲国产成人91精品| 亚洲制服av| 欧美国产日韩xxxxx| 国产欧美一区二区精品性色| 亚洲欧洲午夜| 久久精品国产亚洲a| 亚洲自拍偷拍一区| 欧美国产亚洲视频| 国产性做久久久久久| 日韩视频在线免费观看| 久久精品二区亚洲w码| 亚洲欧美激情一区二区| 欧美高清视频一区| 国产一区二区欧美| 亚洲视频你懂的| 亚洲免费成人| 麻豆精品网站| 国产午夜精品在线| 宅男噜噜噜66一区二区66| 亚洲精品国产精品乱码不99按摩| 久久精品在线视频| 国产精品激情偷乱一区二区∴| 亚洲黄色免费电影| 亚洲第一中文字幕在线观看| 欧美亚洲一级| 欧美视频在线观看免费| 亚洲激情女人| 91久久精品国产91久久性色tv| 久久国产主播| 国产精自产拍久久久久久| 日韩午夜在线观看视频| 亚洲乱亚洲高清| 免费观看日韩av| 欲色影视综合吧| 欧美一区二区三区另类| 亚洲欧美综合国产精品一区| 欧美视频成人| 一区二区三区视频观看| 一本色道久久综合亚洲精品高清| 欧美jjzz| 亚洲高清不卡一区| 91久久在线观看| 欧美成人一区在线| 亚洲第一免费播放区| 亚洲国产精品久久久久秋霞不卡| 久久精品国语| 国产亚洲一区在线| 性欧美1819性猛交| 久久久久久久久久久久久女国产乱 | 在线成人免费视频| 亚洲高清电影| 久久一区亚洲| 1000部精品久久久久久久久| 亚洲激情综合| 欧美另类极品videosbest最新版本| 亚洲国产欧美一区| 亚洲毛片在线看| 欧美理论片在线观看| 亚洲免费高清视频| 亚洲午夜av在线| 国产精品久久波多野结衣| 亚洲香蕉伊综合在人在线视看| 午夜天堂精品久久久久| 国产日韩在线播放| 久久成人精品视频| 裸体丰满少妇做受久久99精品| 极品尤物av久久免费看| 91久久久在线| 欧美日韩一区二区三区在线观看免 | 久久精品91久久香蕉加勒比 | 亚洲一区二区三区高清| 欧美一二三区精品| 国产婷婷色一区二区三区四区| 久久精品国产精品亚洲精品| 美日韩精品免费| 亚洲理论电影网| 亚洲欧美中文在线视频| 国产亚洲免费的视频看| 91久久久一线二线三线品牌| 欧美日韩另类国产亚洲欧美一级| 一区二区三区四区国产| 欧美伊人久久久久久久久影院 | 亚洲国产成人精品久久久国产成人一区| 狼人天天伊人久久| 亚洲精选中文字幕| 欧美永久精品| 亚洲第一在线| 中文国产一区| 国产亚洲欧美一区二区| 亚洲欧洲精品一区二区| 欧美日韩在线不卡| 欧美在线播放一区| 欧美精品二区三区四区免费看视频| 在线视频免费在线观看一区二区| 久久大综合网| 最新69国产成人精品视频免费| 国产精品99久久久久久www| 国产日韩欧美不卡| 亚洲理伦在线| 国产情侣一区| 一区二区三区四区五区精品视频| 国产精品亚洲一区| 亚洲日产国产精品| 国产精品专区一| 亚洲精品在线视频| 国产九色精品成人porny| 亚洲欧洲午夜| 国产精品一区视频网站| 亚洲精品乱码久久久久| 国产精品亚洲综合色区韩国| 亚洲第一区在线观看| 国产精品www.| 91久久夜色精品国产九色| 国产精品欧美日韩一区二区| 亚洲第一伊人| 国产精品丝袜xxxxxxx| 亚洲精品韩国| 国产亚洲精品美女| 在线视频欧美日韩精品| 激情亚洲网站| 欧美一区久久| 一区二区三区国产在线| 免费欧美日韩国产三级电影| 亚洲女ⅴideoshd黑人| 欧美精品在线播放| 久久高清福利视频| 国产精品视频福利| 一本色道婷婷久久欧美| 精品福利免费观看| 欧美在线视频观看| 一区二区三区欧美激情| 欧美精品福利视频| 亚洲高清不卡av|