當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]利用XPS工具快速生成有效的板支持包

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

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

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

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


1 – 平臺 FPGA 靈活性要求軟件 BSP 生成過程具有高效率。

 

設(shè)計(jì)流程和軟件BSP生成

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

      
       
設(shè)計(jì)通常始于在 XPS 中裝配與配置處理器及與其相連接的配件。定義好硬件平臺后,就可以配置系統(tǒng)的軟件參數(shù)了。Platform Studio 的一個主要特點(diǎn)是,它可以根據(jù)您對處理器、外設(shè)和嵌入式操作系統(tǒng)的選擇和配置來定制 BSP。系統(tǒng)通過硬件設(shè)計(jì)的疊代改變而發(fā)展,同時,BSP 隨著平臺而發(fā)展。

      
       
自動生成的 BSP 可賦予嵌入式系統(tǒng)設(shè)計(jì)者以下能力:

      自動創(chuàng)建與硬件設(shè)計(jì)完全匹配的 BSP

      使用預(yù)認(rèn)證的組件消除 BSP 設(shè)計(jì)錯誤

      立即啟動應(yīng)用軟件開發(fā),增加設(shè)計(jì)者的產(chǎn)量

 

創(chuàng)建用于WindRiver VxWork 的BSP

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

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

     
       
1.
使用軟件設(shè)置對話框選擇要為系統(tǒng)使用的操作系統(tǒng)。Platform Studio 用戶可選擇 vxworks5_4 vxworks5_5 作為其目標(biāo)操作系統(tǒng)。

      
       
2.
選擇了操作系統(tǒng)后,可轉(zhuǎn)到資料庫/操作系統(tǒng)參數(shù)標(biāo)簽,根據(jù)定制硬件調(diào)整 Tornado BSP。您可以選擇系統(tǒng)中的任意 UART 器件作為標(biāo)準(zhǔn) I/O 器件(標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出)。這將使該設(shè)備被用作 VxWorks 控制臺器件。

       
        
還可以選擇將哪些外設(shè)作為連接外設(shè),將哪些器件緊密集成到 VxWorks 操作系統(tǒng)。例如,Xilinx 10/100 以太網(wǎng) MAC 可以集成到 VxWorks 增強(qiáng)型網(wǎng)絡(luò)驅(qū)動Enhanced Network DriverEND)接口。或者,不必將以太網(wǎng)器件連接到 END 接口,而從 VxWorks 應(yīng)用程序直接訪問它。

      
        
3.
選擇“工具 > 生成資料庫”和 BSP 菜單選項(xiàng),生成 Tornado BSP。生成的 BSP 與傳統(tǒng)的 Tornado BSP 相似,位于 ppc405_0/bsp_ppc405_0 下的 Platform Studio 項(xiàng)目目錄中。

 

       注:ppc405_0 為硬件設(shè)計(jì)中 PowerPC 405 處理器的實(shí)例名。Platform Studio 用戶可指定其他實(shí)例名,此時,BSP 的子目錄名稱會匹配處理器實(shí)例名。

 

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

 

       Tornado BSP 完全獨(dú)立,并可以傳輸?shù)狡渌夸浳恢茫?/SPAN> BSP 的標(biāo)準(zhǔn) Tornado 安裝目錄:target/config。

 

定制 BSP 詳細(xì)信息

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

 

       基于 FPGA 的嵌入系統(tǒng)之動態(tài)特性是造成此微小差別的原因。因?yàn)榛?/SPAN> FPGA 的嵌入系統(tǒng)可以用新的或更改后的 IP 重新編程,設(shè)備驅(qū)動程序可以改變,因此就需要對設(shè)備驅(qū)動程序源文件進(jìn)行更為動態(tài)的放置。Xilinx 設(shè)備驅(qū)動程序放置在 BSP 子目錄 ppc405_0_drv_csp/xsrc 中。

      
       
