Skip to content

Releases: rigado/bootloader-tools

Bootloader Tools v3.0.1

16 Jun 16:30
Compare
Choose a tag to compare

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 for program.py

Bootloader Tools v3.0.0

14 Mar 22:56
Compare
Choose a tag to compare

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

07 Apr 22:20
Compare
Choose a tag to compare

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

17 Mar 21:55
Compare
Choose a tag to compare
Pre-release

See release notes.

@rigado/moduleclients