Secondary bootloader?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Secondary bootloader?

3,700 次查看
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,

标签 (4)
2 回复数

3,545 次查看
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

3,545 次查看
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.