how does lpc-link host flash firmware

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

how does lpc-link host flash firmware

375 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by j.adtoorn on Thu Sep 03 08:42:24 MST 2015
I have a couple of lpcxpresso boards (2x lpc11c24 and lpc1769) that are programmed through an LPC3154, and I am wondering how LPC-Link does that.
If I look at the hardware, the host and slave are solely connected through a JTAG interface:
http://www.embeddedartists.com/sites/default/files/docs/schematics/LPCXpressoLPC11C24revB.pdf

but the lpc11c24 user manual does not mention any JTAG compatibility. Should this be SWD interface?

But, more importantly, how does the firmware flashing actually work? Neither devices' user manual mentions any programming through JTAG. Either the in-system programming is done by the host through UART, or somehow the whole thing is programmed in-application, if I understand correctly. Can someone please explain what basically happens at the host-slave interface when I hit 'Debug [.....]' in the LPCXpresso IDE?
0 Kudos
3 Replies

299 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by lpcxpresso-support on Thu Sep 03 17:23:38 MST 2015


The LPCXpresso flash drivers use the IAP services offered within the bootloader. You'll find documentation of the IAP in the user manual. If your firmware performs in application program/erase/verify of flash, it would use these same services.

Thanks and regards,
LPCXpresso Support
0 Kudos

299 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by j.adtoorn on Thu Sep 03 09:54:46 MST 2015
Thank you for the quick response!
That makes perfect sense. Is there any documentation/link to 'the long story' that I might have overlooked?
0 Kudos

299 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by lpcxpresso-support on Thu Sep 03 09:37:00 MST 2015

Quote: j.adtoorn
I have a couple of lpcxpresso boards (2x lpc11c24 and lpc1769) that are programmed through an LPC3154, and I am wondering how LPC-Link does that.
If I look at the hardware, the host and slave are solely connected through a JTAG interface:
http://www.embeddedartists.com/sites/default/files/docs/schematics/LPCXpressoLPC11C24revB.pdf

but the lpc11c24 user manual does not mention any JTAG compatibility. Should this be SWD interface?

But, more importantly, how does the firmware flashing actually work? Neither devices' user manual mentions any programming through JTAG. Either the in-system programming is done by the host through UART, or somehow the whole thing is programmed in-application, if I understand correctly. Can someone please explain what basically happens at the host-slave interface when I hit 'Debug [.....]' in the LPCXpresso IDE?



The short story is LPCXpresso establishes an SWD or JTAG debug connection to the part. Once complete, the debugger downloads an in-application flash driver which executes from RAM. The flash driver, in turn, operates the supplied IAP calls (supplied with the part) to erase/program/verify internal flash.

Thanks and regards,
LPCXpresso Support
0 Kudos