Please note that User Registration has been temporarily disabled due to a recent increase in automated registrations. If anyone needs an account, please request one here: RequestAccount. Thanks for your patience!--Wmat (talk)
Please email User:Wmat if you experience any issues with the Request Account form.

Xilinx SDK in standard Eclipse software

From eLinux.org
Jump to: navigation, search

Summary

The Eclipse IDE is a multi-language software development environment comprising a workspace equipped with lots of whistles and bells for code writing and an extensible plug-in system to develop and debug applications in and with various programming languages. Most programming language plugins offer widgets and wizards to easily hook to language compilers, assemblers, debuggers and etcetera.

Using a single Eclipse setup one can develop and debug applications in multiple languages without the need of switching development environment. This makes Eclipse a popular and widely used software development environment.

Therefore Xilinx has equipped it's Embedded Development Kit (EDK) tools for Microblaze and Zynq with a Software Development Kit (SDK) based on Eclipse.

This means that one already developing software or hardware using the regular Eclipse software distribution needs to switch to the Xilinx specific version of Eclipse, with all risks running two different versions of the same tool, to develop an application for Microblaze or Zynq.

This paper provides a guide and options to include the Xilinx SDK tool setup into a regular version of Eclipse so that the power of Eclipse (develop different applications possibly in different software languages without switching or leaving the development environment) is regained.


Introduction

Start with a warning: What is described in this paper, methods to implement the Xilinx SDK tools into a regular Eclipse installation, works perfectly but it is not a Xilinx tools supported design flow. Thus when having tool troubles try the designs using the Xilinx SDK toolkit first before contacting Xilinx support. When reporting issues about or with the tools use the Xilinx SDK tools flow. In order to use this paper the most recent version of the Xilinx ISE – EDK/SDK tools and the most recent version of Eclipse must be installed. At the moment of writing these are ISE/Vivado 14.4/2012.4 and Eclipse 4.2.x (Juno).

Eclipse

Eclipse includes Equinox p2, a platform for installing, managing, and updating Eclipse-based applications and extensions. New software installs, updates and or upgrades are normally managed trough the “p2” user interface. One of the additional things “p2” offers is a manual install of plugins in the dropins or custom folder.

Before "p2”, installing new plugins was done by many Eclipse users by simply dumping them in the eclipse/plugins/ directory and restarting with the -clean command line argument. There are many drawbacks to this "wild west" approach that will not be discussed here, but suffice it to say that this approach to installation is not at all recommended.

“p2” will help installing, updating and deleting plug-ins. It will also detect plug-ins added to the plugins folder, but alterations to plug-ins installed by p2 in this directory is not supported. If you manually remove a plug-in installed by p2, or attempt to replace with a different version, p2 will not detect it and leave a broken Eclipse installation.

The short rule of thumb is: if something is added manually, remove it manually. If installed via p2, it should be uninstalled via p2. The shorter rule of thumb is: don't mess with the plugins folder. “p2” provides a new dropins folder that is much more powerful and allows separation of content managed by p2 from content managed by other means.

The dropins folder is where plug-ins can be dropped if the p2 user interface is not used. “p2” will also detect extra plug-ins dropped into the dropins directory, and install any discovered bundles into the system. The dropins folder supports a variety of layouts but only one will be discussed here.

If one wants to know the details about equinox-p2 and/or the dropins folder, please consult the Eclipse documentation. A good starting point can be the Eclipse wiki pages (Equinox-p2).

In this case there will only be one set of folders under “dropins”.

Xilinx_SDK
  |
  |<Eclipse>
      |
      |<features>
      |
      |<plugins>

Eclipse installation

Assumed is that the Eclipse tools are not installed. The first thing to do is downloading the tools from Eclipse downloads. Eclipse comes in multiple formats, for java develoment, for C/C++ development and etcetera but download the basic version “Eclipse Classic” version. This is the Eclipse version with the absolute minimum of plugins installed from the start. To make the tools work for one or more languages specific plugins must be installed.

After downloading the “Eclipse Classic” version install it. Of course if Eclipse is already installed on your computer it doesn't need to be installed again, just check if the necessary plugins are installed. Go to one of the two described implementation methods.

Xilinx ISE - EDK/SDK

The Xilinx tools installed need to include the XilinX SDK tools. This means that one of following installations are needed: “ISE Design Suite Embedded Edition + Vivado Design Edition”, “ISE Design Suite System Edition + Vivado System Edition” or “Software Development Kit – Standalone Edition”.

Each of these versions contains the SDK toolkit. For the ISE installations it will be installed as sub-folder of the EDK tools and for the standalone version it can be found directly under the SDK root folder.


Implementation

First check if non of these plugins are installed:

- C/C++ Develpment Tools (CDT)Remote System Explorere and Target Managment (RSE & TM)
- LinuxTools, Gprof Integration.
- Cobertura 
- Simple Logging facade for Java (SLF4J), LogBack
- RXTX End-User Runtime