Xilinx 設(shè)備驅(qū)動程序在 C 盤中執(zhí)行并分布在數(shù)個源文件中,這點(diǎn)不同于傳統(tǒng)的、通常由單個 C header 和執(zhí)行文件組成的 VxWorks 驅(qū)動程序。此外,對于設(shè)備驅(qū)動程序,既有獨(dú)立于操作系統(tǒng)的執(zhí)行,又有可選的依賴于操作系統(tǒng)的執(zhí)行。

      
       
驅(qū)動程序的操作系統(tǒng)獨(dú)立部分應(yīng)同任何操作系統(tǒng)或處理器一起使用。它提供了一種應(yīng)用程序接口 (API),能提取基礎(chǔ)硬件的功能。驅(qū)動程序的操作系統(tǒng)附屬部分對驅(qū)動程序進(jìn)行調(diào)整,使其得以在 VxWorks 之類的操作系統(tǒng)下使用。例子有串行端口使用的 Serial IO 驅(qū)動程序和以太網(wǎng)控制器使用的 END 驅(qū)動程序。只有能被緊密集成到標(biāo)準(zhǔn)操作系統(tǒng)接口的驅(qū)動程序才要求操作系統(tǒng)附屬驅(qū)動程序。

      
        
Xilinx 驅(qū)動程序源文件加入 VxWorks 映像構(gòu)件的方式同其他 BSP 文件加入的方式相同。針對每個驅(qū)動程序,在 BSP 目錄中都有一個名為 ppc405_0_drv_<driver_version>.c 的文件。此文件包括針對給定設(shè)備的驅(qū)動程序源文件 (*.c),并自動由 BSP makefile 編譯。
   
         該過程與 VxWorks sysLib.c 針對 Wind River-supplied 驅(qū)動程序納入源文件的過程相似。Xilinx 驅(qū)動程序文件不像其余驅(qū)動程序一樣單純納入 sysLib.c 的原因,在于命名空間的沖突和可維護(hù)性問題。如果所有的 Xilinx 驅(qū)動程序文件都是單個編譯單元的一部分,那么靜態(tài)功能和數(shù)據(jù)就不再處于保密狀態(tài)了。這會對設(shè)備驅(qū)動程序產(chǎn)生限制,也會抵消其操作系統(tǒng)獨(dú)立性。

Tornado IDE 集成

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

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

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

       
        
Tornado Project Facility 的“文件”標(biāo)簽也會顯示用來將 Xilinx 設(shè)備驅(qū)動程序與 Tornado 構(gòu)建過程結(jié)合在一起的文件數(shù)量。這些文件由 Platform Studio 自動創(chuàng)建,只需要知道其存在就行了。

       
          
一些常用設(shè)備與操作系統(tǒng)緊密結(jié)合,而其他設(shè)備可通過直接使用設(shè)備驅(qū)動程序從應(yīng)用程序上訪問。與 VxWorks 緊密結(jié)合的設(shè)備驅(qū)動程序包括:

      10/100 以太網(wǎng) MAC

      10/100 以太網(wǎng) Lite MAC

      1 Gigabit 以太網(wǎng) MAC

      16550/16450 UART

      UART Lite

      中斷控制器

      System ACE™ 技術(shù)

      PCIe

      
        
所有其他設(shè)備及相關(guān)的設(shè)備驅(qū)動程序并未緊密集成到 VxWorks 接口,而只是與其松散集成。對這些設(shè)備的訪問可通過從用戶應(yīng)用程序直接訪問相關(guān)設(shè)備驅(qū)動程序來進(jìn)行。

 

結(jié)束語

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

      
       
Xilinx 用戶一直非常認(rèn)可 Platform Studio 及其與 VxWorks 5.4 and 5.5. 的集成。Xilinx 將對 Wind River 流程的開發(fā)予以不懈支持,此流程不久就會包括對 VxWorks 6.0   Workbench IDE 的支持。
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