<p>We have a small embedded system without any video or serial ports (i.e. we can't output text via printf).<br>
We would like to track the progress of our code through the initialization sequence.<br>
Is there some simple things we can do to help with this.<br>
It is not running any OS, and the hardware platform is somewhat customizable.</p>

There are a few strategies you can employ to help with debugging:
If you have Output Pins available, you can hook them up to LEDs (or an oscilloscope) and toggle the output pins high/low to indicate that certain points have been reached in the code.
For example, 1 blink might be program loaded, 2 blink is foozbar initialized, 3 blink is accepting inputs...
If you have multiple output lines available, you can use a 7 segment LED to convey more information (numbers/letters instead of blinks).
If you have the capabilities to read memory and have some RAM available, you can use the sprint function to do printf-like debugging, but instead of going to a screen/serial port, it is written in memory.