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