Skip to content

Releases: tock/tockloader

Support for `appaddr` attribute

24 Oct 15:33

Choose a tag to compare

This release:

  • Adds support for determining where the start of applications is using a bootloader attribute called appaddr. This is considered temporary until kernel attributes are supported and this setting will be moved there.
  • Includes some known Tock supporting boards so that if you pass --board Tockloader will use the known boards to fill in --arch and --jtag-device.
  • Includes more debugging help when the necessary board properties aren't passed to Tockloader.

Update TBF Header

27 Jul 21:15
7c9d43e

Choose a tag to compare

  • Slight change to TBF header (now padded to 4 bytes).
  • Also don't change baud rate unless told to. This needs more testing.

Fix unecessary warning

22 Jul 02:17
7b0f01f

Choose a tag to compare

Since we use an invalid header to mark the end of apps, tockloader was always printing warnings about unknown TBF versions. This removes that warning printout.

TBF Header V2 Support

22 Jul 02:10
58e3da2

Choose a tag to compare

This release adds support for the new version of the Tock Binary Format header, version 2!

Also:

  • Refactor the code to split classes into individual files.
  • Detect multiple tockloader instances and pause tockloader listen while another tockloader command completes.
  • Add install --erase to erase all apps before installing a new one.
  • Add autogenerated docs.
  • Improve printout formatting.

Fix for jtag using "cortex-m0" target

31 May 22:30
bc1195c

Choose a tag to compare

There seems to be issues with using the default target of cortex-m0 with the JLinkExe "reset" command. We can now read the attributes the first time without needing the "reset" command.

Also backport a fix for updating an app when the app is installed multiple times.

New Interface

22 May 23:05

Choose a tag to compare

The primary change in this release is a new command line interface that tries to mimic applications on smartphones and desktops. The verbs should match the expectations that people normally have for existing computers.

  • install: Update the app if it already exists, install it otherwise.
  • update: Update the app if it already exists.
  • uninstall: Remove the app by name.

Other changes

  • If the bootloader supports it, tockloader can increase the serial baud rate.
  • Add support for inspecting the contents of TABs.
  • Add info command to print more verbose information about the board.
  • Can read the bootloader version from the chip.

Fix issue with tockloader listen

24 Apr 21:59
029ed54

Choose a tag to compare

tockloader listen works again.

Support Tock Application Bundles (TABs)

26 Mar 23:43
ff5f0e7

Choose a tag to compare

This release is the first on the path to OTT (One True Tockloader). The goal is to enable developers to build Tock apps without having to specify which board they are targeting. Instead, the build system generates binaries for all platforms (architectures, really) and then the correct one is flashed on the target board. If all platforms support Tockloader, then developers never need to specify which board they are using.

We are not quite at this goal, but moving to flashing TABs rather than just TBF binaries means that Tockloader can determine what board it is connected to and choose the correct architecture-specific binary, and the developer does not have to specify this manually.

This release is not backwards compatible because it no longer supports passing TBF binaries to the application install commands. All applications must be flashed using TABs.

This release also includes many other features:

  • JTAG support. Tockloader can flash boards over JLinkExe.
  • Attributes support. Attributes are how Tockloader figures out which board it is connected to.
  • Code re-organization. Commands specific to the serial bootloader protocol and JTAG protocol are in their own classes. Also moved to exception based error handling.
  • Better handling of arguments. Arguments can be passed in more orders on the command line now.
  • Added replace --add to mimic how applications on other platforms (desktop, smartphone) are typically installed.
  • Make flash command the only one that works on raw binaries. It also only works on raw binaries. This can be used to put arbitrary bits in arbitrary places.

Improve Serial Port Detection

22 Feb 07:32
v0.4.0
fafe1c8

Choose a tag to compare

tockloader automatically searches for any serial ports with the string "tock"
in the information returned by serial ports.

This release adds the -d/--device-name flag, which allows users change this
search string to search for more specific devices.

Previously, if the search was ambiguous, tockloader would simply choose the
first device arbitrarily. Now it presents an interactive menu.

Other features:

  • When possible, check that the binary was compiled with all required flags
  • Terminals will retitle based on active connections

Manage Multiple Apps

16 Jan 22:35

Choose a tag to compare

This release adds the add, remove, and replace commands which make it much easier to program a Tock board with multiple apps.

Other features:

  • Sort apps by binary size for the MPU.
  • Auto find .bin files so you can just run tockloader add in an app directory.
  • Check to see if Make has thing to build and warn the user.
  • Allow arguments in a more flexible order.
  • Better ignore bluetooth devices on mac when searching for a board's serial port.