利用XPS工具快速生成Virtex FPGA的板級支持包
發(fā)布時間:2007/8/28 0:00:00 訪問次數(shù):1003
具有嵌入式處理器的平臺FPGA提供很大的靈活性、集成度和高性能。目前,在單個可編程邏輯器件中開發(fā)極其復(fù)雜且高度定制化的嵌入式系統(tǒng)已成為可能。隨著芯片性能的不斷增加,如何使設(shè)計(jì)方法始終高效、多產(chǎn),成為人們面臨的主要挑戰(zhàn)。嵌入式系統(tǒng)開發(fā)的關(guān)鍵活動之一是板級支持包(BSP)。利用BSP,可以使嵌入式軟件應(yīng)用程序成功地初始化,并與連接到處理器的硬件資源進(jìn)行通信。典型的BSP組件包括引導(dǎo)代碼、器件驅(qū)動程序代碼和初始化代碼。
創(chuàng)建BSP是一個冗長而繁復(fù)的過程,并且每當(dāng)微處理器與處理器和相關(guān)的外設(shè)的組合有所變更時都得再次創(chuàng)建。對FPGA而言,短的設(shè)計(jì)周期加上平臺的靈活性,會使得管理BSP的任務(wù)更為艱巨(圖1)。這就迫使人們尋找更有效地管理BSP的方法。
設(shè)計(jì)流程和軟件BSP生成
賽靈思處理器的設(shè)計(jì)包含硬件平臺集結(jié)流程和嵌入式軟件開發(fā)流程。這些流程都通過XPS(Xilinx Platform Studio)工具加以管理,該工具屬于賽靈思嵌入式開發(fā)套件(EDK)的一部分。
設(shè)計(jì)通常始于在XPS中集結(jié)與配置處理器及與其相連接的器件。定義好硬件平臺后,就可以配置系統(tǒng)的軟件參數(shù)了。XPS的一個主要特點(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ì)者的效率。
創(chuàng)建用于VxWorks的BSP
XPS可生成用于賽靈思Virtex-II Pro和Virtex-4 FPGA中的PowerPC 405處理器及其外設(shè)的定制Tornado 2.0.x(VxWorks5.4)或Tornado 2.2.x(VxWorks5.5)BSP。生成的BSP包含系統(tǒng)必需的所有支持軟件,包括引導(dǎo)代碼、器件驅(qū)動程序和VxWorks初始化。
在XPS定義完具有PowerPC 405處理器的硬件系統(tǒng)后,只需遵循以下三個步驟即可生成用于VxWorks的BSP:
1. 使用軟件設(shè)置對話框選擇要為系統(tǒng)使用的操作系統(tǒng)。XPS用戶可選擇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)輸出)。這將使該器件被用作VxWorks控制器件。
你還可以選擇將哪些外設(shè)作為連接外設(shè),將哪些器件緊密集成到VxWorks操作系統(tǒng)。例如,賽靈思10/100以太網(wǎng)MAC可以集成到VxWorks增強(qiáng)型網(wǎng)絡(luò)驅(qū)動程序(END)接口。或者不必將以太網(wǎng)器件連接到END接口,而從VxWorks應(yīng)用程序直接訪問它。
3. 選擇“工具>生成庫”和BSP菜單選項(xiàng),生成Tornado BSP。生成的BSP與傳統(tǒng)的Tornado BSP相似,位于ppc405_0/bsp_ppc405_0下的“Platform Studio”目錄中。注意ppc405_0為硬件設(shè)計(jì)中PowerPC 405處理器的實(shí)例名。XPS用戶可指定其它實(shí)例名,此時BSP的子目錄名稱會匹配處理器實(shí)例名。
通過XPS生成的Tornado BSP具有一個“Makefile”文件,如果希望使用Diab編譯器而不是Gnu編譯器,可在命令行修改此文件。
Tornado BSP是完全獨(dú)立的,并可以轉(zhuǎn)移到其它目錄位置,如BSP的標(biāo)準(zhǔn)Tornado安裝目錄:target/config。
定制BSP
由XPS生成的用于VxWorks的BSP與大多數(shù)其它Tornado BSP相似,只是賽靈思器件驅(qū)動程序代碼的位置有所不同。與Tornado相關(guān)的現(xiàn)成器件驅(qū)動程序代碼通常位于Tornado分布目錄的target/src/drv目錄中,而由XPS自動生成的BSP的器件驅(qū)動程序代碼位于BSP目錄本身中。
基于FPGA的嵌入系統(tǒng)之動態(tài)特性是造成此微小差別的原因。因?yàn)榛贔PGA的嵌入系統(tǒng)可以用新的或更改后的IP重新編程,器件驅(qū)動程序可以改變,因此就需要對器件驅(qū)動程序源文件進(jìn)行更為動態(tài)的放置。圖2為自動生成的BSP目錄樹,賽靈思器件驅(qū)動程序放置在BSP子目錄ppc405_0_drv_csp/xsrc中。
賽靈思器件驅(qū)動程序在C盤中執(zhí)行并分布在數(shù)個源文件中,這點(diǎn)不同于傳統(tǒng)的、通常由單個C頭文件和執(zhí)行文件組成的VxWorks驅(qū)動程序。此外,對于器件驅(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ū)動程序。
賽靈思驅(qū)動程序源文件加入VxWorks映像構(gòu)件的方式同其它BSP文件加入的方式相同。針對每個驅(qū)動程序,在BSP目錄中都有一個名為ppc405_0_drv_.c的文件。此文件包括針對給定器件的驅(qū)動程序源文
具有嵌入式處理器的平臺FPGA提供很大的靈活性、集成度和高性能。目前,在單個可編程邏輯器件中開發(fā)極其復(fù)雜且高度定制化的嵌入式系統(tǒng)已成為可能。隨著芯片性能的不斷增加,如何使設(shè)計(jì)方法始終高效、多產(chǎn),成為人們面臨的主要挑戰(zhàn)。嵌入式系統(tǒng)開發(fā)的關(guān)鍵活動之一是板級支持包(BSP)。利用BSP,可以使嵌入式軟件應(yīng)用程序成功地初始化,并與連接到處理器的硬件資源進(jìn)行通信。典型的BSP組件包括引導(dǎo)代碼、器件驅(qū)動程序代碼和初始化代碼。
創(chuàng)建BSP是一個冗長而繁復(fù)的過程,并且每當(dāng)微處理器與處理器和相關(guān)的外設(shè)的組合有所變更時都得再次創(chuàng)建。對FPGA而言,短的設(shè)計(jì)周期加上平臺的靈活性,會使得管理BSP的任務(wù)更為艱巨(圖1)。這就迫使人們尋找更有效地管理BSP的方法。
設(shè)計(jì)流程和軟件BSP生成
賽靈思處理器的設(shè)計(jì)包含硬件平臺集結(jié)流程和嵌入式軟件開發(fā)流程。這些流程都通過XPS(Xilinx Platform Studio)工具加以管理,該工具屬于賽靈思嵌入式開發(fā)套件(EDK)的一部分。
設(shè)計(jì)通常始于在XPS中集結(jié)與配置處理器及與其相連接的器件。定義好硬件平臺后,就可以配置系統(tǒng)的軟件參數(shù)了。XPS的一個主要特點(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ì)者的效率。
創(chuàng)建用于VxWorks的BSP
XPS可生成用于賽靈思Virtex-II Pro和Virtex-4 FPGA中的PowerPC 405處理器及其外設(shè)的定制Tornado 2.0.x(VxWorks5.4)或Tornado 2.2.x(VxWorks5.5)BSP。生成的BSP包含系統(tǒng)必需的所有支持軟件,包括引導(dǎo)代碼、器件驅(qū)動程序和VxWorks初始化。
在XPS定義完具有PowerPC 405處理器的硬件系統(tǒng)后,只需遵循以下三個步驟即可生成用于VxWorks的BSP:
1. 使用軟件設(shè)置對話框選擇要為系統(tǒng)使用的操作系統(tǒng)。XPS用戶可選擇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)輸出)。這將使該器件被用作VxWorks控制器件。
你還可以選擇將哪些外設(shè)作為連接外設(shè),將哪些器件緊密集成到VxWorks操作系統(tǒng)。例如,賽靈思10/100以太網(wǎng)MAC可以集成到VxWorks增強(qiáng)型網(wǎng)絡(luò)驅(qū)動程序(END)接口;蛘卟槐貙⒁蕴W(wǎng)器件連接到END接口,而從VxWorks應(yīng)用程序直接訪問它。
3. 選擇“工具>生成庫”和BSP菜單選項(xiàng),生成Tornado BSP。生成的BSP與傳統(tǒng)的Tornado BSP相似,位于ppc405_0/bsp_ppc405_0下的“Platform Studio”目錄中。注意ppc405_0為硬件設(shè)計(jì)中PowerPC 405處理器的實(shí)例名。XPS用戶可指定其它實(shí)例名,此時BSP的子目錄名稱會匹配處理器實(shí)例名。
通過XPS生成的Tornado BSP具有一個“Makefile”文件,如果希望使用Diab編譯器而不是Gnu編譯器,可在命令行修改此文件。
Tornado BSP是完全獨(dú)立的,并可以轉(zhuǎn)移到其它目錄位置,如BSP的標(biāo)準(zhǔn)Tornado安裝目錄:target/config。
定制BSP
由XPS生成的用于VxWorks的BSP與大多數(shù)其它Tornado BSP相似,只是賽靈思器件驅(qū)動程序代碼的位置有所不同。與Tornado相關(guān)的現(xiàn)成器件驅(qū)動程序代碼通常位于Tornado分布目錄的target/src/drv目錄中,而由XPS自動生成的BSP的器件驅(qū)動程序代碼位于BSP目錄本身中。
基于FPGA的嵌入系統(tǒng)之動態(tài)特性是造成此微小差別的原因。因?yàn)榛贔PGA的嵌入系統(tǒng)可以用新的或更改后的IP重新編程,器件驅(qū)動程序可以改變,因此就需要對器件驅(qū)動程序源文件進(jìn)行更為動態(tài)的放置。圖2為自動生成的BSP目錄樹,賽靈思器件驅(qū)動程序放置在BSP子目錄ppc405_0_drv_csp/xsrc中。
賽靈思器件驅(qū)動程序在C盤中執(zhí)行并分布在數(shù)個源文件中,這點(diǎn)不同于傳統(tǒng)的、通常由單個C頭文件和執(zhí)行文件組成的VxWorks驅(qū)動程序。此外,對于器件驅(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ū)動程序。
賽靈思驅(qū)動程序源文件加入VxWorks映像構(gòu)件的方式同其它BSP文件加入的方式相同。針對每個驅(qū)動程序,在BSP目錄中都有一個名為ppc405_0_drv_.c的文件。此文件包括針對給定器件的驅(qū)動程序源文
熱門點(diǎn)擊
- 一種基于CPLD的偽隨機(jī)序列發(fā)生器
- 利用XPS工具快速生成Virtex FPGA
- 基于PIC18F系列單片機(jī)的嵌入式系統(tǒng)設(shè)計(jì)
- 嵌入式Email發(fā)送模塊
- 使用LeonardoSpectrum綜合Xi
- ADSP-TSl01S嵌入式系統(tǒng)的混合編程
- 在S3C4510B評估板上移植uclinux
- IEC 61131-3標(biāo)準(zhǔn)與ARM嵌入式控制
- 基于ARM7+μC/OSII的數(shù)據(jù)采集系統(tǒng)設(shè)
- 細(xì)看嵌入式中文Linux系統(tǒng)技術(shù)優(yōu)勢
推薦技術(shù)資料
- 羅盤誤差及補(bǔ)償
- 造成羅盤誤差的主要因素有傳感器誤差、其他磁材料干擾等。... [詳細(xì)]
- AMOLED顯示驅(qū)動芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計(jì)
- GB300 超級芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究