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