For 32 bit CPUs look Micromonitor by Mr. Ed Sutter:
**broken link removed**
MicroMonitor is an embedded system boot platform centered around an extensible embedded flash file system called TFS. With TFS in the monitor, things like XMODEM and TFTP (also in the monitor) can now refer to files instead of address space. The whole boot-up strategy is driven by the content of one or more files that can be scripts or executable images. The file system is accessible at the command line and through an API accessible by the application. The API provides a flexible means of reading and writing files in flash, plus the TFS implementation provides power-safe runtime defragmentation as the flash fills up. A network-accessible, MicroMonitor-based embedded system provides a firmware development project with immediate network boot (DHCP/BOOTP), file based maintainability, in-field upgrade and in-system diagnostics. The firmware assumes a CPU with linear address
space and is not suitable for a microcontroller simply because of the large feature set.
Mr. Sutter offers his sources under Lucent's Open License. Micromonitor supports many CPU architectures, including all of the Cogent Computer Development Boards. The sources build with GNU X-Tools on Windows and Linux host platforms.