Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Installation on Linux Host

...

The SDK contains support for 3 platforms:

  1. arm-rtems-rceCA9 – target specific code for RTEMS
  2. arm-linux-rceCA9 – target specific code for ArchLinux
  3. i86-linux-32 64 – Host tools for 64-bit linux

...

Info

tag is of the format VX.Y.Z

Then finalize the installation by executing:

Code Block
<install_path>/i86-linux-64/tools/install-sdk.sh
<install_path>/arm-rtems-rceCA9/tools/install-sdk.sh

Installation on the Target

...

.

...

You will need the following available:

  1. the i86-linux SDK appropriate to your host machine
  2. the arm-rtems-rceCA9 or arm-linux-rceCA9 SDK
  3. The location of your target in "shelf/slot/bay/rce" space (like "katahdin/12/0/2")

OS System Files

Ensure that the target is booted into the corresponding OS:

Code Block
<i86_linux_SDK_path>/bin/dsl_identify [options] location

 

<i86_linux_SDK_path>/bin/dsl_reboot [options] -t rtems -b 1 location -- or -- <i86_linux_SDK_path>/bin/dsl_reboot [options] -t linux -b 0 location

Package the SDK into a tarball like so:

Code Block
<i86_linux_SDK_path>/tools/packageSDK <SDK_path> ~/foo.tar
 

Upload the tarball to the DTM with:

Code Block
<i86_linux_SDK_path>/tools/uploadSDK <dtm_location> ~/foo.tar

Now, apply the updates to your target at <location> with:

Code Block
<i86_linux_SDK_path>/bin/dsl_update --ip <dtm_ip> --src /srv/nfs4/dsl --file tools/update-target.sh --id <update_id> --tmo <timeout in ms> [options] location
Info

Use a minimum of 8000ms for the --tmo option 

Wait 20-30 seconds, then verify completion status of update:

Code Block
<i86_linux_SDK_path>/bin/dsl_identify [options] location

Reboot the target to apply the update:

Code Block
<i86_linux_SDK_path>/bin/dsl_reboot [options] location

Troubleshooting and recovery

 

You've corrupted something, and you're stuck with a non-booting RCE

In most cases, it is best to use the updateFOO scripts above to recover, but if the RCE is stuck in an infinite boot loop, they won't work.

You can replace the RTEMS core libraries, the RTEMS APP libraries, as well as the bootloader and the FPGA bitstream from an SD reader.   The RTEMS APP area is most likely, since it is the only core partition writable from RTEMS.

  1.  Put the SD card in a reader, and observe that devices are created for the partitions SD card in /dev/sdXN (where X is a letter, and N is [1-7]).  If you need, you can use "partprobe -s" to list them as well.
  2. RTEMS APP libraries and SVTs:
    The RTEMS APP partition is /dev/sdX6.  Mount it.  Copy all files in SDK/tgt/rtemsapp/config to /mnt/config.  Sync the partition and eject.
  3. RTEMS Libraries:
    The RTEMS partition is /dev/sdX5.  Mount that partition.  Copy all the files in SDK/tgt/rtems/* to that mount point.  Sync the partition and eject.
  4.  Bootloader/FPGA bitstream
    The BOOT partition is /dev/sdX1.  Mount it.  Copy either boot.bin or fpga.bit from SDK/tgt/boot/dpm to that point.  Sync and eject.

...