<<< | >>>

Approach

We adopted an incremental approach to development composed of the following key increments: For each increment a corresponding test program was written in order to verify successful achievement of the targeted objective.
For the final increment, the test program used was the standard software test suite supplied with FreeRTOS�.

Build Environment

We chose to compile FreeRTOS� using the m68k version of the GNU Compiler Collection (gcc). The gcc compiler is freely available and well suited to cross-compilation, especially for the ColdFire platform where there are many resources available for cross-compilation.

In addition to gcc, we chose to use the Newlib implementation of the standard C libraries as the Newlib libraries have been designed specifically for embedded systems and are known to work on the ColdFire platform.

To simplify the build process make was used to produce an ELF image of the real time operating system as well as an S-Record should serial download of the real time operating system be required.

For debugging, we used the GNU debugger (gdb) over a BDM connection. This decision was based on the availability of the tool and BDM setup and our experience with this configuration and it proved to be a very suitable choice. The ELF image could be quickly downloaded onto the chip using the BDM connection (rather than sending the S-Record over a slower serial connection).

The Newlib libraries also provided console output via the dBUG interface of the ColdFire development boards allowing us to perform some debugging using more conventional means.

Implementation Strategy

The first part of our investigation involved surveying the available FreeRTOS� ports and then choosing a suitable port on which to base our own. We decided to use the AVR ATMega323 port for the following reasons:
  1. The MegaAVR port also uses the GCC compiler (albeit a modified WinAVR build).
  2. The MegaAVR has somewhat similar hardware specifications to our target platform.
  3. The MegaAVR port is the most thoroughly documented port of FreeRTOS�.
Where the MegaAVR port was not sufficient we compared the other ports available as well as the SimpleOS operating system used in the Operating Systems subject which is designed for the MCF5272.

Before writing the code we first studied the operation of the MegaAVR port, documenting our understanding and then studying the ColdFire Programmer's Reference Manual and ColdFire MCF5272 User Manual for equivalent instructions and features.

NEXT >>> ColdFire RTOS Port - Phase 1 - Compiling

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.