I ran into a very strange behavior on my TMS570LC4357.
If the branch ("bx") assembler instruction of my bootloader, that jumps to the firmware address (0x18020), is located between the addresses 0xe804 and 0xe814, my firmware is resetting at some point after initialization.
I can reproduce the this behavior with different firmwares, all tested firmwares work flawless as long as the address where the branch instruction is smaller than 0xe804 of bigger than 0x3814.
If this adderes is in between these the same firmware binary will reset that woks otherwise. Adding 'nop' instructions to move the address beyond 0x3814 is enough to work around this problem
Has anyone seen such behavior before? Is there any idea why this happens?