Releases: rigado/bootloader-tools
Bootloader Tools v3.0.1
Bootloader Tools v3.0.1 Release Notes
This version of Bootloader tools is a bug-fix release.
Issues Fixed
- Fixed an issue with dfu.py which caused it to not properly process Rigado binary patch files
- Added missing README file for genimage.py
- Update license information in genimage.py
- Fixed an erroneous error message when specifying
--key
option forprogram.py
Bootloader Tools v3.0.0
Bootloader Tools v3.0.0 Release Notes
Overview
This version of Bootloader tools adds support for S132 v3.0.0 and S132 v3.1.0. The programming tools have also been updated to better support the various configurations of Bootloader and SoftDevice from Nordic Semiconductor.
nRF51 Support
As of version Bootloader Tools v3.0.0, continued support for S110 on the nRF51 is being dropped. Rigado is not planning to make future releases of the S110 version of the Bootloader. Future releases may contain an S130 version of the Bootloader.
nRF52832 Support
In preparation for the release of the nRF52840, this version contains support for all current nRF52832 production released versions of the SoftDevice.
Script Updates
The programming script, program.py
has received a fairly significant overhaul. This section highlights the majority of the changes.
Distribution Selection
Previously, program.py
attmpted to determine the nRF Chip version that was being programmed. Now that multiple bootloader distributions exist for the nRF52832, program.py
has been updated to require the selection of a distribution. The distribution is specified by configuration files in the programming
folder. Adding this option prepares the tools for future Rigado Module releases.
Ex::
python3 program.py -f nrf52832-s132v2.0.0.cfg -m 945493012345
python3 program.py -f nrf52932-s132v3.1.0.cfg -sm
Use python3 program.py -h
for a list of all options.
MAC Address and Readback Protection
As of Rigado firmware production release version AD, readback protection is no longer enabled in the factory. Instead, the S132 v2.0.0 Bootloader version 3.2.3 and the S132 v3.x.0 Bootloader version 3.3.1 enable readback protection when programmed with an encryption key. program.py
will also enable readback protection automatically if an encryption key is specified during programming.
Example that enables readback protection::
python3 program.py -f nrf52832-s132v3.0.0.cfg -k 0123456789abcdef0123456789abcdef -sm
In addition to this feature, the -r
only affects readback protection if an encryption key is specified. program.py
will emmit a warning if -r
is specified with no effect. Another option, -R
has been added to allow for forcing readback protection to be enabled regardless of other options.
Having readback protection enabled later also means that so long as it is not enabled during programming, the -sm
option can be used to read the MAC address and write it back during programming. Previously, this was not possible on BMD-3xx series modules from the Rigado factory.
Available Distributions
SoftDevice | RigDFU | Config File |
---|---|---|
S132 v2.0.0 | 3.2.3 | nrf52832-s132v2.0.0.cfg |
S132 v3.0.0 | 3.3.1 | nrf52832-s132v3.0.0.cfg |
S132 v3.1.0 | 3.3.1 | nrf52832-s132v3.1.0.cfg |
BLE OTA Updates
dfu.js
now has the capability to use a larger MTU size during transfer on S132 v3.x based Bootloaders. To specify use of the largest possible MTU, add the -s
option.
Errata
RigDFU v3.2.1 (BMD-3xx Only)
The RigDFU v3.2.1 for the nRF52832 has an errata issue when updating either RigDFU or RigDFU and the SoftDevice. We have a workaround application firmware that can be programmed as a firmware update that will upgrade this version to 3.2.3. Once updated, RigDFU can be updated to 3.3.1 using SoftDevice 3.0.0 or 3.1.0. Our built in tools will not allow RigDFU or SoftDevice updates if the version is 3.2.1.
Version 2 Release
Bootloader Tools Version 2.0
Highlights
New Bootloader Binaries
This release includes updated bootloader binaires. The SoftDevice S110 version
has received a few changes. In addition, bootloader binaires are now available
for S130 and S132 both version 2.0.0. These are built using the latest SDK
release from Nordic.
New Service UUID
The S130 and S132 binaries used a different UUID. This is to differentiate
them from the S110 version. Note that the S110, S130, and S132 versions
behave essential the same.
User Data Location Changed
To ensure default pstorage driver settings can be used, the S130 and S132
versions of the bootloader have had their User storage location moved to
just after the Bootloader swap space. Please see the Memory Layout in the
documentation for further details.
New Programming Options
The programming script (program.py) has undergone a few significant changes.
It no longer relies on pre-written JLink script files and instead generates
the JLink script files on the fly. This allows us to more easily add support
in the future.
In addition, the -a
option for programming application binaires now expects
a path. The input file can now be a HEX file or a binary file.
A option, -r
has been added to program.py to disable readback protection. This
eases debugging efforts. HOWEVER, this option should ONLY be used for
development purposes. If it is used during factory programming, readback
protection will be disabled and your firmware WILL be a risk for theft. In
addition, the security part of the bootloader will be useless as the private
key can easily be read out of the device. Use at your own RISK.
Finally, the SoftDevice version can now be specified with the -s
option.
The available options are -s 110
, -s 130
, and -s 132
. If this option is
not specified, programming will default to 110
on the BMD-200 and 132
on
the BMD-300. The programming script verifies the IC before starting programming.
If a conflict occurs, the default option will be used.
New Bootloader Features
Bootloader version information is now available at a static location within
the bootloader binary. See the documentation for more details. The src folder
of this repository contains C files to help in gathering this information.
Upcoming features
Tired of slow OTA updates? Make a patch! Instead of sending the whole
firmware image, a patch is simply the difference between a previous firmware
version and the latest firmware version. The patch generation tools will
be available on Rigdo's webiste. Rigablue will be updated to support the
patching feature once it is ready.
SoftDevice S110 7.1 Support removed
SoftDevice S110 7.x support has been removed from this release. It will reamin
available for the previous release of bootloader-tools. Due to this, the
folder structure for bootloader tools has been condensed into one tree.
##Known Issues
Rigablue is not yet updated to support the new UUID for RigDFU. This update is in progress.
Bootloader Tools nRF5x Beta Release
See release notes.
@rigado/moduleclients