This check can be done by:

  • Click the [Help] tab and then in the menu select [About Eclipse SDK]
  • In the pop-up box hit the [Installation Detail] button.
  • In a new pop-up box all details of the installed Eclipse software are listed under different selectable tabs.
  • The first tab [Installed Software] lists what needs to be known.

If none of the listed plugins is installed use “Method One”. If one or more of these plugins are installed use “Method Two”.

Method one

When you are not developing C\C++ applications, this might be the easiest way to get the Xilinx SDK tools running for you.

  • Open a terminal (Linux) or command window (Microsoft).
  • Change to the dropins folder of the Classic Eclipse software installation.
  • Make a new folder called “Xilinx_SDK”, or other name.
  • Watch out, it's possible that administrator rights are necessary to do this.
  • Copy the “features” and “plugins” folders from the Xilinx SDK Eclipse installation into this newly created folder in the Classic Eclipse folder


By copying both folders entirely all necessary tooling is installed to.

Start Eclipse from the command line using: eclipse -clean and close it immediately after start-up. Start Eclipse normally from the desktop or launcher icon. The Xilinx SDK tools will appear now in the regular Eclipse installation.


Method two

If one of the listed plugins is installed or if one of the listed plugins can be used for development of other applications follow this guide. As written at the start of this document, it is assumed that "Eclipse-Classic" version is installed without any additional plugins than those installed by default.

  • Start Eclipse.
  • Select [Windows] tab and in the pull-down menu [Preferences].
  • A pop-up menu appears.
  • Select in the options list [Install/Update] and then in the sub-selection [Available Software Sites].
  • Click the [Add] button (From this point the action will need to be repeated for each new software/plugin that needs to be installed).

In the pop-up, add name and location from the listed items below:

C\C++ Development Tool (CDT) http://download.eclipse.org/tools/cdt/releases/juno
Remote System Explorer (RSE) http://download.eclipse.org/tm/updates/3.4/
EclipseLink http://download.eclipse.org/rt/eclipselink/updates/
AnyEdits http://andrei.gmxhome.de/eclipse/

If VHDL/Verilog/SystemVerilog design needs to be done, a possible extra plugin that can be installed is:

Simplyfide IDE http://simplifide.com/html/updates
  • Click [OK]


Now all software that needs to be installed and updated after installation is provided to the Eclipse tool. Next thing to do is effectively install the software.

Be aware that the selected software is designed for the Eclipse Juno version. Whenever you install plugins/software for an earlier version or newer version of Eclipse be sure to select the proper version of the plugins/software.

  • Click the [Help] tab and in the menu select [Install New Software].
  • In the new pop-up window select the little down arrow button at the right side of the “Work with” area (left of the [Add] button).
  • In the menu list that appears select “ - All Available Sites - “.
  • In the big window below “Name | Version” all software that can be installed will appear. Select the tools and sub-versions as listed in list 1 below.
  • All plugins that can be installed from the standard Eclipse repositories are installed.
  • Rest the installation of the Xilinx specific plugin.
  • Open a terminal (Linux) or command window (Windows) and change directory to the “dropins” directory of the Eclipse software.
  • For next actions administaror right might be needed.
  • Create a folder “Xilinx_SDK”, or other meaningful name, in this folder create two sub-folders “features” and “plugins”.
  • Copy the contents of the Xilinx-Eclipse “features” folder into this new “features” folder.
  • Copy the files and folders listed in the Xilinx Plugins chapter into the new created “plugins” folder.
  • Done.


Start Eclipse from the command line using: eclipse -clean and close it again immediately after startup. Start Eclipse normally from the desktop or launcher icon.

The Xilinx SDK tools will appear now in the regular Eclipse installation. Warning: Know that the whole setup must be maintained by the user.

Meaning that when new Xilinx software is released the plugins copy process, only this process, must be carried out again.

