This blog series describe the selection, set-up and usage of a development environment for Zynq.
- Part 1 – Overview
- Part 2 – Set-Up the development environment
- Part 3 – Build boot files
- Part 4 – Boot Linaro from SD Card
- Part 5 – Programmable Logic projects with Vivado
- Part 6 – Eclipse Project for register access
VMware with Lubuntu 13.4
I install the development environment in a virtual machine to keep my PC clean. My PC has 6GB memory with Windows 7 installed. For the development OS i use Lubuntu because it is resource-efficient and up-to-date.
Download and install „VMWare Player 6.0.1“ from http://www.vmware.com/de/products/desktop_virtualization/player/overview.
Download Lubuntu 13.04 x86 installation CD Iso file from www.lubuntu.net.
Virtual Machine
Create a new virtual machine in VMWare Player. Select install from iso File and select the Lubuntu iso file. Select Linux as OS and Ubuntu as version. Increase the maximum disk size to 30GB or more. Before starting the virtual machine increase the memory of the virtual machine to 3GB. Now you can start the machine.
I recommend installing the English version. After installing the German version I had big problems with Vivado and other tools. One problem was that the folder structure differs. Not all programs handle that correct. A second and bigger problem was that the German version use comma not dot for decimal point representation in strings. Vivado cannot convert these strings to float and throw an exception.
Install VMWare tools
This allows you to Drag and Drop between host and client. Select „Player“=>“Manage“=>“Install VMWare Tools…“ to insert the installation iso in the virtual cd drive. Extract the gz package to your home folder.
For installing the tools a build environment is needed. Therefore open a terminal and install it with
sudo apt-get install build-essential
Now you can open a terminal window to the folder with the extracted installation data and type
sudo ./vmware-install.pl
The default configurations are OK.
Uninstall unnecessary tools
Uninstall unnecessary tools under „System Tools“=>“Lubuntu Software Center“=>“Installed Software“. A deeper dive to delete packets is possible with „System Tools“=>“Synaptic Package Manager“.
Use virtual kernel
We run Lubuntu in a virtual enviroment. Therefore we can use the virtual kernel with smaller footprint. First we remove all kernels then we install the virtual kernel.
apt-get -y remove linux-image-* apt-get install linux-image-extra-virtual
The smaller „linux-image-virtual“ cannot be recommended due to missing USB CDC ACM driver. This driver is needed for communication over the USB Serial interface.
Problems on start-up
Sometimes Lubuntu hangs on startup. Therefore it is useful to disable the Splash Screen to see what happens. In filemanager select „Tools“=>“Open Current Folder As Root“. In the new filemanager which open up select file /etc/default/grub and change the line
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
to
GRUB_CMDLINE_LINUX_DEFAULT=""
After save the changes the new settings have to be activated with
update-grub
command in terminal.
Install Eclipse (Version 4.3)
Java is needed for Eclipse. Install it with
sudo apt-get install openjdk-7-jre
Dowload Eclipse IDE for C/C++ Developers package from http://www.eclipse.org/downloads/. Extract package and move it as root to /usr/lib. For integrating the Eclipse Logo to the application menu open the folder „/usr/share/applications/“ as root.
Create the new file „Eclipse.desktop“ and insert the following text.
[Desktop Entry] Name=Eclipse Comment=4.3 Keppler Exec=/usr/lib/eclipse/eclipse Terminal=false Type=Application Encoding=UTF-8 Icon=/usr/lib/eclipse/icon.xpm Categories=Development;
I have reduced the resolution of file icon.xpm from 48×48 pixels to 24×24 to get better menu integration.
After restart or command
lxpanelctl restart
eclipse is visible in application menu.
Install Cross Compiler Toolchain
Download the Linaro Toolchain from https://launchpad.net/linaro-toolchain-binaries.Select the file
gcc-linaro-arm-linux-gnueabihf-4.8-2013.07-1_linux.tar.xz or a newer version. Extract it to your home folder.
It is possible to install a Cross Compiler Toolchain via apt-get but currently gdb is missing and it is not up to date.
Install GIT
The sources of U-Boot and Kernel are in a GIT repository. We need GIT to copy them to our development environment.
sudo apt-get install git
Install Filezilla
Filezilla is a program to transfer files from and to the target hardware via SFTP/FTP.
sudo apt-get install filezilla
Extra scripts
These collection of scripts placed on my desktop simplify my work. I use “desktop configuration files”, so I can start them without opening a terminal, instead a double-click on the icon is needed. Script_Desktop.zip includes the following scripts.
Shrink
I use not preallocated disks in VMWare. Temporary existing files increase the vdmk size. Before backup a Machine I shrink it with this script.
SetZedIP
I use WLAN for Internet access. To bring my target hardware to the Internet I share my Internet Connection from my WLAN adapter to the LAN adapter and connect the target hardware to the LAN adapter. A big disadvantage of this solution is that Windows 7 only allows clients with DHCP activated. The Windows DHCP server is very simple, each request gets a new IP. So after restart the target a new IP is assigned. ThieSetZedIP script scans the IP range and search the first device. I have only one device on the LAN adapter, so it finds the target and set the IP in the /etc/hosts file. In Eclipse I use “zedboard” as name for connection.
The script is based on fping. Install it with command
sudo apt-get install fping
and in /etc/hosts a line with the string “zedboard” is needed.
SSHConnect
SSHConnect is a simple script to open a SSH connection as root to device “zedboard”.
Install Vivado
Download Vivado 2013.3 from http://www.xilinx.com/support/download/index.htm. I use All OS Vivado and SDK Full Installer because I install the SDK, too.
Extract the installation data and open the extracted folder. Start installation with “sudo ./xsetup”.
See Vivado Installation for step-by-step instructions.