Secondary bootloader

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

Secondary bootloader

跳至解决方案
2,320 次查看
Manwan
Contributor I

For LPC845, it mentioned secondary bootloader in the application note, but not for LPC824, so what is the difference of the primary and secondary bootloader, when should the secondary bootloader be used?

0 项奖励
回复
1 解答
2,308 次查看
frank_m
Senior Contributor III

An internal bootloader is usually implemented in ROM, and started when certain startup conditions (levels in ISP/BOOT pins) are met. This BL application is fixed, which has it pros and cons.

A secondary bootloader is basically a normal application located in Flash.

What makes it a "bootloader" is your functionality - loading updated firmware, flash it, erase old version, and execute the firmware.

Such a secondary BL needs to avoid erasing itself (sometimes less trivial as it seems), and the applications need to linked for this BL specifically - i.e. application linkage requires modification.

在原帖中查看解决方案

4 回复数
2,309 次查看
frank_m
Senior Contributor III

An internal bootloader is usually implemented in ROM, and started when certain startup conditions (levels in ISP/BOOT pins) are met. This BL application is fixed, which has it pros and cons.

A secondary bootloader is basically a normal application located in Flash.

What makes it a "bootloader" is your functionality - loading updated firmware, flash it, erase old version, and execute the firmware.

Such a secondary BL needs to avoid erasing itself (sometimes less trivial as it seems), and the applications need to linked for this BL specifically - i.e. application linkage requires modification.

2,303 次查看
Manwan
Contributor I

Hi Frank, thanks for your reply and kind reminder, and what confuses me is they didn't call these(functionality - loading updated firmware, flash it, erase old version, and execute the firmware) as secondary bootloader on the other chips, like LPC824, to me it seems they are the same kind of "bootloader" we made on other chips, programmed in the beginning of flash to update firmware.

I guess they are the same thing, it is just on LPC845, I2C and SPI is supported as well, but on LPC824, only UART0.

0 项奖励
回复
2,297 次查看
frank_m
Senior Contributor III

> I guess they are the same thing, it is just on LPC845, I2C and SPI is supported as well, but on LPC824, only UART0.

That depends on your application. Often, you do not get along with the interfaces and protocols the internal/ROM bootloader supports, and need to use a "secondary" one.

Having to deal with ECUs in my dayjob, hardly any MCU we use supports CAN via bootloader. Thus we have to maintain our own bootloaders.

0 项奖励
回复
2,291 次查看
Manwan
Contributor I

Really appreciate your reply, Frank, got it.

0 项奖励
回复