Hello!
We are planning to use one of the LPC546xx mcu's on our custom board. We would like to be able to firmware update our application code by using a simple USB-stick with a firmware.bin on it. How do we approach this?
As far as I can tell, we need to create a secondary bootloader (does this exist somewhere?) so init the system, look for the USB pin, transfer the firmware.bin and then call the user application code.
Does this make sense? Are there any resources to help us to this?
Thx,
Hello Martin Due
A secondary bootloader seems a good option. It is a small piece of code immediately running after the hardware boot process. It works like the normal software, but only dealing with some customized tasks before the user software.
You can use this AN https://www.nxp.com/docs/en/application-note/AN12384.pdf to design one that works with USB. To do this you can refer to "chapter 3: LPC546xx Boot process"
In the SDK Welcome | MCUXpresso SDK Builder you can find a DFU example, what this example does is write the firmware content of the USB DFU to flash or ram and will check the CRC32 which stored in the last 4 bytes of the firmware. if the CRC32 check is right, then the dfu example will run the new firmware.
Let me know if this is helpful, if you have more questions do not hesitate to ask me.
Best regards,
Omar
Alright!
Seems like we are on the right track then. Once we get started we will probably have some more questions for you :smileyhappy:
Stay tuned...
Thank you.