Anchor | ||||
---|---|---|---|---|
|
Boot Loader (Obsolete as of 2013/09/01)
Anchor | ||||
---|---|---|---|---|
|
DAT Core Code APIs (Obsolete as of 2013/09/01)
- Dynamic Linker
- Protocol Plugins
- Command Shell
- Flash container interface (FCI)
- RCE Core Projects and Packages(Obsolete as of 2011/04/06)
Anchor ThirdPartyCode ThirdPartyCode
Third party code
- iperf network benchmarking package
Anchor Howto Howto
"How-to"s for Developers
- Development Environment
- Code repository
- Documenting code
- Building and Releasing
- Bug and Issue Tracking (JIRA, SLAC only)
- Debugging (XMD and GDB)
- RTEMS Installation
- Xilinx & JTAG tools and 'Unsticking' a Xilinx JTAG dongle
- Interacting with the COB IPMC via the Shelf Manager
- How to update FPGA firmware
- How to burn a bootstrap to flash
- How to set up a Shelf Manager
Anchor | ||||
---|---|---|---|---|
|
Development notes
- Project hierarchy
- RCE memory layout
- GCC inline assembler code notes for PowerPC
- Original RCE board (Gen0) PowerPC Startup procedure
- RTEMS & static C++ constructors
- Ethernet Software (prior to core 2.0)
- PGP implementation for Gen 1
- Freeware XML editors
Anchor | ||||
---|---|---|---|---|
|
Release Notes
How-to Build New Applications
Checkout top level release
directory and cd to it. This contains the Makefile infrastructure:
Code Block |
---|
cvs co -d <mydir> release
cd <mydir>
|
Checkout the appropriate projects:
Code Block |
---|
cvs co rce
cvs co rceusr
cvs co rceapp
|
The ideas behind these three projects are as follows:
- rce project provides common infrastructure that should be re-usable for all software that runs on the RCE. It is like a C++ extension of the RTEMS BSP (e.g. network, thread wrappers, ethernet/PGP PIC drivers).
- rceusr is higher level code that can be reused (e.g. libraries to support a console application, or a particular use of PGP).
- rceapp is the highest level executables.
Edit projects.mk
according to your needs (this is the list of projects to build)
Build one or more of the available targets, eg:
Code Block |
---|
gmake ppc-rtems-rce405
gmake i386-linux
|
You may append -opt
to the architecture name for building with optimization and/or -dbg
for building with the debugging information. For example the following commands specify valid targets:
Code Block |
---|
gmake i386-linux-opt
gmake i386-linux-dbg
gmake i386-linux-opt-dbg
|
These commands can be issued at the top level to build the specified architecture for all projects in the release, at the project level to build all packages for that project or at the package level to build one package only. Note that:
Code Block |
---|
gmake rceapp.console.ppc-rtems-rce405
|
and
Code Block |
---|
cd rceapp/console
gmake ppc-rtems-rce405
|
are equivalent.
Note that we use shared libraries on Linux, but with the much-improved-but-not-perfect $ORIGIN approach for locating shared libraries, so there is no more LD_LIBRARY_PATH or RPATH to worry about.
Software Storage
There are three types of flash memory currently associated with the RCE:
- "platform flash" is flash memory that stores the Xilinx FPGA configuration
- "petacache flash" is the flash memory that lives on DIMM boards associated with the slice FX20s (used only for the petacache project, currently)
- "configuration flash" is controlled by the powerPC software, and contains elf executable images and data needed by the powerPC.
...