Electronics > Projects, Designs, and Technical Stuff

Issues programming NXP LPC11U34

<< < (4/4)

rstofer:
I haven't used the 11U34 but on other variants (LPC2148, LPX2106), a magic number had to be in a particular place in the flash code.  It was essentially the checksum of the vector values.  At boot time the ISP engine adds up all the vectors and if it turns out to be 0, the user code is executed.  This should be detailed in the datasheet or user manual.

For the 2106, section 5.2 describes how this works:

https://www.nxp.com/docs/en/user-guide/UM10275.pdf

Headless Chicken:
That was a good guess rstofer, I was also looking at that, trying to figure out what constitute a valid user code.
In the meantime, I made a binary using the NXP IDE, I only managed to get a blank project (impossible to figure out what, package, sdk or what not, I needed to get the base libraries) but it had the checksum at 0x1c which my rejected binaries were missing.
For future reference, thanks to this Github issue https://github.com/platformio/platform-nxplpc/issues/6 I am now using https://github.com/basilfx/lpc_checksum to patch my binaries and add the missing checksum that platformio seems not to put in.

Thank you all for your help, I guess we can call this a solved case!

rstofer:
It wasn't really a guess...  I have been down this road a ways.

If your vectors always point to stubs in the .S file then the values never change and, once calculated, you are all set.

Navigation

[0] Message Index

[*] Previous page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod