上一篇我们配置了ARM核的IP,下面就要搭建基于ARM的硬件开发环境,能在ARM编写和调试程序,需要将IP中的硬件信息导入到SDK开发套件中。
打开上次建立的工程,然后Open Block Design,选择system_test.bd。
在Vivado主菜单中选择File->Export->Export hardware for SDK...。
出现如下对话框,在此对话框中可以需勾选Export Hardware,Launch SDK项可选择勾选,其区别就是勾选情况下会自动打开Xilinx SDK(前提是电脑上安装和Vivado版本匹配的SDK开发套件并且和Vivado进行了关联),并自动以工程目录下zynq_test\zynq_test.sdk\SDK\SDK_Export作为Workspace。不勾选的情况下,需要手动打开Xilinx SDK,并设置工程Workspace。
这里不勾选Launch SDK,我们手动打开并设置SDK。
在打开SDK之前,我们先看下与SDK相关的工程路径下的文件夹,在zynq_test\zynq_test.sdk\SDK\SDK_Export下有一个hw文件夹,打开hw文件夹,看到如下图所示的文件。
各文件功能如下所示:
ps7_init.c: 包含ARM处理系统的初始化的寄存器定义的C文件,用来产生FSBL文件。
ps7_init.h:C文件的头文件,同样用来产生FSBL文件。
ps7_init.html :描述ARM处理系统配置信息的文件,提供了寄存器的具体设置参数,可供设计师检查硬件配置是否合理。
ps7_init.tcl: 等同于ps7_init.c,使用TCL文件的形式,该文件可以在SDK JTAG调试过程中对ARM进行初始化操作。
ps7_summary.html :可被ps7_init.html文件代替的遗留文件,没有实际作用。
system_test.xml(.xml) :硬件详细说明文档,文件名同工程名,用来产生BSP。
这些文件多数会在SDK中用到,下面打开Xilinx SDK,并设置Workspace为zynq_test\zynq_test.sdk\SDK\SDK_Export。
在SDK主菜单中选择File->New->Other...。
在弹出的对话框中展开Xilinx项,选择Hardware Platform Specification,建立硬件平台的描述文件。
输入硬件平台工程名,并导入hw文件夹下的xml文件。这里只做PS相关的调试,没有PL相关的模块,无需导入bitstream文件。
点击Finish之后就会看到硬件平台的相关信息了,如果没有显示,可以双击Project Explore里的system.xml。
接下来就要建立BSP,在SDK主菜单中选择File->New->Board Support Package。
在下图所示的对话框中输入BSP工程名,选择我们刚才建立的硬件平台工程hw_platform_0,选择一个CPU(双核里选一个)。
点击Finish,会出现BSP的配置信息,在这里我们要勾选xilffs库,在后面生成FSBL文件时会用到。
点击OK,回到SDK的主界面,就会看到Project Explore中出现BSP的文件信息。
另外注意,在整个过程中,如果Windows的***出现任何阻止Vivado和SDK相关操作的情况,请取消允许该操作进行。
到此,关于ARM硬核开发所需的硬件和BSP平台已经搭建好了,如果你是一个专注于FPGA PL侧开发的工程师,在Vivado中进行Block Design时,需要添加相应功能的IP core,包括Vivado自带的AXI4 IP core、用户自定义的AXI4 IP core,挂载在ARM的AXI4总线上。另外,完成其他非AXI4总线逻辑模块的设计。在交付软件工程师之前,你的工作基本完成了,后面就是ARM应用程序的开发。
下篇简单介绍下ARM应用程序的开发流程。
文章评论(0条评论)
登录后参与讨论