@:~$ sudo mkdir /opt/Xilinx @:~$ sudo chown $(id -un):$(id -gn) /opt/Xilinx
@:~$ tar -xzf /Xilinx_Unified_2021.2_1021_0703.tar.gz -C @:~$ /Xilinx_Unified_2021.2_1021_0703/xsetup
In the Select Product to Install dialog select Vitis and click Next to proceed.
In the Vitis Unified Software Platform dialog, expand the menu items and select only what is required based on licensing and disk space. The default is to install everything which uses 192.89 Gb of disk space. The following shows the minimum required to use the ZedBoard with a WebPack license. Once happy with the selections click Next to proceed.
In the Accept License Agreements dialog, tick both I Agree boxes and click Next to proceed.
In the Select Destination Directory dialog, enter /opt/Xilinx for the installation directory, untick the Create program group entries, untick the Create desktop shortcuts and click Next to proceed. Note the location of DocNav, this is not versioned like Vitis, Vivado & Vitis HLS, hence any existing DocNav installation at this location will be overwritten.
In the Installation Summary dialog, review the details provided and click Install to proceed.
The Installation Progress dialog will now appear showing the progress of the installation (takes around 45 minutes to complete).
Once installation is complete the Xilinx Software Install dialog will appear, click OK to proceed.
Depending on what devices were selected for installation will ultimately determine whether or not further dialogs appear regarding licensing arrangements. With just Zynq-7000 selected no further dialogs appear and the WebPack license will be used as default.
@:~$ cd /opt/Xilinx/Vivado/2021.2/data/xicom/cable_drivers/lin64/install_script/install_drivers @:/opt/Xilinx/Vivado/2021.2/data/xicom/cable_drivers/lin64/install_script/install_drivers$ sudo ./install_drivers @:~$ cd ~
@:~$ sudo apt-get install -y iproute2 gawk python3 python build-essential gcc git make net-tools libncurses5-dev tftpd zlib1g-dev libssl-dev flex bison libselinux1 gnupg wget git-core diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib automake zlib1g:i386 screen pax gzip cpio python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint3 libncurses5
@:~$ /Xilinx_Unified_2021.2_1021_0703/xsetup
In the Select Product to Install dialog select PetaLinux (Linux only) and click Next to proceed.
In the Select Edition to Install dialog select PetaLinux arm and click Next to proceed.
In the Accept License Agreements dialog, tick both I Agree boxes and click Next to proceed.
In the Select Destination Directory dialog, enter /opt/Xilinx for the installation directory, untick the Create program group entries, untick the Create desktop shortcuts and click Next to proceed.
In the Installation Summary dialog, review the details provided and click Install to proceed.
Once installation is complete the Xilinx Software Install dialog will appear, click OK to proceed.
@:~$ sudo apt-get install minicom @:~$ sudo adduser $(id -un) dialout
@:~$ minicom -D /dev/ttyACM0 -b 115200
@:~$ sudo apt-get install -y git
@:~$ wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add - @:~$ sudo apt-add-repository "deb https://download.sublimetext.com/ apt/stable/" @:~$ sudo apt install -y sublime-text
@:~$ sudo apt-get install -y curl
@:~$ sudo apt-get install -y sshpass
@:~$ sudo mkdir -p @:~$ sudo chown $(id -un):$(id -gn) @:~$ mkdir -p /common/{fw/src/{constraint,script},sw/src/{bsp,script},other/src/script} @:~$ cd /common
@:~/projects/common$ unzip /zedboard_master_XDC_RevC_D_v3.zip -d /common/fw/src/constraint
@:~/projects/common$ mv /avnet-digilent-zedboard-v2021.2-final.bsp /common/sw/src/bsp
@:/common$ subl other/src/script/create_project_structure.sh
@:/common$ wget https://spacewire.co.uk/tutorial/shared/repos/0001/common/other/src/script/create_project_structure.sh -O other/src/script/create_project_structure.sh
@:/common$ subl fw/src/script/create_vivado_project.sh
@:/common$ wget https://spacewire.co.uk/tutorial/shared/repos/0001/common/fw/src/script/create_vivado_project.sh -O fw/src/script/create_vivado_project.sh
@:/common$ subl fw/src/script/create_vivado_project.tcl
@:/common$ wget https://spacewire.co.uk/tutorial/shared/repos/0001/common/fw/src/script/create_vivado_project.tcl -O fw/src/script/create_vivado_project.tcl
@:/common$ subl sw/src/script/create_vitis_project.sh
@:/common$ wget https://spacewire.co.uk/tutorial/shared/repos/0001/common/sw/src/script/create_vitis_project.sh -O sw/src/script/create_vitis_project.sh
@:/common$ subl sw/src/script/create_vitis_project.tcl
@:/common$ wget https://spacewire.co.uk/tutorial/shared/repos/0001/common/sw/src/script/create_vitis_project.tcl -O sw/src/script/create_vitis_project.tcl
@:~/projects/common$ chmod +x other/src/script/create_project_structure.sh @:~/projects/common$ chmod +x fw/src/script/create_vivado_project.sh @:~/projects/common$ chmod +x sw/src/script/create_vitis_project.sh
@:/common$ subl other/src/script/xilinx_2021_2.sh
@:/common$ wget https://spacewire.co.uk/tutorial/shared/repos/0001/common/other/src/script/xilinx_2021_2.sh -O other/src/script/xilinx_2021_2.sh
@:/common$ subl other/src/script/xilinx.sh
@:/common$ wget https://spacewire.co.uk/tutorial/shared/repos/0001/common/other/src/script/xilinx.sh -O other/src/script/xilinx.sh
@:~/projects/common$ chmod +x other/src/script/xilinx_2021_2.sh @:~/projects/common$ chmod +x other/src/script/xilinx.sh
@:~/projects/common$ source /common/other/src/script/xilinx.sh Xilinx tools available tools at /opt/Xilinx :- 1) 2013.4 - Vivado - SDK - Vitis - PetaLinux 2) 2015.2 - Vivado - SDK - Vitis - PetaLinux 3) 2019.1 - Vivado - SDK - Vitis - PetaLinux 4) 2020.2 - Vivado - SDK - Vitis - PetaLinux 5) 2021.2 - Vivado - SDK - Vitis - PetaLinux 0) Exit Please select tools required or exit : 5 Tools are as follows :- vivado @ /opt/Xilinx/Vivado/2021.2/bin/vivado vitis @ /opt/Xilinx/Vitis/2021.2/bin/vitis petalinux-build @ /opt/Xilinx/PetaLinux/2021.2/tool/tools/common/petalinux/bin/petalinux-build
@:~/projects/common$ cd ~ @:~$ subl ~/.bashrc
@:~$ ssh @Server:~$ sudo useradd -r -m -U -d /home/git -s /bin/bash git @Server:~$ sudo su - git git@Server:~$ mkdir .ssh git@Server:~$ chmod 0700 .ssh git@Server:~$ touch .ssh/authorized_keys git@Server:~$ chmod 0600 .ssh/authorized_keys
@:~$ cat .ssh/id_rsa.pub
@:~$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home//.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: The key fingerprint is: SHA256:0l/Upmt2lqfE81I72v5Zm5/mOR3L8/2Mr5Wjwi805Pg @ The key's randomart image is: +---[RSA 4096]----+ | | | . | | . o | | . o o | | . S + o | | . o = o oo| | = = O+O| | E ++^@| | ++O&^| +----[SHA256]-----+
@:~$ scp ~/.ssh/id_rsa.pub @:/home/
git@Server:~$ cat /home//id_rsa.pub >> .ssh/authorized_keys git@Server:~$ sudo rm /home//id_rsa.pub
git@Server:~$ git init --bare example.git
@:~$ git config --global user.email your@email_address @:~$ git config --global user.name "Your Name"
@:~$ cd /tmp @:/tmp$ git clone git@:example.git Cloning into 'example'... warning: You appear to have cloned an empty repository. @:/tmp$ cd example @:/tmp/example$ git status On branch master No commits yet nothing to commit (create/copy files and use "git add" to track) @:/tmp/example$ echo "Some wise words required..." > readme.txt @:/tmp/example$ git status On branch master No commits yet Untracked files: (use "git add <file>..." to include in what will be committed) readme.txt nothing added to commit but untracked files present (use "git add" to track) @:/tmp/example$ git add readme.txt @:/tmp/example$ git status On branch master No commits yet Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: readme.txt @:/tmp/example$ git commit -a -m "Added readme file, alas no wise words yet!" [master (root-commit) cac7986] Added readme file, alas no wise words yet! 1 file changed, 1 insertion(+) create mode 100644 readme.txt @:/tmp/example$ git status On branch master Your branch is based on 'origin/master', but the upstream is gone. (use "git branch --unset-upstream" to fixup) nothing to commit, working tree clean @:/tmp/example$ git push Enumerating objects: 3, done. Counting objects: 100% (3/3), done. Writing objects: 100% (3/3), 258 bytes | 258.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0) To :example.git * [new branch] master -> master @:/tmp/example$ git status On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working tree clean
@:/tmp/example$ cd .. @:/tmp$ git clone git@:example.git example_check Cloning into 'example_check'... remote: Enumerating objects: 3, done. remote: Counting objects: 100% (3/3), done. remote: Total 3 (delta 0), reused 0 (delta 0) Receiving objects: 100% (3/3), done. @:/tmp$ cd example_check @:/tmp/example_check$ cat readme.txt Some wise words required... @:/tmp/example_check$ git log commit cac798667af67d2ed245672cb36a786f0c3208ed (HEAD -> master, origin/master, origin/HEAD) Author: Steve <@> Date: Thu Dec 30 12:24:54 2021 +0000 Added readme file, alas no wise words yet!
@:/tmp/example_check$ cd ~ @:~$ rm -r /Xilinx_Unified_2021.2_1021_0703 @:~$ # rm /Xilinx_Unified_2021.1_0610_2318.tar.gz @:~$ rm /zedboard_master_XDC_RevC_D_v3.zip
@:~$ ssh -t git@ 'git init --bare common.git' @:~$ cd /common @:/common$ git init @:/common$ git remote add origin git@:common.git
@:/common$ git status -u On branch master No commits yet Untracked files: (use "git add <file>..." to include in what will be committed) fw/src/constraint/zedboard_master_XDC_RevC_D_v3.xdc fw/src/script/create_vivado_project.sh fw/src/script/create_vivado_project.tcl other/src/script/create_project_structure.sh other/src/script/xilinx.sh other/src/script/xilinx_2021_2.sh sw/src/script/create_vitis_project.sh sw/src/script/create_vitis_project.tcl nothing added to commit but untracked files present (use "git add" to track)
@:/common$ git add -A @:/common$ git commit -a -m "Initial commit of common files." @:/common$ git push -u origin master
@:/common$ git tag -a v1.0 -m "Common files" @:/common$ git push origin v1.0
@:~$ cd @:$ git clone https://bitbucket.org/spacewire_firmware/common
@:~$ cd /common @:/common$ git pull