<commit_before>==MRI - Monitor for Remote Inspection
MRI is a debug monitor which allows the GNU debugger, GDB, to be used with the [[http://mbed.org/handbook/mbed-NXP-LPC1768|mbed 1768 device]].  This makes it possible to debug applications running on the mbed device using a full featured source level debugger.  MRI is able to communicate with GDB through the convenient USB based serial port on the mbed or any of the device's other 3 available serial ports (incase the application requires exclusive access to the USB based serial port.)

**Please Note:**  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 [[https://github.com/adamgreen/gcc4mbed|gcc4mbed project.]]


==MRI Features on mbed 1768
* 6 hardware breakpoints
* 4 data watchpoints
* single stepping
* runs over any of the serial ports on the mbed device (selected when user compiles their code)
* baud rate is determined at runtime (through GDB command line)
* semi-host functionality:
** stdout/stderr/stdin are redirected to/from the GDB console
** minimal mbed LocalFileSystem semi-host support (fopen, fwrite, fread, fseek, and fclose)
** maintains access to mbed device's unique ethernet address
* works with free [[https://launchpad.net/gcc-arm-embedded|GNU Tools for ARM Embedded Processors]]
* no program binary size limitations
* open source (LGPL)


==More MRI Information
**[[https://github.com/adamgreen/mri/blob/master/notes/mri-getting-started.creole#installation|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.\\
**[[https://github.com/adamgreen/mri/blob/master/notes/mri-platforms.creole#supported-host-platforms|Supported Host Platforms]]:**  Which platforms has GDB been run on while connected to MRI.\\
**[[https://github.com/adamgreen/mri/blob/master/notes/mri-devices.creole#supported-devices|Supported Devices]]:**  Which devices can currently be debugged with MRI.\\
**[[https://github.com/adamgreen/mri/blob/master/notes/mri-limitations.creole#limitations|Limitations]]:**  Lists the known limitations of the MRI debug monitor.  Especially noted are those limitations that it has when compared to a typical JTAG based debugger.\\
**[[https://github.com/adamgreen/mri/blob/master/notes/mri-issues.creole#known-issues|Issues]]:** Contains information about the currently known issues with the MRI debugging solution.\\
**[[https://github.com/adamgreen/mri/blob/master/notes/mri-report-problem.creole#hit-a-problem|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.
**[[https://github.com/adamgreen/mri/blob/master/notes/mri-faq.creole|Frequently Asked Questions]]**<commit_msg>Update README.creole<commit_after>==MRI - Monitor for Remote Inspection
MRI is a debug monitor which allows the GNU debugger, GDB, to be used with the [[http://mbed.org/handbook/mbed-NXP-LPC1768|mbed 1768 device]].  This makes it possible to debug applications running on the mbed device using a full featured source level debugger.  MRI is able to communicate with GDB through the convenient USB based serial port on the mbed or any of the device's other 3 available serial ports (incase the application requires exclusive access to the USB based serial port.)

**Please Note:**  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 [[https://github.com/adamgreen/gcc4mbed|gcc4mbed project.]]


==MRI Features on mbed 1768
* 6 hardware breakpoints
* 4 data watchpoints
* single stepping
* runs over any of the serial ports on the mbed device (selected when user compiles their code)
* baud rate is determined at runtime (through GDB command line)
* semi-host functionality:
** stdout/stderr/stdin are redirected to/from the GDB console
** minimal mbed LocalFileSystem semi-host support (fopen, fwrite, fread, fseek, and fclose)
** maintains access to mbed device's unique ethernet address
* works with free [[https://launchpad.net/gcc-arm-embedded|GNU Tools for ARM Embedded Processors]]
* no program binary size limitations
* open source (LGPL)


==More MRI Information
**[[https://github.com/adamgreen/mri/blob/master/notes/mri-getting-started.creole#installation|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.\\
\\
**[[https://github.com/adamgreen/mri/blob/master/notes/mri-platforms.creole#supported-host-platforms|Supported Host Platforms]]:**  Which platforms has GDB been run on while connected to MRI.\\
\\
**[[https://github.com/adamgreen/mri/blob/master/notes/mri-devices.creole#supported-devices|Supported Devices]]:**  Which devices can currently be debugged with MRI.\\
\\
**[[https://github.com/adamgreen/mri/blob/master/notes/mri-limitations.creole#limitations|Limitations]]:**  Lists the known limitations of the MRI debug monitor.  Especially noted are those limitations that it has when compared to a typical JTAG based debugger.\\
\\
**[[https://github.com/adamgreen/mri/blob/master/notes/mri-issues.creole#known-issues|Issues]]:** Contains information about the currently known issues with the MRI debugging solution.\\
\\
**[[https://github.com/adamgreen/mri/blob/master/notes/mri-report-problem.creole#hit-a-problem|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.\\
\\
**[[https://github.com/adamgreen/mri/blob/master/notes/mri-faq.creole#frequently-asked-questions|Frequently Asked Questions]]**\\
{'fraction_non_alphanumeric': 0.09687083888149134, 'fraction_numerical': 0.006657789613848202, 'mean_word_length': 4.873900293255132, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 18, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3544740', 'n_tokens_mistral': 1768, 'n_tokens_neox': 1651, 'n_words': 676}