lpcware

Go command in CAN-ISP does not invoke user program

Discussion created by lpcware Employee on Jun 15, 2016
Content originally posted in LPCWare by rjm on Mon Jan 04 06:59:45 MST 2016
Well, there is some confusion about this. The Manual says that address 0 must be specified and then trigger it. But the user program does not start (both ISP_0 and ISP_1 are high; ISP was started from within the user program using ReinvokeISP();

However, from https://www.lpcware.com/content/forum/how-run-program-using-isp#comment-1142978 an info is presented, where address 0 would only be correct for ARM7, not for cortex.

Addess 4 would contain the reset vector, and that should be written as the start address for the go-command?
But then, the manual would present incorrect information.

FYI: the original tryout to start user code was this sequence:

Quote:
> [0x67D] [0x2B 0x00 0x50 0x00 0x5A 0x5A 0x00 0x00] // unlock flash
< [0x5FD] [0x60 0x00 0x50 0x00 0x00 0x00 0x00 0x00]
> [0x67D] [0x23 0x70 0x50 0x01 0x00 0x00 0x00 0x00] // set execution address
< [0x5FD] [0x60 0x70 0x50 0x01 0x00 0x00 0x00 0x00]
> [0x67D] [0x2F 0x51 0x1F 0x01 0x01 0x00 0x00 0x00] // 'Go'
< [0x5FD] [0x60 0x51 0x1F 0x01 0x00 0x00 0x00 0x00]

from: https://www.lpcware.com/content/forum/lpc11c22-start-user-program-through-can-boot-loader

BTW: in UM10736 (User Manual), the following text presents a false subindex:

Quote:
Write the start address into [0x5070, 0]. Then trigger the “start application” command by writing the value 0x1 to [0x1F51, 1].


The first sequence should be written as [0x5070, 1].

Outcomes