Secondary bootloader?

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

Secondary bootloader?

1,915 Views
martin_due
Contributor II

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,

Labels (4)
2 Replies

1,760 Views
Omar_Anguiano
NXP TechSupport
NXP TechSupport

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

1,760 Views
martin_due
Contributor II

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.