The bootloader allows upgrading an embedded application any time there are new features available or some bugs get fixed. An integrated bootloader is a typical and also wanted feature, since it reduces the risk of releasing an application even if it has known bugs. Indeed the bootloader keeps a window open for the fix, even if the product is released. Many companies release products that are just good enough at the time the marketing department has placed the milestone to release the product.
The market offers several bootloaders, some are supported directly from the vendors (can be used on their MCU only) while others are open and sometime offers the option to be loaded on different MCUs. The main goal for the bootlaoder is typically to be compact so that more flash remains for the main application. This typically forces the programmer to write the bootloader in Assembly, making it hard to be understood by others, hard to be changed and strictly related to an MCU architecture. For proprietary bootloaders, writing in assembly, could be the right choice, but if you need to upgrade the bootloader from one interface/protocol to another, even if you have been the programmer, you may have hard time.
On the other hand LTboot has the key specification of being easy to be understood and being modifiable by others without a big effort, integrating multiple interfaces without requiring a deep understanding of the entire project. This has been achieved in different ways:
- The code is written in C.
- The code is organized in API and application layer.
- A GUI is provided for the PC as programming tool.
- The ltboot.dll file is provided to allow creating a custom application.
- The bootloader is documented from the user and programmer perspective.
|Download||1.0.0||21. December 2018||
LTboot SDK - Software Development KIT.
Note: The examples require 20MHz crystal.