I am looking for the best solution for a bootloader on the K70 that will support a firmware update to my application using USB either from a flash drive or a host connection to a PC.
I have found all of the info on the RomBootloader 1.2.0 which looks great but am not seeing that it is available for the K70. Instead I am finding what appears to be a legacy solution for embedding a boot loader into an application, then invoking it in some manner to run. At which point a flash drive or PC connection can be made to upload a bin file.
So before I spend a lot of effort implementing the legacy solution I need an answer if the RomBootloader option will become available for the K70. Or is it better now to go with another Kxx part that already supports the RomBootloader and is mostly pin compatible and functionally equivalent to the K70.
Thanks,
Phil
P.S. I want the bootloader to be invoked from my application whenever needed. Not just for initial programming of the blank chip. So the ideal solution is the Rombootloader if that will become available for the K70.
Continuing to look at this. Correct me if I am wrong here. While the Rombootloader is only available for select processors that have on-board boot-rom, the Flash-resident bootloader should work with the K70 and others. It will just have to be compiled specifically for it from the Freescale provided source code. It could then also be customized for size and functionality for example if you only want to support boot from USB and not any of the others (UART,I2C). This would then be the best path for me rather than using the older MSD/DFU USB bootloader solution.
And yes, it is good to know there are also commercial solutions out there, uTasker. But it looks like the Kinetis 1.2.0 resident flash boot loader would be the ideal solution.
Thanks,
Phil
Phil
The K70 is quite an old and stable chip and I don't expect that it will be updated to incude the ROM resident loader. You could ask but you may need to order a very large quantity for a custom one to be considered.
There are various Freecale application notes, as well as the Kboot package. The Kboot package can be ported to the K70 and then customised for any specific purposes - depending on your experience you will need to budged maybe a couple of days or a week for each one to older devices since Kboot includes only some newer devices. Kboot operation itself is not very popular in the field, where USB-MSD and SD card loading tend to be the preferred choices (with USB-MSD probably in 65% of cases, 15% SD card or memory stick, 10% serial SREC and 10% Ethernet).
There is a limited selection for the K70 in case you need to use a Freescale source, for example you could use a memory stick TWR-K70 MSD HOST Bootloader based on AN4368 source code
There are also K60 examples for USB-MSD loading or UART loading which can usually be ported with a day or two of effort.
Each AN is based on different software so you will need to select the one that you can accept and stick with it since they are not compatible and so each loading mode requires a complete project port.
Also check the forums since you may find someone else has already ported one that you could use on your target so you can ask whether they can share their code.
Regards
Mark
Hi Phil
For professional requirements the uTasker serial loader is available for the K70:
- you can chose from Ethernet, UBS KBOOT mode, USB-MSD, USB Virtual COM SREC, Memory Stick, SREC UART, AN2295 serial mode or SD card
- multiple modes are possible by mixing, including automatic USB device/host operation and composites (eg. KBOOT and USB- MSD in parallel), or Ethernet, USB and UART modes.
- it supports an application mailbox so that it can be controlled also by application commands
- can work with any application, with guide to ensuring compatibility in its user's guide (in appendix)
- single project for all modes so no porting - works from IAR, Keil, GCC, KDS, CW10.x, Crossworks, Atollic, CooCox, Green Hills and VisualStudio (with complete simulation)
- compatible with and tested on most available boards for K, KL, KE, KEA, KW processors so no porting required if target is changed or if required in other Kinetis parts in the future
- http://www.utasker.com/forum/index.php?topic=1873.msg6796#msg6796
- http://www.utasker.com/docs/uTasker/uTaskerSerialLoader.PDF
- http://www.utasker.com/kinetis/TWR-K70F120M.html
Regards
Mark