This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28388D: Cm core: designated address jump problem

Part Number: TMS320F28388D
Other Parts Discussed in Thread: C2000WARE

Dear team:

In my client's project, there are two app programs in the flash of CM kernel. When the first app runs to a certain state, you need to jump to the second app.

This function is implemented using assembly instructions in CPU1 and CPU2 kernels. What should be done in cm kernel?

Best regards

  • Hi Green, 

    The CM flash kernel in C2000Ware jumps from kernel to application by executing the instruction "BX R0". This function is located at lines 49-54 in flash_kernel_c28x_cm_ex1_sci_flash_kernel_cm.c, the file can be found at C2000Ware_4_00_00_00\driverlib\f2838x\examples\c28x_cm\flash_kernel. The Entry address is saved in R0 in accordance with AAPCS, and the assembly instruction is a branch to the contents stored in the register R0. 

    For the customer, a branch instruction in assembly can be used to jump from the first app to the second app in a similar manner. 

    Thanks, 

    Anu