@:~$ 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