创建BSP是一个冗长而繁复的过程,并且每当
设计流程和软件BSP生成
赛灵思处理器的设计包含硬件平台集结流程和嵌入式软件开发流程。这些流程都通过XPS(Xilinx Platform Studio)工具加以管理,该工具属于赛灵思嵌入式开发套件(EDK)的一部分。
设计通常始于在XPS中集结与配置处理器及与其相连接的器件。定义好硬件平台后,就可以配置系统的软件参数了。XPS的一个主要特点是,它可以根据你对处理器、外设和嵌入式操作系统的选择和配置来定制BSP。系统通过硬件设计的迭代改变而发展,同时BSP随着平台而发展。
自动生成的BSP可赋予嵌入式系统设计者以下能力:自动创建与硬件设计完全匹配的BSP;使用预认证的组件消除BSP设计错误;立即启动应用软件开发,提高设计者的效率。
创建用于VxWorks的BSP
XPS可生成用于赛灵思Virtex-II Pro和Virtex-4 FPGA中的
图1:平台FPGA灵活性要求软件BSP产生过程更高效
在XPS定义完具有PowerPC 405处理器的硬件系统后,只需遵循以下三个步骤即可生成用于VxWorks的BSP:
1. 使用软件设置对话框选择要为系统使用的操作系统。XPS用户可选择VxWorks5.4或VxWorks5.5作为其目标操作系统。
2. 选择了操作系统后,可转到资料库/操作系统参数标签,根据定制硬件调整Tornado BSP。你可以选择系统中的任意UART器件作为标准I/O器件(标准输入和标准输出)。这将使该器件被用作VxWorks控制器件。
你还可以选择将哪些外设作为连接外设,将哪些器件紧密集成到VxWorks操作系统。例如,赛灵思10/100以太网MAC可以集成到VxWorks增强型网络驱动程序(END)接口。或者不必将以太网器件连接到END接口,而从VxWorks应用程序直接访问它。
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中。