Releases: tock/tockloader
1.14.1: Update nix support
1.14.0: Support choosing board with JLinkExe and OpenOCD
- Add
--jlink-serial-number
and--openocd-serial-number
to specify which board to use if multiple are connected. - Add
tockloader install --layout
to enable specifying the location and padding when installing apps. This is useful for debugging different application layouts with the kernel. - Add boards:
opentitan_earlgrey_rom_ext
veer_el2_sim
- Add
tockloader list --map
that shows a memory-map view of installed apps. - Add support for signing TBFs with ECDSA signatures.
1.13.0: Better Windows support, autodiscover improvements
This release improves Tockloader support on Windows.
Other improvements:
- Autodiscover the nrf52840dk on openocd.
- ShortId TBF header.
- Autodiscover the VCOM0 port on the nrf52840dk for
tockloader listen
.
1.12.0: Various improvements
- Improve command line help
- Update STM boards
- Add requirements.txt
- Use nrf52840 for jlink rather than nrf52
1.11.0: Support kernel attributes, new prompts
Changes in this release:
- Support reading kernel attributes to detect where application RAM starts.
- Skip sending empty pages in the serial bootloader connection.
- Update menus for interactive options.
- Better understand app RAM addresses when installing fixed address apps.
Credentials and TicKV Support
This release includes general improvements to Tockloader. The two main changes are:
- Add support for credentials. There is a new command
tockloader tbf credential
which allows for creating, viewing, verifying, and removing credentials for a TAB. - Add support for TicKV. Tockloader can now query a tickv key-value store, and add/remove objects.
New Boards, Display Class
In this release:
- Added SMA Q3 and QEMU RISC-V 32 bit "virt" boards
- OpenOCD fixes and updates
- Added
Display
class for doing machine readable output in JSON format - Added interactive selection menu instead of having to enter a number to choose the architecture to inspect
Better Support Board Differences
The main improvement of this release of Tockloader is board-specific operations are now more clearly separated between configurations that impact how applications are organized and installed on the board, and configurations that impact how Tockloader communicates with the board. The former are in tockloader.py, while the latter are in board_interface.py.
Other updates:
- There is a new
--flash-file
option that allows writing apps to a local file. - There are new
tbf-X
commands that enable manipulating local TAB files. - There is support for the new kernel version TLV.
- Uninstall now replaces removed apps with a padding app.
- Minimum app sizes are no longer needed as tockloader respects writing entire flash pages.
Autodetect Boards
The major feature in this release is support for autodetecting boards. This uses jlinkexe and openocd to see what boards are attached and if we recognize them. This largely removes the need to use the --board
flag.
Other changes:
- Handle large writes using the bootloader.
- Add progress bar.
- Other fixes.
Add Support for Serial Bootloaders using USB Stacks
This release of Tockloader is designed to support the Tock Bootloader on the Nano 33 BLE board based on the nRF52840. Since that board does not have an FTDI chip, the bootloader uses the nRF52's USB peripheral. This requires a new method for entering the bootloader, and Tockloader now supports setting the baud rate to 1200 to instruct the chip to enter the bootloader.
Other changes:
- Moved some output to only on
--debug
. - Added support for TABs that contain TBFs of different lengths.
- Added microbit v2 over openocd as known board.
- Added set start address command.