ISP-IAP API Go ISP

Table 1. ISP-IAP API UART ISP Go command
Command G
Input Address: Flash or RAM address from which the code execution is to be started. This address should be on a word boundary.

Mode: T (Execute program in Thumb Mode).

Return Code CMD_SUCCESS |

ADDR_ERROR |

ADDR_NOT_MAPPED |

CMD_LOCKED |

PARAM_ERROR |

CODE_READ_PROTECTION_ENABLED

Description This command is used to execute a program residing in RAM or flash memory. It may not be possible to return to the ISP command handler once this command is successfully executed. This command is blocked when code read protection is enabled. The command must be used with an address of 0x0000 0200 or greater.
Example "G 512 T<CR><LF>" branches to address 0x0000 0200 in Thumb mode.

The GO command is usually used after the flash image has been updated and a RESET is desired.  For this, the GO command should point to the RESET handler.  Since the device is still in ISP, the RESET handler should do the following:

  • Re-initialize the SP pointer to the application default
  • Set the SYSMEMREMAP to either 0x01 or 0x02

While in the ISP mode, the SYSMEMREMAP is set to 0x00.

Alternatively, the following snippet can be loaded into the RAM for execution:

SCB->AIRCR = 0x05FA0004;                         //issue system reset-->
while(1);                                                             //should never come here-->

The snippet will issue a system reset request to the core.


-->