Forum Discussion
Altera_Forum
Honored Contributor
21 years agoBootloaders
Has anyone successfully used either U-Boot or Redboot on a NON-Linux based system? More specifically, on a MicroC/OS-II-based system? I'm having a hell of a time figuring out if I can use eithe...
Altera_Forum
Honored Contributor
21 years ago> 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