I have a problem with loading pretty simple program (toggling GIO) to IRAM (DM365 on EVM) with slh_DM36x utility. Same piece of code (a dozen of instructions) works when loaded using slh_36x -load2DDR or uboot. Are there evident details I'm missing?
PS. I mean I have problem with running the code - load process looks fine.
/* Toggling GIO 26 */
_start:
MOV R1, #0x01C40000 /* Load base address of system module */
ADD R1, R1, #0x0C /* Add offset for PINMUX3 register */
LDR R2, [R1] /* Reading PINMUX3 */
AND R2, R2, #0x7FFFFFFF /* Clear bit 31 of PINMUX3 */
STR R2, [R1] /* Write back PINMUX3 - now pin U1 is GIO26 rather then SPI */
set_dir: /* Set pin as an output */
ADD R1, R1, #0x00027000 /* Shift pointer to GPIO registers */
ADD R1, R1, #0x00000004 /* To DIR01 */
LDR R2, [R1] /* Read DIR01 */
AND R2, R2, #0xFBFFFFFF /* Clear bit 26 */
STR R2, [R1] /* Write DIR01 back - GIO26 is an output*/
ADD R1, R1, #0x00000008 /* Shift pointer to SET_DATA01 register */
set_bit:
MOV R2, #0x04000000
STR R2, [R1]
clr_bit:
ADD R1, R1, #0x00000004
STR R2, [R1]
SUB R1, R1, #0x00000004
B set_bit