Calling the bootloader in software

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Calling the bootloader in software

836件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by amrbekhit on Thu Oct 07 15:02:21 MST 2010
Hello,

I'm using the LPC11C14. I understand that by setting some of the  GPIO pins at reset, the microcontroller will automatically enter into CAN bootloader mode. However, this obviously requires access to the reset and bootloader_en pins. Is there a way of getting the microcontroller to enter into CAN bootloader mode through my application software?

Thanks,

--Amr
0 件の賞賛
返信
3 返答(返信)

820件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Ex-Zero on Mon Oct 11 06:26:15 MST 2010
What about AUTOISP sample in LPC11xx Series - Example Projects?

http://ics.nxp.com/support/lpcxpresso/#Examples
0 件の賞賛
返信

820件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by amrbekhit on Mon Oct 11 05:45:25 MST 2010
I feel like an idiot. NXP support have told me that there is a command to reinvoke the bootloader as part of the IAP API: Reinvoke ISP, Command code 5710. Nice to know that there is a proper way of calling the bootloader.
0 件の賞賛
返信

820件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by amrbekhit on Mon Oct 11 03:45:27 MST 2010
I've just figured out a way that this could be possible. As I understand it, on reset, the bootloader is always run first and the first thing it does is calculate the checksum of all the interrupt vectors at the bottom of memory and compare it to a value held in flash somewhere. If the checksums match, then it knows that there is a valid program and runs it, otherwise, it remains in bootloader mode. So, all my software needs to do is to write an invalid checksum value and reset. That should fool the bootloader into thinking that there is no program and staying there.

Of course, once the checksum has been modified, the chip will always remain in bootloader mode until new firmware is programmed.
0 件の賞賛
返信