Without doubt, that is the checksum missing from the image.
LPC microcontrollers have an additional checksum in the binary over the first 7 entries of the vector table. That was e.g. discussed in LPC 1768 Flashing and Debugging - #5 by valeros.
You can also extend PlatformIO with this logic. For that, add to the platformio.ini
the line
extra_scripts = extra_script.py
and then in the root of the project, create a extra_script.py
file with the content from lpc1768_blinky_example/extra_script.py at fe34b7b44271502b961fa4e79e1bb30180092133 · jxsl13/lpc1768_blinky_example · GitHub
But comment out all lines after # fix openocd target
because that’ll re-target the upload method to OpenOCD, which you probably don’t want.
In PlatofrmIO you can also say
upload_protocol = mbed
and that is basically uploading the .bin
file to the available USB disk (as for all mbed-enabled CMSIS-DAP boards)
I’ll open an issue about this, LPC11U35 does not work well? · Issue #6 · platformio/platform-nxplpc · GitHub was closed prematurely without the right fix.