Eclypse Z7 Git存储库

Eclypse Z7的所有Divile-Created Vivado项目(HW),PetalInux项目(OS)和软件工作空间(SW)都是其相应存储库中的版本控制的版本。一个根存储库是用来连接它们的。

本文档描述了这些存储库的GIT工作流程。

如果已经克隆了存储库,并希望直接跳转到有关如何从存储库获取项目并构建项目的信息,请直接跳转到Vivado(HW)存储库部分。

分支模型和命名

主题和根存储库分支机构董事会和分支机构Dodders.
每个董事会分支可以有子分支:(董事会} /硕士{板}/下一个板/ {主题}董事会/ {DeDder} /
如果存储库只管理一个单板,则{木板}前缀可以省略。
这不是Dodder分支的情况:{菟丝子}/主人{dodder} / {主题}

这个名字选择菟丝子是因为它与真正的菟丝子(菟丝子)的相似性,菟丝子依赖于宿主树或植物,但有自己的生长方式。同样地,git中的“dodders”是用来保存示例项目或演示项目的开发过程的分支,它依赖于board分支,在那里产生的更改永远不会合并回来。
菟丝子可以从它的分支上辨认出来{board} / master并有自己的分支。

FERPSE Z7的所有四个存储库都使用相同的分支模型。在所有Eclypse Z7存储库中拥有相同的Dodders并不是一个很难的要求。独立应用程序的示例项目将具有硬件设计组件和软件组件。在这种情况下,在eClypse-z7,eNlypse-z7-hw和eClypse-z7-sw中存在奇妙的闪光剂,但不在eClypse-z7中存在操作系统存储库。

要来源

通过递归克隆根存储库:github.com/Digilent/Eclypse-Z7我们收到以下存储库:

  • github.com/digilent/eclypse-z7-hw.用Vivado做硬件设计。
  • github.com/Digilent/Eclypse-Z7-操作系统用于构建带有Petalinux的操作系统。
  • github.com/Digilent/Eclypse-Z7-SW使用Xilinx SDK构建软件组件。

每个存储库都可以有额外的子存储库。

https
git clone  -  rocurrperive https://github.com/digilent/eclypse-z7
SSH.
git clone——recursive git@github.com:Digilent/ eclipse - z7 .git

Eclypse Z7存储库可以通过克隆到终端或其GitHub页面来获得。

主模型存储库包含硬件,操作系统,以及三个不同子模块中所有演示的软件组件。这些组件也可能包含它们自己的子模块。因此,如果从终端克隆存储库,请使用" -recursive "标志:

git clone  -  rocurrperive https://github.com/digilent/eclypse-z7

或者,在克隆后初始化并更新子模块:

Git子模块更新——init——recursive

笔记:为初始化和更新嵌套子模块是必要的。

每个演示的组件都包含在repo子模块的独立分支中。

一个演示可以通过cd-ing到每个组件子模块中,并调用以下命令来访问:

Git checkout 

在查看演示分支后,确保存储库的子模块目标是正确的提交,应重新初始化和更新:

Git子模块更新——init——recursive

可以通过在组件子模块中使用以下命令来获得每个可用分支的列表:

git分支-a.

每个演示都在Eclypse-Z7存储库的分支中呈现的README中记录,并在其软件组件中注释。

笔记:软件工作区依赖于PetalInux和Vivado项目,Petalinux项目取决于Vivado项目。对依赖关系的更改可能需要更改依赖项目或工作区。

笔记由于Petalinux只支持某些版本的Ubuntu, Digilent建议使用eclipse Z7 Git Repository完成的工作应该在受支持的Linux环境中进行。Windows用户可以选择双启动设置或虚拟机。有关环境要求的更多信息,请参阅eclipse Z7资源中心

要访问特定的演示程序,请克隆根存储库,目标是包含所选演示程序的分支,如下所示,其中表示所选演示程序,取自下表中列出的演示程序之一。

git clone https://github.com/digilent/eclypse-z7  -  recursive -b  / master
演示 描述
基础设计(主) 一个简单的Hello World演示,没有Zmods或外设连接
OoB. 开箱即用的演示,使用RGB LED和按钮具有简单的备忘软件应用程序
zmod_adc_dac. 支持每个zmodADC和zmod.DAC
zmod_adc. 支持一个ZmodADC
zmod_dac 支持一个ZmodDAC

Vivado(HW)存储库

笔记由于硬件切换文件是版本控制的,因此不需要以任何方式使用Vivado项目来运行演示应用程序

本地存储库的“HW”文件夹包含用于构建演示的硬件设计的Vivado项目的来源。

笔记Digilent的Vivado项目需要一个Vivado安装与Digilent Loards的板文件。如果没有满足这些要求中的任何一种,首先通过安装Vivado,Xilinx SDK和Digilent Board文件指导。

在打开Vivado项目之前,必须从其源代码重新创建该项目。要创建项目,首先打开受支持的Vivado版本1).打开Vivado的TCL控制台,然后输入以下命令。这将重新创建和开放Vivado项目。

设置argv“”;源当地回购> < / hw / digilent-vivado-scripts / digilent_vivado_checkout.tcl

一旦项目被打开,设计就可以被探索和修改,然后就可以构建比特流了。项目放置在本地硬件存储库的proj文件夹中。关闭后,可以通过在Vivado的欢迎屏幕上选择Open Project并导航到proj文件夹中包含的.xpr文件来重新打开它。


1) 演示版本只支持Vivado的一个版本,在描述和版本标记中有说明。例如,带有匹配“*-v2019.1-*”标记的版本只支持Vivado 2019.1。

Petalinux项目

关于如何版本控制和使用Petalinux项目的详细信息可以在README中找到。Md文件放置在本地存储库的“os”文件夹中。这些文件也可以在GitHub上查看Eclypse-Z7-OS存储库。

软件工作区

本地存储库的“SW”文件夹旨在用作Xilinx SDK的软件工作区,版本控制所需的项目文件。

关于如何在裸金属和Linux中设置和使用软件工作区的文档,可以在Zmod基础库用户指南

完全构建工作流程和切换文件

硬件设计的更改要求从Vivado导出新的硬件定义,供Petalinux和Xilinx SDK使用。生成比特流后,可以通过Vivado导出硬件切换文件(HDF)文件→导出→导出硬件在Vivado对话框。硬件定义文件(HDF)应该放在本地硬件存储库的“hw_handoff”文件夹中,并且应该包含一个位流。

然后通过从PetalInux项目中运行以下命令(“操作系统”文件夹):

Petalinux-config——get-hw-description=< hw_handoff文件夹>的路径

根据硬件设计的更改,可能需要对PetalInux项目进行更改。这在本文件的范围之外。有助于支持向项目添加zmod层次结构所需的更改的详细说明可以在其中找到在petalinux中添加zmod支持指导。

Petalinux项目必须重新构建和重新打包:

petalinux-build petalinux-package --boot --fsbl  --fpga  --uboot

通过右键单击硬件平台项目并选择,可以将硬件的更改进入Xilinx SDK。改变硬件规范.在结果对话框中,导航并选择hw/hw_handoff文件夹,HDF被导出到该文件夹。这个过程只需要执行一次。每当重新导出硬件平台时,SDK将生成一个提示,询问是否应该应用对规范的新更改。