什么是SDSoC平台?SDSoC的开发工作
扫描二维码
随时随地手机看文章
在理解了SDSoC“平台”的概念之后(详见《SDSoC上手必读:什么是SDSoC平台?》),现在我们就可以开始使用SDSoC进行开发工作了。
在下载并安装了SDSoC之后,细心的人会在文件目录中发现Vivado、Vivado_HLS和SDK等开发工具子目录。熟悉Zynq FPGA SoC开发流程的工程师对这几个工具肯定不陌生:
Vivado是硬件开发工具,可为设计团队提供实现基于C的设计、重用优化、IP子系统复用、集成自动化以及设计收敛加速所需的工具和方法,可帮助设计人员以高层次抽象形式开展工作,加速高层次设计、验证和实现。
作为Vivado的一个子集,Vivado HLS是连接高级抽象语言与底层硬件描述语言的高阶综合工具。
SDK是软件开发工具,用来完成应用程序的创建、开发、调试等工作,它集成了丰富的工具和软件包,可以与硬件平台设计工具Vivado无缝结合。
在经典的Zynq平台开发模式中,会先由硬件工程师利用Vivado创建硬件平台,然后将数据文件导入到SDK中,交由软件工程师完成后续的软件开发工作。而SDSoC将上述开发工具整合到一个开发环境中,开发者再也不用在多个软件、工具之间来回跳转,只要一个集成开发环境(IDE)就能完成所有必须的开发工作,开发效率大大提升。
硬件平台
具体地讲,SDSoC硬件平台(HPFM)是使用Vivado设计和调试的,就像一个常规的Vivado项目。设计时,工程师需要确保时序符合基础平台(base platform)上具有正确约束的IP的要求。
硬件平台工程师要去定义SDSoC应用中所需要的硬件资源。为此,赛灵思创建了一套特定的TCL命令。下面是TCL命令的一个范例。
软件平台
SDSoC软件平台(SPFM)的创建,是利用SDK/ Ubuntu虚拟机设计和调试实现的,就像一个常规的SDK项目。工程师要确保所需的所有驱动程序完好定义并正常工作。
在发布之前,还要对平台进行正确测试。同时,软件平台工程师要定义会使用什么软件。这包括测试和工作链接脚本(linker script)、OS定义(根据需要),以及为OS建立所需的标志/命令(flags/commands)。
平台创建工具:SDSPFM
为了完成上述的平台创建步骤,我们会用到赛灵思提供的一个名为“SDSPFM”的工具。平台工程师需要按照上文的描述,创建所需的Vivado硬件文件、TCL脚本,以及建立软件平台所需的组件。
SDSPFM的图形化用户界面如下:
*Content Copyright Xilinx
用户界面被分为四个部分:基本信息、处理器信息、启动信息及OS数据,和编译器设置。
基本信息:有关平台创建的基本信息。
处理器信息:SDSoC项目所用的处理器类型、数量、内核数量。
启动信息及OS数据:所有OS特定文件。
编译器设置:平台的包含路径、库。
下图展示了一个SDSoC平台的整体结构和组成部分,图中显示出平台中各个组件以及组件之间的相互关系。
*Content Copyright Xilinx
创建好SDSoC平台,我们就可以按照SDSoC创新性的开发流程开始具体的设计工作了,这时大家才能体会到SDSoC强大的功能,以及它能够为我们带来的工作效率的提升。