利用XPS工具快速生成Virtex FPGA的板級(jí)支持包
3. 選擇“工具>生成庫”和BSP菜單選項(xiàng),生成Tornado BSP。生成的BSP與傳統(tǒng)的Tornado BSP相似,位于ppc405_0/bsp_ppc405_0下的“Platform Studio”目錄中(見圖2)。注意ppc405_0為硬件設(shè)計(jì)中PowerPC 405處理器的實(shí)例名。XPS用戶可指定其它實(shí)例名,此時(shí)BSP的子目錄名稱會(huì)匹配處理器實(shí)例名。
圖2:生成的BSP目錄結(jié)構(gòu)
通過XPS生成的Tornado BSP具有一個(gè)“Makefile”文件,如果希望使用Diab編譯器而不是Gnu編譯器,可在命令行修改此文件。
Tornado BSP是完全獨(dú)立的,并可以轉(zhuǎn)移到其它目錄位置,如BSP的標(biāo)準(zhǔn)Tornado安裝目錄:target/config。
定制BSP
由XPS生成的用于VxWorks的BSP與大多數(shù)其它Tornado BSP相似,只是賽靈思器件驅(qū)動(dòng)程序代碼的位置有所不同。與Tornado相關(guān)的現(xiàn)成器件驅(qū)動(dòng)程序代碼通常位于Tornado分布目錄的target/src/drv目錄中,而由XPS自動(dòng)生成的BSP的器件驅(qū)動(dòng)程序代碼位于BSP目錄本身中。
基于FPGA的嵌入系統(tǒng)之動(dòng)態(tài)特性是造成此微小差別的原因。因?yàn)榛?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/FPGA">FPGA的嵌入系統(tǒng)可以用新的或更改后的IP重新編程,器件驅(qū)動(dòng)程序可以改變,因此就需要對器件驅(qū)動(dòng)程序源文件進(jìn)行更為動(dòng)態(tài)的放置。圖2為自動(dòng)生成的BSP目錄樹,賽靈思器件驅(qū)動(dòng)程序放置在BSP子目錄ppc405_0_drv_csp/xsrc中。
賽靈思器件驅(qū)動(dòng)程序在C盤中執(zhí)行并分布在數(shù)個(gè)源文件中,這點(diǎn)不同于傳統(tǒng)的、通常由單個(gè)C頭文件和執(zhí)行文件組成的VxWorks驅(qū)動(dòng)程序。此外,對于器件驅(qū)動(dòng)程序,既有獨(dú)立于操作系統(tǒng)的執(zhí)行,又有可選的依賴于操作系統(tǒng)的執(zhí)行。
驅(qū)動(dòng)程序的操作系統(tǒng)獨(dú)立部分應(yīng)同任何操作系統(tǒng)或處理器一起使用。它提供了一種應(yīng)用程序接口(API),能提取基礎(chǔ)硬件的功能。驅(qū)動(dòng)程序的操作系統(tǒng)附屬部分對驅(qū)動(dòng)程序進(jìn)行調(diào)整,使其得以在VxWorks之類的操作系統(tǒng)下使用,例如串行端口使用的Serial IO驅(qū)動(dòng)程序和以太網(wǎng)控制器使用的END驅(qū)動(dòng)程序。只有能被緊密集成到標(biāo)準(zhǔn)操作系統(tǒng)接口的驅(qū)動(dòng)程序才要求操作系統(tǒng)附屬驅(qū)動(dòng)程序。
賽靈思驅(qū)動(dòng)程序源文件加入VxWorks映像構(gòu)件的方式同其它BSP文件加入的方式相同。針對每個(gè)驅(qū)動(dòng)程序,在BSP目錄中都有一個(gè)名為ppc405_0_drv_.c的文件。此文件包括針對給定器件的驅(qū)動(dòng)程序源文件(*.c),并自動(dòng)由BSP makefile編譯。
評(píng)論