- UID
- 1023229
- 来自
- 中国
|
上面我们已经建立了一个工程,并把嵌入式系统的核心-ARM处理器配置好了。为了能对其进行编程,接下来的事情就是把硬件有关的配置导入到软件开发套件SDK中。 首先在Vivado中打开上次建立的工程。然后点击Vivado开发套件的File---Export---Export Hardware for SDK,出现导出到SDK的配置,如图1所示。[[wysiwyg_imageupload:895:]]图1 导出硬件配置到SDK 图1中的Export Hardware是必须选中的,因为我们现在正需要导出硬件信息。如果已经准备好进行编程,或者已经有现成的C/C++等代码了,则Launch SDK也可以选中,否则可以在以后启动SDK进行编程。 这里需要注意的时候,得先把上次建立的含有ARM内核的设计打开,才能把硬件信息导出到SDK,否则会报错: ERROR: [BD 41-435] Failed to run "export_hardware" for "System". This diagram is not currently open. "export_hardware" works only for active block diagrams.ERROR: [Common 17-39] 'export_hardware' failed due to earlier errors. 作为提示,列出打开方式,如图2所示。[[wysiwyg_imageupload:896:]]图2 打开设计文件点击Ok,等待片刻,导出过程就完成了。这时,打开我们Vivado工程所在的文件夹,可以发现文件夹里面已经生成了如下文件和文件夹,如图3所示。[[wysiwyg_imageupload:897:]]图3 Vivado工程目录结构其中的.xpr就是Vivado的工程文件,.data,.runs, 和.srcs文件都是与硬件相关的,包括含有ARM配置的设计文件.bd、上次生成的打包调用“ARM IP”的HDL文件,以及综合/实现的结果等。其中的.sdk显然便是与软件编程有关的文件,包括刚才把硬件信息导出到SDK的结果。所以在一个开发团队中,硬件工程师可以把这个文件夹提供给软件工程师,因为其中已经含有所有可供SDK使用的硬件信息了,例如硬件初始化使用的.c源程序和.h头文件,.html说明文件,.tcl脚本和.xml脚本等,如图4所示。[[wysiwyg_imageupload:898:]]图4 导出到SDK的文件既然硬件环境已经配置好,也把信息提供给了SDK,那么接下来就可以在目标平台(这里即ARM双核)上进行编程了。接下来我们就要去打开SDK开发环境了。用过SDK的人可能会发现,ISE套件和Vivado套件的目录结构是有一些区别的,如图5所示。 [[wysiwyg_imageupload:899:]]图5 ISE套件与Vivado套件的区别以前在ISE套件中都是在XPS建立硬件,然后导入到SDK进行编程,还有独立的PlanAhead、ChipScope等进行规划、配置、调试,而在Vivado套件中,PlanAhead、ChipScope、XPS等的功能大部分都集成到Vivado开发环境中了,但是SDK作为专门的软件开发环境目前还是独立存在的。打开Xilinx SDK 2013.2,可以发现其基本开发流程与以前还是基本一致的(不同的是FPGA里面的嵌入式处理器加入了硬核的ARM)。首先建立SDK使用的工作空间(基于Eclipse的软件都是这种套路),如图6所示。[[wysiwyg_imageupload:900:]]图6 建立SDK的工作空间然后我们要做的是建立硬件平台的描述文件,。在SDK开发环境中,选择菜单栏上的File---New---Other,然后制定硬件平台,如图7所示。[[wysiwyg_imageupload:901:]] 图7指定硬件平台输入SDK工程的名字,例如hw_platform_0,然后找到稍早前从Vivado导出到SDK的文件夹中的.xml配置文件,如图8所示。因为我们是从一个简单的工程做起,只有PS里面的编程,而暂时没有使用PL,所以不需要关联比特流文件(Bitstream)和块RAM初始化数据BMM文件。[[wysiwyg_imageupload:902:]]图8 建立SDK工程点击Finish之后,在SDK的工程管理器里就能看到硬件平台的相关文件了。如果没有显示出来的话,点击SDK界面右下角带加号的按钮,然后选择C/C++ Projects就能显示出来了;或者点击SDK开发环境菜单栏上的Window---Show View---C/C++ Projects也可以。双击项目管理器里的system.xml,就可以看到硬件平台的信息了,如图9所示。[[wysiwyg_imageupload:903:]]图9 硬件平台的信息明天继续。 |
|