CCS_4.0.0.16000
I'm just starting out with CCSv4 and have written the standard Hello World program which runs quite happily in the "ARM926EJ-S Device Cycle Accurate Simulator, Little Endian_0/TMS470R2x_0 [ARM9]", outputting the expected string to the Eclipse Console.
However, stepping into printf in assembly mode shows me:
FUNC32, printf:
0x00003f38: E92D000F STMFD R13!, {R0-R3}
0x00003f3c: E92D4080 STMFD R13!, {R7, R14}
...snip...
0x00003f40: E28D7008 ADD R7, R13, #0x8
0x00003f74: E2871004 ADD R1, R7, #0x4
0x00003f78: E28D0004 ADD R0, R13, #0x4
0x00003f7c: F502EBFF PLD [R2, #-0xBFF]
I'm pretty sure that the PLD instruction on the last line is not actually a PLD instruction, but an LDR. The Simulator jumps to a likely looking location (_printfi) if I single step the instruction. As far as I can see this is simply a disassembly error - the PLD instruction has a similar opcode, but requires other bits to be set which are not set in the displayed opcode above.
Is there anyway I can fix this from here, or does it require a new tool release?