Hi all,
I've got a TM4C1236H6PM on a custom board and I'm at the stage where I want USB DFU capability. I'm using CCS 5.4 and debugging with an XDS100v2. I've imported the boot_usb example and changed the part definition, when I debug it starts at the point in bl_startup.css.s:
.thumbfunc _c_int00
.global _c_int00
_c_int00: .asmfunc
b ResetISR
But doesn't branch to ResetISR and appears to step to the next assembly instruction which varies depending on optimization settings. The assembly with optimization off around that part looks like this:
626 b ResetISR
_c_int00:
20000afa: F00101FF AND.W R1, R1, #255
483 {
20000afe: F000F92B BL 0x20000D58
20000b02: 9002 STR R0, [SP, #0x8]
20000b04: 9802 LDR R0, [SP, #0x8]
20000b06: F1B03FFF CMP.W R0, #4294967295
20000b0a: D102 BNE 0x20000B12
20000b0c: F000FEB6 BL 0x2000187C
20000b10: E01C B 0x20000B4C
Shouldn't that AND.W instruction be a branch one? The branch instruction at 0x20000afe branches from USBConfigurePins to HandleSetAddress. The assembly doesn't seem to match what the code is asking, is there something wrong with the compiler settings? Should the code be in 0x2000XXXX space from the start of debug?