uMon Icon
An Embedded System Boot Platform
Quick introduction
User manual
Current release
Available releases

MicroMonitor, or uMon, is an open-source embedded system boot platform. It is a mature, target-resident environment that provides the target system with a set of capabilities that enhance the development process and add to the flexibility of the deployed application.   In its simplest form, it is a bootloader used to speed up the early stages of embedded system development by providing a target independent mechanism for program/data storage as well as industry standard communication interfaces for transfer of data to/from the target.

As a part of a development strategy for an organization, it provides a common base platform, an integral part of the application itself, providing the system with a core set of features that are generic in nature, and should be useable by application code regardless of the operating system chosen.

A fully enabled MicroMonitor platform includes:
  • Extensible built-in flash file system (TFS)
  • Support for JFFS2 and FAT
  • TFTP client/server for network file transfer
  • Xmodem for serial file transfer
  • On-board ASCII file creation (i.e. target resident file editor)
  • File-based scripts with conditional branching
  • ASCII-script-driven startup options
  • Command line history and editing
  • UDP and RS232 based command line interaction
  • Versatile configuration management using files
  • Symbols and shell variables
  • Symbolic display of variables, stack trace, runtime profiling and memory-based runtime trace
  • Gdb server for application loads and post-mortem analysis
  • Network host supporting ICMP and DHCP/BOOTP as a startup option
  • Syslog client
  • Zlib-based decompression
  • Password-protected user levels
  • Large API to hook the application to facilities provided by monitor
  • Frame buffer interface, with variable sized fonts and bitmap generation.
    Here are a few examples that are simply running uMon scripts:
    cogent_demo keypad_demo fbi_demo
  • Support for Multicast-DNS and IPV4-Local-Link Addressing
  • Extensive documentation and application examples
  • CPU ports: PowerPC, MIPS, ARM/Xscale, 68K/ColdFire, Blackfin, SH2, MicroBlaze, Nios
  • OS boots: VxWorks, Linux, uC/OS-II, eCos, RTEMS, Nucleus, CMX, pSOS, etc... 
  uMon-M: Port to Cortex-M3/M4 boards.  This is a port of uMon to a (relatively) small-memory-footprint system.  It required several adjustments to uMon standard; hence the need to create a separate uMon-M (uMon for MCUs) tarball. As of this writing (Jan 2015), there are ports for the following MCUs: LPC1768 (board=Simplecortex), STM32F4 (board=Discovery), Kinetis-K60 (board=TWR-K60N512) and Kinetis-K64 (board=FRDM).
 I added a chapter to the end of the user manual documenting the changes made to fit this type of system and also wrote a short "getting started" guide for uMon-M on the K64F-FRDM board.

The MicroMonitor source tree,
authored by Ed Sutter,
was originally available under the
MicroMonitor Lucent Open License
but has recently been made available under
Contact the author for more information.

Embedded System's Firmware Demystified It was later released (Feb 2002) as part of the book
" Embedded Systems Firmware Demystified"

Need some encouragement? Check these out...

Java and Linux VPS Hosting by RimuHosting