I use TI ARM C/C++ Compiler v5.0.4 to compile for TIVA TM4C1231PGE controller.
I need to "manually" construct a function call.
For example I have to call a funcion, and I have its entry point address: 0x0000e000.
typedef void (*my_pfunc)(void); my_pfunc pfunc; pfunc = (my_pfunc)0x0000e000; pfunc();
running this code, an exeption is throwed.
This is because in the ESPR register the thumb bit must be 1, and this happens when the address in a branch has LSB 1.
How can I build the correct function call (avoiding the +1 workaround)?
best regards
max