The OpenBLT host library (LibOpenBLT), developed in 2017, adds interesting functionality to the OpenBLT bootloader project. It makes it possible for all users to quickly and easily develop their own firmware update tool, in the programming language of their liking. OpenBLT itself already ships with two firmware updates tools: MicroBoot for those that prefer a graphical user interface and BootCommander for those that prefer working from the command line.
Under the hood, BootCommander is already based on LibOpenBLT, but MicroBoot not yet. Another restriction of MicroBoot is that it’s not cross-platform and currently only runs under Windows. One of the planned efforts for this year is therefore to develop a version 2.0 of MicroBoot, such that it is cross-platform and builds upon LibOpenBLT.
A question that I mulled over for the past several months is: In what cross-platform integrated development environment (IDE) should MicroBoot 2.0 be developed? Personally, I am quite programming language and IDE agnostic; I’ll happily use whatever tools seem best for the task at hand.
While pondering the IDE selection question, I found the following potential candidates:
Eventually I settled on the Lazarus IDE. Initially, this might not strike you as the most obvious choice. However, using some tools borrowed from total quality management, it turns out this is the right IDE for the job. The goal of this article is to explain how and why I reached this conclusion.
After the OpenBLT version 1.5.0 release last month, development efforts for the next version were started right away. With the goal of having a transparent development process, this article provides an update on the ongoing development tasks. For those new to the OpenBLT project have a look at the recently published OpenBLT introduction video:
After half a year of development work, OpenBLT version 1.5.0 was officially released yesterday. Feel free to download the new version of the OpenBLT bootloader and take it for a spin yourself. This release is on track with the standard release cycle.
The main focus has been on getting the relatively new OpenBLT host library (LibOpenBLT) feature complete. This includes the BootCommander command-line program as well, since this one is build on top of LibOpenBLT.
Additionally, the support of the IAR, Keil and Atollic development environments was expanded, the SVN repository at SourceForge is now mirrored daily to a GIT repository at GitHub, and the Feaser website was localized to German.
This article describes in more detail what you can expect from the new OpenBLT release.
Goods news for all OpenBLT bootloader users that are interested in performing firmware updates on their microcontroller, via the Internet or from a local network. TCP/IP support was already available in the MicroBoot tool for Windows and is now also implemented in the cross-platform BootCommander command-line program.
The BootCommander program is based on the OpenBLT host library (LibOpenBLT), which means that TCP/IP is now also fully supported in LibOpenBLT. This completes the initial feature set envisioned for LibOpenBLT. It supports all the communication transport layers that are available in the OpenBLT bootloader itself: RS232, CAN, USB and TCP/IP.
This article provides instructions on how to obtain a copy of the OpenBLT bootloader that includes the new TCP/IP support, details regarding how the TCP/IP support was realized, and an example on performing a firmware update via TCP/IP and BootCommander.
The OpenBLT bootloader package includes two PC programs for initiating and monitoring firmware updates (MicroBoot and BootCommander). Both programs expect your firmware file to be in the Motorola S-Record (SREC) format. Several users have requested the additional support of the Intel Hex (HEX) format. This article demonstrates how you can easily convert between the HEX and SREC file formats.
OpenBLT version 1.4.2 was released last week. The majority of the changes in this patch release, were focused on the USB support on the host side. The OpenBLT bootloader already supported firmware updates using USB as the transport layer. There was one limitation though: On the PC side it was only possible to use the MicroBoot tool and not yet the new BootCommander program, which is based on the OpenBLT Host Library (LibOpenBLT). With the new OpenBLT version 1.4.2 patch release, USB support was implemented in both LibOpenBLT and BootCommander. This article provides details regarding how this USB support was realized.
In an on-going effort to provide more clarity and transparency into the OpenBLT bootloader development process, this article explains the idea behind the version numbers, the release schedule, and the difference between stable releases and the development trunk.
Last week OpenBLT version 1.4.1 was released. Besides some code refactoring, this patch release features improved support for firmware updates via Controller Area Network (CAN). The improved CAN support is part of the roadmap to version 1.5.0. Several users reported that they have a strong interest in these features. For this reason, I decided to give them high priority and release them early with this patch.
Quite often people ask me: “Why should I use the OpenBLT bootloader, instead of another bootloader”? For example: a closed source commercial bootloader or a bootloader that is sometimes present in a micrcontroller’s boot ROM. The goal of this article is to address this question and to answer it convincingly enough for you to consider the OpenBLT bootloader for your current and future projects.
If your embedded system makes use of the OpenBLT bootloader, then essentially you have two software programs present in flash memory: your own firmware and the OpenBLT bootloader. This added complexity can cause a problem when trying to debug your firmware. This article describes the cause of this problem and explains how it is side-stepped, giving you full firmware debug functionality.
Feaser is a provider of products and engineering services for microcontroller based embedded systems.
We develop and maintain the open source OpenBLT bootloader and are known for creating innovative and
customer oriented solutions that are delivered on time and within budget.