Common 68332 (MRM) Development Environment

The OOMRM development environment uses many of the tools suggested by Mark Castelluccio for the MRM, but some of the MRM supplied code has been replaced and/or modified. The OOMRM enviromnment assumes the 512K RAM option and battery backed options. Without 512K, the navigational grids would be limited to a point of probably little usefulness. Also, in the MRM, the battery backed RAM is used for the persistent memory. This section details many of the internals that are specific to the embedded environment and specifically the 68332 MRM environement.

Boot Sequence

Table of Contents

The following is general overview of the order of events that occur when programs are compiled for the MRM:

  1. make process begins (makefile), calls ld as final process.
  2. ld starts link: -M produces a map listing, -T to specify link script that will REPLACE default script.
  3. mrm.ld script executes
    1. STARTUP ensures that mrm_crt0.o is first file in the link process
    2. GROUP ensures needed libraries are linked in also (-lmrm -lc -lgcc -lm)
    3. Memory map is set up, defining symbols needed by GNU link process.
  4. mrm_crt.o executes

References:

  1. GCC Internals
  2. Porting to Embedded GCC
  3. Information on linker symbols
  4. Using GNU on Embedded Systems