List 1: List of plugins to install in Eclipse, using Eclipse “Install New Software”.
Name Version ID Provider
C/C++ Debugger Services Framework (DSF) Examples 2.1.0.201209170703 org.eclipse.cdt.examples.dsf.feature.group Eclipse CDT
C/C++ Development Tools 8.1.1.201209170703 org.eclipse.cdt.feature.group Eclipse CDT
C/C++ GCC Cross Compiler Support 1.1.0.201209170703 org.eclipse.cdt.build.crossgcc.feature.group Eclipse CDT
C/C++ GDB Hardware Debugging 7.0.0.201209170703 org.eclipse.cdt.debug.gdbjtag.feature.group Eclipse CDT
C/C++ Memory View Enhancements 2.2.0.201209170703 org.eclipse.cdt.debug.ui.memory.feature.group Eclipse CDT
C/C++ Multicore Visualizer 1.0.0.201209170703 org.eclipse.cdt.gnu.multicorevisualizer.feature.group Eclipse CDT
C/C++ Unit Testing Support 7.0.0.201209170703 org.eclipse.cdt.testsrunner.feature.feature.group Eclipse CDT
C99 LR Parser 5.2.0.201209170703 org.eclipse.cdt.core.lrparser.feature.feature.group Eclipse CDT
CDT Visual C++ Support 1.0.0.201209170703 org.eclipse.cdt.msw.feature.group Eclipse CDT
CDT Visualizer Framework 1.0.0.201209170703 org.eclipse.cdt.visualizer.feature.group Eclipse CDT
Eclipse SDK 4.2.1.M20120914... org.eclipse.sdk.ide
EclipseLink Target Components 2.4.1.v20121003... org.eclipse.persistence.sdk.feature.group Eclipse.org - EclipseLink Project
GProf Integration 1.1.0.201211201838 org.eclipse.linuxtools.gprof.feature.feature.group Eclipse Linux Tools
Local Terminal (Incubation) 0.2.100.2012091... org.eclipse.tm.terminal.local.feature.group Eclipse TM Project
Marketplace Client 1.1.1.I20110907... org.eclipse.epp.mpc.feature.group Eclipse Packaging Project
Miscellaneous C/C++ Utilities 5.1.0.201209170... org.eclipse.cdt.util.feature.group Eclipse CDT
Remote System Explorer End-User Runtime 3.4.1.201209191... org.eclipse.rse.feature.group Eclipse TM Project
Remote System Explorer User Actions 1.1.400.2012091... org.eclipse.rse.useractions.feature.group Eclipse TM Project
Target Management Terminal 3.3.1.20120919.... org.eclipse.tm.terminal.sdk.feature.group Eclipse TM Project


This plugin is automatically installed after copying the Xilinx plugins into the Classic_Eclipse tool.

RXTX End-User Runtime 2.1.7.4_v20071.... gnu.io.rxtx.feature.group RXTX.org


This is an optional plugin that can be installed from with Eclipse.This plugin provides an IDE tool for VHDl, verilog or system-verilog development.

Simplifide 1.3.0.201208181505 com.simplifide.features.feature.group SIMPLIFIDE


When planning to do Xilinx FPGA development it's worth installing the TCL selection of this toolkit.

Dynamic Languages Toolkit - TCL Development Tools 4.0.0.201206120848 org.eclipse.dltk.tcl.feature.group Eclipse.org


Eclipse additions that make writing code life easier.

AnyEditTools 2.4.3.201211022220 AnyEditTools.feature.group Andrey Loskutov
FileSync 1.3.8.201104160944 FileSync.feature.group Andrei Loskutov

Xilinx plugins

The files and folders that must be copied when installing the Xilinx-SDK tools in a standard Eclipse version are:

  • All files and folders starting with “com.xilinx.sdk.........”
  • All files and folders starting with “gnu.io.rxtx...............”
  • All files and folders starting with “net.sourceforge.cobertura......”
  • All files and folders starting with “org.slf4j.........”


This is the full list:

com.xilinx.sdk.api_1.0.0.jar com.xilinx.sdk.monitors_1.0.0.jar
com.xilinx.sdk.appwiz_1.0.1.jar com.xilinx.sdk.oprofile_1.0.0.jar
com.xilinx.sdk.binutils_1.0.0.jar com.xilinx.sdk.product_1.0.0
com.xilinx.sdk.bootimage_1.0.0.jar com.xilinx.sdk.startup_1.0.0.jar
com.xilinx.sdk.debug.core_1.0.0.jar com.xilinx.sdk.sw_1.0.0.jar
com.xilinx.sdk.debug.sysgen_1.0.0.jar com.xilinx.sdk.sw.ui_1.0.1.jar
com.xilinx.sdk.debug.ui_1.0.0.jar com.xilinx.sdk.targetmanager_1.0.0.jar
com.xilinx.sdk.decorators_1.0.0.jar com.xilinx.sdk.targetmanager.ui_1.0.0.jar
com.xilinx.sdk.docs.cheatsheets_1.0.0 com.xilinx.sdk.tools_1.0.0.jar
com.xilinx.sdk.docs.user_1.0.0 com.xilinx.sdk.ui_1.0.1.jar
com.xilinx.sdk.hw_1.0.0.jar com.xilinx.sdk.ui.dialogs_1.0.0.jar
com.xilinx.sdk.hw.sync_1.0.0.jar com.xilinx.sdk.utils_1.0.0.jar
com.xilinx.sdk.hw.ui_1.0.0.none.jar com.xilinx.sdk.xbash_1.0.0.jar
com.xilinx.sdk.launch.remote_1.0.0.jar gnu.io.rxtx_2.1.7.4_v20071016.jar
com.xilinx.sdk.loggers_1.0.0.jar gnu.io.rxtx.linux.x86_64_2.1.7.3_v20071015
com.xilinx.sdk.lscript_1.0.0.jar net.sourceforge.cobertura_1.9.2.jar
com.xilinx.sdk.managedbuilder_1.0.0.jar org.slf4j.api.logback_1.5.8.jar