RTEMS on the MRM332

This page is intended to simplify the process of getting started with the Robominda MRM332 board and RTEMS on a GNU/Linux host. The MRM332 BSP was not included in RTEMS 4.5.0 but has been included in development snapshots since the summer of 2001 and is included in the set of BSPs built before every snapshot. The BSP was submitted by Matt Cross profesor@gweep.net who has been busy on other things and unable to provide updates or regularly testing. This BSP really needs a volunteer to do these activities. I know I had a fix for something on the BSP which I found by interacting with another 68332 user but do not know volunteer to coordinate the fix with. RTEMS is largely a volunteer effort. If you want your board actively tested, then this requires some feedback from the MRM332 user base.

OAR provides prebuilt tools as RPMs for GNU/Linux hosts on a regular basis. For a FreeBSD host, these tools are included in the standard "ports" system. For Cygwin, OAR has made available prebuilt tools in the past but these currently are not updated as frequently as the GNU/Linux binaries. Given sufficient interest (a.k.a. funding), Cygwin binaries would be updated more frequently.

If prebuilt tools are not available for your host and RTEMS version, then you will have to build them. Instructions for building the development tools are included in the manual Getting Started with RTEMS for C/C++ Users. Please follow the instructions for building using configure and make directly.

The Cross Development Toolset


Some have commented negatively about the RTEMS download. I suspect this is because they have downloaded too much. In this light, I am providing information about the tool specifics required with the MRM332 BSP. RTEMS provides tools for about a dozen CPU families and languages besides C and C++. Most people don't need them. So here is a list of the RPMs required. Since the links point to the directory which includes source and RPMs, you can use the links either way. In order to keep this list from becoming out of date, I am not including specific version numbers although the link will work since it points to the "LATEST" directory. Remember, if you are using RPMs, you do not HAVE to download the source. Conversely, if you are building from source, you do not need the RPMS.

  • The GNU Binary Utilities (binutils) primarily include the assembler, linker, librarian for your target. You need to install two RPMs:
  • rtems-base-binutils-VERSION.i386.rpm
  • m68k-rtems-binutils-VERSION.i386.rpm
  • For the RTEMS snapshots that include the MRM332, these current versions and corresponding source can be found at
    ftp://ftp.oarcorp.com/pub/rtems/snapshots/c_tools/LATEST-BINUTILS/. These two RPMs will be approximately 6 Mbytes and the corresponding source is about 7.7 Mbytes.
  • For the GNU Compiler Collection (gcc), you probably only need support for C and C++ and certainly only for the MRM332. This significantly cuts down what you could have downloaded. The C/C++ support includes the C Library (newlib).
  • rtems-base-gcc-gccVERSION.i386.rpm
  • m68k-rtems-gcc-gccVERSION.i386.rpm
  • For the RTEMS snapshots that include the MRM332, these current versions and corresponding source can be found at ftp://ftp.oarcorp.com/pub/rtems/snapshots/c_tools/LATEST-GCCNEWLIB/. These two RPMs will be approximately 10 Mbytes and the corresponding source is about 16.5 Mbytes.
  • For the GNU Debugger (gdb), I recommend continuing to use whatever GNU debugger you are currently using with the target. This is important because it already has support for the MRM332 monitor and whatever BDM module you are using.

  • Building RTEMS Itself

    After installing the tools and adding them to your PATH, you will need to configure, build, and install RTEMS for the MRM332. The fullly detailed instructions for this are in the Getting Started with RTEMS for C/C++ Users but the key steps are:

    1. untar RTEMS
    2. make a build directory
    3. change directory to the build directory (cd b-mrm332)
    4. configure RTEMS (../rtems-VERSION/configure --target=m68k-rtems --enable-rtemsbsp=mrm332). Note that RTEMS has many features that also can be enabled and disabled at this time. This selects the default setting.
    5. build RTEMS (make)
    6. install RTEMS (make install)

    Downloading to MRM332

    TBD


    Things to do on MRM332 BSP

    Joel has a fix for the console driver but no one in the MRM332 community to test and give feedback.


    Conclusion

    As always, RTEMS is a typical open source project in that things only get done when people volunteer to do them or pay to have them done. We are happy to take feedback and patches. OAR offers training to anyone interested in getting up to speed faster.


    Copyright © 2002 Joel Sherrill