After being in development for half a year, OpenBLT version 1.4.0 was officially released a few days ago. Go ahead and download it from the SourceForge project page, if you haven’t done so yet. The previous blog article described the major changes and improvements in OpenBLT version 1.4.0.
This week work has already started for OpenBLT version 1.5.0. Its release is planned for half a year from now, so somewhere early January 2018. Before that you can already expect a few patch releases, to give you early access to the new features and functionality. This article highlights features and functionality that are planned for version 1.5.0 of the OpenBLT bootloader.
OpenBLT host library
The main area of focus will be the newly released OpenBLT host library. This library provides an API for communicating with a microcontroller target that runs the OpenBLT bootloader. It is cross-platform and enables you to quickly develop your own firmware update tool on the PC side, in the programming language of your preference.
It is already functional, yet doesn’t support all desired communication media. At this point it supports RS232. The plan is to extend LibOpenBLT such that it also works with CAN. It will build upon SocketCAN on the Linux side, allowing you to use whatever CAN hardware adapter that works with SocketCAN. On the Windows side, it will support at least: Kvaser Leaflight, Peak PCAN-USB, and Lawicel CANUSB. If time permits, support for TCP/IP and USB will be worked on as well.
With the on-going move towards cross-platform support for the OpenBLT project, it is high time to shift part of the focus to the microcontroller demo programs. The majority of these demo programs are pre-configured for IDEs and compiler toolchains that only run under Windows, currently leaving Linux users in the cold.
For those that haven’t followed the news, the recently released Atollic TrueSTUDIO version 8 has support for Linux! TrueSTUDIO is a high quality and easy to install Eclipse based IDE, bundled with the GNU GCC for ARM toolchain and build-in support for commonly used debugger interfaces, such as Segger J-Link and ST-Link.
For those developing on a tight budget, there is the free-to-use TrueSTUDIO Lite-edition. What makes the Lite-edition attractive is that it has no code size limits. If you’re looking for advanced code analysis and debug features, bundled with technical support, the reasonably priced TrueSTUDIO Pro-edition is the way to go.
STM32 HAL versus SPL
The STMicroelectronics STM32 bootloader ports and demo programs currently all use the Standard Peripheral Library (SPL). As and alternative, STMicroelectronics also offers the Hardware Abstraction Layer (HAL) as part of their STM32Cube package.
Some bootloader users have requested a switch from SPL to HAL for the OpenBLT bootloader. They are worried that the SPL is no longer supported. After inquiring, it turns out that this is not the case. Although STMicroelectronics recommends using the HAL from the STM32Cube package, the SPL will be supported as well.
I did notice though that for some new microcontroller targets, such as the STM32L4, there is no SPL available. Making me think that HAL is the way to go long term. Definitely for new bootloader ports and demo programs, but perhaps also for the existing ones.
I look forward to working on all the features and functionality mentioned in this article. Note that all these ideas came from feedback that I received from OpenBLT bootloader users. What other specific needs and wishes do you have for the OpenBLT project?