I'm looking for some example code to write a secondary UART based bootloader, my design has an external supervisor/watchdog IC on the board, this means that for the initial programming I need to disable this with a jumper.
Currently the unit is programmed by opening up the unit, fitting a jumper to disable the watchdog and another to pull the ISP pin low, power on the unit and then load the firmware using flash magic.
What i'd like to be able to do is send the application code a command to enter my secondary bootloader, and have that take care of kicking the watchdog.
However when i look for examples everything I find is for things like USB, Ethernet or CAN/I2C, and I don't think are using the same command set as the ROM bootloader.
are there any examples of a UART based bootloaders?
I'd really like to avoid having to write my own flash applications to go with the bootloader, hence wanting to basically replicate the ROM bootloader.
Thanks
Hi Neil,
sorry i should have mentioned i'm using an NXP LPC1758, i can find many examples for the LPC17xx family, but they are using completely different interfaces such as USB or ethernet, and different protocols to suit, i can't see how any of those can directly translate to what i need without having to reimplement the entire ISP command set which i would rather avoid if i can.
So, again, NXP would be the best place to ask.
https://community.nxp.com/
https://www.nxp.com/about/about-nxp/about-nxp/contact-us:CONTACTUS
But, surely, the transport (USB, Ethernet, whatever) is entirely independent of the flash programming?
So you just need to separate out the flash programming part from the comms part in their examples.
In the ST example, they use YMODEM as the comms protocol, which has the advantage that it is supported by just about every serial terminal app - so you don't need any special host code at all.