[Solved] LPC824 re-invoking ISP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

[Solved] LPC824 re-invoking ISP

703 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by ArneB on Thu Jan 15 08:16:05 MST 2015
For the archive and anyone, who might have troubles re-invoking the ISP mode on the LPC824:

Don't forget to disable your DMA controller, if you are executing the "re-invoke ISP" IAP command !

Otherwise the bootloader and the still active DMA controller are fighting for the incoming UART bytes, resulting in a non-working ISP mode.

This is the way I have done it:

typedef enum {READ_PART_ID           = 54, 
      READ_BOOT_CODE_VERSION = 55,
      REINVOKE_ISP           = 57, 
      READ_UID               = 58} IAP_COMMANDS_T;

void do_iap(IAP_COMMANDS_T iap_command) {
  command[0] = (uint32_t) iap_command;
  if(iap_command==REINVOKE_ISP) LPC_DMA->CTRL = 0; // Disable DMA controller
  __disable_irq();
  iap_entry(command, result);
  __enable_irq();
}
Labels (1)
0 Kudos
Reply
3 Replies

593 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by nerd herd on Fri Jan 23 14:32:17 MST 2015
Hi larryvc,

This will be forwarded to the documentation team.
0 Kudos
Reply

593 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by larryvc on Sat Jan 17 19:22:32 MST 2015
Thank you ArneB!

@nerd herd, that should probably be added to the UM too.
0 Kudos
Reply

593 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by nerd herd on Fri Jan 16 10:45:55 MST 2015
Hi ArneB,

Thank you for publicly sharing your solution!
0 Kudos
Reply