Skip to content
Snippets Groups Projects
README.md 2.07 KiB
Newer Older

This directory is reserved for XSDK projects.

XSDK is a development tool made by Xilinx to handle of software running on the FPGA processor. It is based on the same GUI used for eclips so the tools should feel firmiliar. For more infomation see [Xilinx's webpage on XSDK](https://www.xilinx.com/products/design-tools/embedded-software/sdk.html)
## Setup
XSDK, being based on Ecplise, is rather fragile, so do yourself a favor
and read this section so things get setup correctly.

bbartels's avatar
bbartels committed
1. When you first open eclipse, select this directory, `xsdk_workspace`, as
   your workspace (see what we did there?).

2. When you get to your workbench, your project pane should be empty. To
   add these projects, right-click on the project pane, and click on something
   like "import projects".

  1. Select "Import Existing Projects" (whereever that is)
  2. And then select the xsd_workspace as the folder where you want to import
     projects. Add them all.

3. If things are going swimmingly, then you should be able to build everyhing
bbartels's avatar
bbartels committed
   and be off on your merry embedded endeavors.

## XSDK FYIs
bbartels's avatar
bbartels committed
Definitely first read the [Xilinx How-To](../doc/how_to_use_xilinx_tools.pdf).
//TODO make new MD-file to contain information in pdf
bbartels's avatar
bbartels committed
The XIlinx SDK has a few quirks that are important to watch out for:
 1. From the [documentation](https://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/SDK_Doc/tasks/sdk_t_tcf_limitations_faq.htm), if you abort program execution while at a breakpoint inside an interrupt handler, when re-running the program, interrupts don’t fire. You have to do a hard reset of the board (cycle power) to have interrupts work again.
 2. After doing a `git pull` or `git checkout`, refresh the files by right-clicking on the project in the sidebar and clicking "Refresh"
 3. The project does not detect changes in header files, so if you modify a `.h` file, you should do a clean before re-building, otherwise you may experience unexpected behavior. We got into the habit of always doing a clean before a build whenever creating code that will be put on the quadcopter.