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文件来重新打开它。
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将生成一个提示,询问是否应该应用对规范的新更改。