Development with Zynq – Part 2 – Set-Up the development environment

This blog series describe the selection, set-up and usage of a development environment for Zynq.

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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.