Very late to the game here, but this is a perfectly fine platform for baremetal or make your own OS programming. IMO there is no reason to replace u-boot, just use it as a launching pad for your programs just like one would to launch Linux or freebsd or other. You certainly dont want to get into the ddr init and other things, for this or any platform.

Been beating my head on this platform for a number of days now mostly turns out because I am an ARM person and not so much MIPS, so ran into some elementary MIPS things I needed to learn (address space). Dont know why ARM beat MIPS to world domination, but true there are very few MIPS choices out there which is why I was happy to see this one come along.

Easier to place your program on the flash than other u-boot based platforms, not quite as simple as the raspberry pi, at the same time the pi3 is quad core, so depending on where you attack it you have to "sort the cores" and deal with other stuff...On par with the pi-zero as far as ease of use (for baremetal programming).

I have some examples to get you started if still interested...

In short I recommend building for 0xA0000000 then take your binary and create an omega2.bin from it using mkimage

mkimage -A mips -O linux -T standalone -C none -a 0xA0000000 -e 0xA0000000 -n "myprogram" -d myprog.bin omega2.bin

You need the expansion board with the usb interface. Put omega2.bin on a (FAT32) thumb drive, plug that in the board, hold the reset button down, flip the switch off and on, on the serial/uart terminal press 2 to flash firmware from USB storage. It then automates the process of burning omega2.bin into the flash and resetting into it. Now when you power on without reset pressed it runs your firmware.

My preference is to have a Motorola S-record based bootloader (since they removed these nice features from u-boot, press a key to stop loads to srecord load) in nand flash, and my programs under test are downloaded into that and launched from there. You can pretty much make whatever bootloader you want of course, or do the usb dance for every experiment if that is your preference.

Like the pi and allwinner chips and others the documentation here isnt the best, but not the worst either. The docs.onion.io is very good actually but mostly geared toward users not (baremetal/roll-your-own) developers. They claim it is a 24KEc, but the productid of the core shows 24KE (0x96 not 0x93) but cant yet find a MIPS document to prove that, and building for 24KEc with gcc makes software that crashes (eventually once your project tickles the right instructions being generated). But this is all part of the fun of baremetal programming.

My two cents at the moment is go with the omega2 and the pi-zero for your project. Have yet to find a baremetal community that remotely comes close to that of the raspberry pi, would like to see one for this platform.

Sorry so long and sorry so late to the game didnt know about this platform unitl sparkfun picked it up...