Skip to content
/ mri Public

MRI - Monitor for Remote Inspection. The gdb compatible debug monitor for Cortex-M devices.

License

Notifications You must be signed in to change notification settings

adamgreen/mri

Repository files navigation

MRI - Monitor for Remote Inspection

MRI is a debug monitor which allows the GNU debugger, GDB, to debug Cortex-M3/M4 processors. This makes it possible to debug applications running on Cortex-M devices using a full featured source level debugger with no extra hardware other than a serial connection.

Important Notes:

  • MRI is meant to work with arm-none-eabi-gdb. See notes here about running other OS ABI versions of GDB with ARM target support.
  • This project just contains the sources to build the MRI debug monitor library but doesn't show how to link it into your program and make use of it. Such an example is provided by the GCC4MBED project.

MRI Features

  • 6+ hardware breakpoints (actual number depends on device)
  • 4+ data watchpoints (actual number depends on device)
  • single stepping
  • runs over any of the UART ports on the device (selected when user compiles their code)
  • baud rate is determined at runtime (through GDB command line) on devices that support auto-baud detection
  • semi-host functionality:
    • stdout/stderr/stdin are redirected to/from the GDB console
    • mbed LocalFileSystem semi-host support (fopen, fwrite, fread, fseek, and fclose) - mbed-LPC1768 only
    • maintains access to mbed device's unique ethernet address - mbed-LPC1768 only
  • works with free GNU Tools for ARM Embedded Processors
  • no program binary size limitations
  • open source (Apache Licensed)

Devices Supported

Device Sample Boards
NXP LPC17xx mbed-1768
LPC1769 LPCXpresso Board
NXP LPC43xx Micromint Bambino 210
STM32F429XX STM32F429 Discovery kit

How to Clone

This project uses submodules (CppUTest for unit testing). Cloning requires a few more steps to get all of the necessary code.

git clone [email protected]:adamgreen/mri.git
cd mri
git submodule init
git submodule update

- or -

git clone --recursive [email protected]:adamgreen/mri.git

More MRI Information

Getting started with MRI in GCC4MBED: Documents how to setup the mbed device and GCC4MBED project to use MRI for debugging binaries. Also provides a walk through of a debugging session with one of the GCC4MBED samples.

Supported Host Platforms: Which platforms has GDB been run on while connected to MRI.

Supported Devices: Which devices can currently be debugged with MRI.

Why use MRI: Documents the advantages of using a debug monitor like MRI and its known limitations.

Porting MRI: Notes on how to port MRI to new devices.

Reporting a Problem: How to extract information from your PC to show what was happening at the time a problem occurs in a MRI debugging session.

FAQ

About

MRI - Monitor for Remote Inspection. The gdb compatible debug monitor for Cortex-M devices.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages