《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 解決方案 > 利用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亚洲国产精品_日韩亚洲一区二区
国产一区二区三区丝袜| 亚洲与欧洲av电影| 国产伦精品一区二区三区免费迷| 欧美久久一区| 欧美高清影院| 欧美成人一区二免费视频软件| 久久婷婷麻豆| 久久久久国色av免费观看性色| 香蕉乱码成人久久天堂爱免费| 亚洲专区在线视频| 亚洲在线一区二区三区| 亚洲综合日韩在线| 欧美一区2区视频在线观看 | 亚洲伊人久久综合| 亚洲一区二区少妇| 亚洲先锋成人| 午夜日韩激情| 午夜天堂精品久久久久| 欧美有码视频| 久久久水蜜桃av免费网站| 久久久五月婷婷| 免费在线观看成人av| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美电影在线| 欧美亚韩一区| 国产精品午夜春色av| 国产亚洲精品久久久久久| 含羞草久久爱69一区| 亚洲国产日本| 一区二区三区你懂的| 午夜国产精品视频免费体验区| 欧美一区在线视频| 亚洲欧洲一区二区在线观看| 日韩一级精品| 亚洲欧美在线另类| 久久人人97超碰精品888| 欧美 亚欧 日韩视频在线| 欧美日韩成人在线视频| 国产精品一区二区三区成人| 国产精品视频免费观看www| 国产综合欧美在线看| 亚洲国产高清一区二区三区| 夜夜狂射影院欧美极品| 亚洲午夜极品| 亚洲成在人线av| 一区二区三区四区五区在线| 欧美在线视频一区| 欧美大片免费看| 国产精品欧美久久| 1024国产精品| 亚洲网在线观看| 亚洲国产乱码最新视频| 国产精品99久久久久久有的能看| 欧美一区二区在线免费观看| 蜜桃av一区二区| 欧美性大战久久久久| 狠狠色香婷婷久久亚洲精品| 日韩视频在线观看免费| 香蕉久久夜色精品国产使用方法| 亚洲黄色视屏| 午夜在线精品| 欧美激情欧美狂野欧美精品| 国产欧美精品一区二区三区介绍| 亚洲第一毛片| 亚洲欧美在线看| 日韩一区二区精品在线观看| 欧美在线影院在线视频| 欧美激情综合在线| 国产欧美在线| 日韩一级精品| 亚洲国产精品久久久久秋霞不卡| 亚洲欧美乱综合| 欧美—级a级欧美特级ar全黄| 国产一区美女| 国产精品99久久久久久白浆小说 | 国产欧美日韩综合| 日韩午夜三级在线| 亚洲国产高清在线观看视频| 亚洲免费视频中文字幕| 欧美成人国产一区二区| 国产麻豆9l精品三级站| 亚洲精品综合| 亚洲激情电影中文字幕| 欧美一级视频一区二区| 欧美日韩亚洲激情| 在线精品视频免费观看| 欧美一区二区观看视频| 亚洲视频导航| 欧美精品一区二区精品网| 好吊色欧美一区二区三区四区| 亚洲网站在线观看| 一区二区电影免费观看| 牛牛国产精品| 狠狠噜噜久久| 欧美一区二区成人6969| 午夜久久美女| 国产精品区一区| aa国产精品| 99精品99| 欧美成年人视频| 国内伊人久久久久久网站视频| 亚洲一区免费网站| 亚洲欧美精品suv| 欧美三级在线播放| 日韩午夜av电影| 99在线热播精品免费| 欧美不卡视频一区发布| 国产综合视频| 欧美一区国产二区| 久久9热精品视频| 国产精品一区二区你懂得| 亚洲一区二区三区高清不卡| 亚洲一区二区三区久久| 欧美日韩在线播放| 亚洲美女av网站| 9久re热视频在线精品| 欧美激情国产精品| 91久久综合亚洲鲁鲁五月天| 亚洲精品网址在线观看| 欧美精品一卡| 99ri日韩精品视频| 亚洲一区二区三区精品动漫| 欧美日韩中文字幕精品| av成人免费| 亚洲欧美日本精品| 国产欧美日韩在线| 欧美怡红院视频| 久久综合图片| 亚洲国产精品成人综合色在线婷婷| 最近中文字幕mv在线一区二区三区四区| 狼人社综合社区| 亚洲国产导航| 亚洲视频axxx| 国产精品一级二级三级| 午夜精品美女久久久久av福利| 久久国产精品久久久久久电车| 国产午夜精品视频| 久久精品一区二区三区四区| 免费一区视频| 99精品国产99久久久久久福利| 亚洲影视在线播放| 国产日韩专区| 亚洲高清在线观看一区| 欧美国产一区二区| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲伊人色欲综合网| 国产精品专区第二| 久久精品一区二区三区中文字幕| 欧美成在线视频| 一区二区精品| 久久精品国产欧美亚洲人人爽| 在线观看精品视频| 在线一区二区三区四区| 国产欧美日韩三级| 亚洲国产精品悠悠久久琪琪| 欧美精品一区二区三区高清aⅴ| 99视频精品| 久久精品人人做人人爽| 亚洲国产精品成人综合色在线婷婷 | 国产深夜精品| 日韩午夜免费| 国产精自产拍久久久久久| 亚洲福利在线看| 欧美日韩午夜| 羞羞答答国产精品www一本| 欧美成人黑人xx视频免费观看| 99精品免费视频| 久久精品首页| 亚洲精品乱码视频| 久久爱另类一区二区小说| 在线日韩电影| 亚洲欧美在线x视频| 亚洲高清视频一区二区| 午夜久久久久久| 亚洲国产视频一区| 欧美专区亚洲专区| 亚洲精品综合精品自拍| 久久精品视频免费播放| 亚洲精品美女在线观看| 久久精品中文字幕一区| 日韩一级在线| 蜜臀91精品一区二区三区| 亚洲一二三区在线观看| 欧美精品 国产精品| 欧美亚洲自偷自偷| 欧美日韩ab片| 久久国产手机看片| 国产精品久久国产精品99gif| 91久久精品国产91久久性色| 国产精品日韩精品欧美在线| 日韩一级免费| 精品91在线| 新片速递亚洲合集欧美合集| 亚洲欧洲综合另类在线| 久久久久国产精品麻豆ai换脸 | 亚洲欧美成人网| 欧美日本在线视频| 亚洲国产视频直播| 国产欧美一区二区三区在线老狼| 99精品国产一区二区青青牛奶|