> Has anyone successfully used either U-Boot or Redboot on a NON-Linux based system?
Yes, I use u-boot in a variety of configurations.
> More specifically, on a MicroC/OS-II-based system?
You can use u-boot to boot MicroC/OS-II -- although there isn't currently any
__direct__ support for MicroC/OS-II. So if you need u-boot to pass parameters
to your kernel, you'll have to add this support (which BTW isn't a big deal).
If you don't need to pass parameters to the kernel, you can do one of two
things without any custom code in u-boot:
1. Load the kernel, then simply execute a "go" command.
2. Create a "linux" u-boot image file for your MicroC/OS-II kernel.
Option 1: easiest -- you can try this without any os-specific mods to u-boot.
Option 2: u-boot doesn't do anything special for linux -- it simply disables
interrupts and calls the image entry point. So you can "lie" to u-boot and tell
it that your MicroC/OS-II kernel is a linux kernel. With this option you can also
take advantage of u-boot's
gzip decompression features. i.e. -- you can compress
your MicroC/OS-II image and u-boot will decompress/load it to the proper ram
address before calling it. You'll need the u-boot mkimage utility for this.
If you have anything special you need to do prior to calling your kernel or you don't
want to lie ;-), (e.g. setting up parameters, relocating special code segments, etc.),
you may want to add support for this in u-boot. To do this you can follow examples
for other supported os types (such as NetBSD, LynxOS, RTEMS, VxWorks, QNX, etc.).
u-boot does provide several features you may find handy:
--kernel image decompression
--epcs read, write, erase
--dhcp, bootp, tftp, nfs download
--serial download srec text or kermit binary
--support for jffs2, cramfs, fat filesystems (read-only)
--flash program/erase
--scripting
Regards,
--Scott