I have written a small program which receives data over UART and dumps the received Data in to the Flash of msp430f5438a. The data received over UART is a stripped or raw hex file ( for example Blinky Led.hex after removing the TI or Intel information from the Hex file ) and flashed to the proper non overlapping flash address. Lastly I call jump ( using function pointer ) to the starting address of the hex file where it is stored but instead of seeing LED blinking the mcu goes in to infinite loop.
So my question is can we execute from flash , is it even possible to jump to a new flash location and start the execution from there.
My environment : MSP430F5438A , CCS
Starting Flash Address : 0x20000 , Hex file received size = 232 bytes
CCS linker file mentioned start flash address is 0x5C00.