I also ported over the EVB Demo Program and have it running now. Since this is a rather large program, with lots of functions, I figured it would be a good test.
''The difference is that _start is in ARM mode, which of course is not allowed on the Cortex M3, while _start_T is in Thumb mode''
I thought this was the case. Maybe the 'T' is 'Thumb'? ''Also, the vector table entries are one byte higher than the actual handler routine addresses. This also indicates Thumb mode'' I have notice this, but wasn’t sure why. I thought it may had something to do with Thumb mode. I had another issue in which initialized data wasn’t being initialized properly. I think I have resolved this by moving the .rodata section in the LD file. Not sure if this makes any sense or not.