So the value it was using before 0x0c100000 is way outside of useful memory. I assume, but haven't actually checked that the memory starting at 0x80300000 is just used as stack memory, so you probably don't want to load your program to that memory address as it will start overwriting itself...!
ELF = hello_world
SREC = hello_world.srec
BIN = hello_world.bin
replacing them by the name of your application files.
>I'm not familiar with RVDS, but for basic gcc build I snagged the output from running make. This shows the various >commands that need to be run with the associated flags. You can then build your own Makefile based on that and >drop all the U-Boot baggage... You might want to consider using a "tiny" linux image: if you trim down the kernel (>remove hardware drivers that you don't need) and write your own /sbin/init program then you can get control very >quickly in a much more flexible environment...