Part Number: MSPM0G3519
Other Parts Discussed in Thread: CCSTUDIO, UNIFLASH
Hello!
I'm trying to implement a bank swap function based on the Flash Multi Bank Feature application note and run into problems. I use CCStudio 20.4.0 and the MSPM0G3519 LaunchPad.
The CSC code example from the application note is placed in bank 0 starting from 0x0000 0000, my application from address 0x0000 0800. The linker file is changed accordingly.
I program the CSC into the µC using the debug feature of the CCStudio. Subsequently I manually program the application into the µC using the "Import data from file" function of the Memory window. Now the software is started.
If bank swap is not enabled, the CSC must start the application using the start_app() function (also from the application note). This is done by calling "start_app((uint32_t *) (0x0800));" However, this does not start the application but always returns to the CSC. When single stepping through the start_app() function I can see how the pointer to the vector table is passed to the function correctly. But after execution of the assembly language part, the pointer suddenly is 0x0000 0000, pointing to the vector table of the CSC instead of the application. This obviously starts the CSC again. If I enter the correct vector table address manually after execution of the assembly language part, the application is started correctly.
Is there anything I need to configure in the assmbler or compiler for start_app() to work?
Best regards
Uwe
