《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 解決方案 > 利用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。
主站蜘蛛池模板: 欧美无遮挡一区二区三区 | 久久作爱视频 | 精品福利视频网站 | 98色花堂永久地址国产精品 | 晚上看的www视频高清免费动漫 | 色综合综合色 | 99福利视频导航 | 国产高清吹潮免费视频 | 精品在线免费视频 | 激情5月婷婷| 奇米第四色视频 | 一级毛片免费播放 | 米奇精品一区二区三区 | 亚洲国产精品婷婷久久 | 99久久国产免费中文无字幕 | 国产欧美va欧美va香蕉在 | 激情4p | 国产中文字幕久久 | 99久久久国产精品免费播放器 | 国产精品一区二区久久 | 四虎影视在线播放 | 热久在线 | 午夜电影在线观看国产1区 午夜电影网国产中文亚洲 午夜成人影视 | 久久久这里有精品 | a级毛片免费观看视频 | 久久精品成人免费网站 | 精品久久不卡 | www.成年人视频 | 玖玖国产精品 | 欧美日韩国产在线人 | 婷婷色吧| 高清国产精品久久 | 久草国产精品 | 美日韩免费视频 | 狠狠色婷婷综合天天久久丁香 | 久久免费视频精品 | 久久免费公开视频 | 99久久精品国产一区二区三区 | 欧美亚洲国产精品久久 | 久久97精品久久久久久久看片 | 欧美亚洲另类久久综合 |