Releases: raspberrypi/picotool
2.2.0-a4
2.2.0
Updates to coincide with SDK 2.2.0. Includes minor improvements and bug fixes
Highlights are listed below, or you can see the full list of individual commits here, and the full list of resolved issues here.
New Features
- Added support for creating self-decrypting binaries to
picotool encrypt - Added support to
picotool otp dumpto dump to a BIN file, and also to dump from a JSON file - this allows conversion from an OTP JSON file to a BIN file withpicotool otp dump otp.json --output otp.bin
Breaking Changes
picotool encryptnow requires an IV Salt file to be passed in addition to the AES Key file
Notable Improvements
- Sped up the
picotool infocommand further for unhashed/unsigned binaries - Sped up
picotool save,picotool verifyandpicotool load README.mdhas been rearranged with a separateBUILDING.mdfilepicotoolnow plugs alignment holes in signed/encrypted binaries, to prevent failures when performing signature checks/decryption on uninitialised memory
Authors
Thanks to the following for their contributions:
Alexey Vazhnov,
Andrew Scheller,
Armando Montanez,
Graham Sanderson,
Hector Dearman,
jan200101,
Julian Mitchell,
William Vinnicombe
2.1.1
Updates to coincide with SDK 2.1.1; includes minor improvements and bug fixes
Notable Improvements
- Sped up the
coprodiscommand which was very slow for large files on some platforms - Sped up the
infocommand by caching data read from the device
Authors
Thanks to the following for their contributions:
David Dyck,
Eric Mueller,
Graham Sanderson,
Willian Vinnicombe,
Luke Wren
2.1.0
Updates to coincide with SDK 2.1.0; includes new features and numerous bug fixes
Miscellaneous Changes
- Added partition table; and otp permissions, whitelabel, contents and settings JSON schemas
- Moved example json files into json folder, with schemas in json/schemas
- All commands now require
0xbefore hexadecimal family IDs
Changes to Existing Commands
config- Fixed to work with packaged binaries
coprodis- Fixed to not drop the last instruction and the rest of the file
info- Fixed display of GPIO functions for GPIO >= 32
- Fixed to work with packaged binaries
- Fixed to work with multi-family UF2s
- New option
-mdisplays all metadata blocks
load- Support loading into PSRAM (CS1) on RP2350
otp list- Field descriptions are now shown if a single field is selected, or if thew new
-f,--field-descriptionsoption is used
- Field descriptions are now shown if a single field is selected, or if thew new
otp load- Fix bug which meant only 4 bytes were loaded when loading from a binary file (rare)
otp set- Added
-s,--set-bitsoption to OR value into a raw row
- Added
reboot-
Allow force reboot of a device with third party VID/PID from application firmware into bootloader with:
picotool reboot --vid 0x32ac --pid 0x001f -f -u -
Always print serial number when unable to find a device with specific serial number after reboot
-
save- Added
-v,--verifyoption to verify saved contents - Added
--familyoption to specify family ID when saving to UF2
- Added
seal- Support UF2 input files
New Commands
erase- Erases all or a sub-set (range/partition) of flash
v2.0.0
Major Update for SDK 2.0.0 and RP2350
Existing Commands
RP2040
- Functionality is unchanged
RP2350 specific changes
load- Offset now valid for ELF and UF2 files on RP2350 - but this should only be used for putting packaged SRAM binaries into flash
- Defaults to doing the same as a UF2 drag & drop, with detection of UF2 family for ELF and BIN files
info- Displays info on the embedded block for RP2350
- Displays information for binaries in partitions too
reboot- Added
-cpuoption on RP2350 to switch archtectures - Added diagnostic partition option on RP2350.
- Added
New commands
See the RP2350 Datasheet "Bootrom Concepts" section for context around these new commands
config- Allows reading and changing of modifiable binary infoencrypt- Creates an encrypted binary, for use with theenc_bootloaderexample or similarseal- Used to sign/hash binarieslink- Combined multiple binaries into one - see universal examplesotp- RP2350 OTP access functionalitylist- List OTP rowsget- Read OTP rowsset- Write OTP rowsload- Load a JSON or BIN file into OTPdump- Dump the OTP contents as hexpermissions- Runs a binary on the device to configure OTP page lockswhite-label- USB "white-labeling"
partition- RP2350 Partition table functionalitycreate- Create a partition table from JSONinfo- Display the partition table stored on a device
uf2- UF2 related functionalityinfo- Display information about the last (failed) UF2 download on RP2350convert- Replaces ELF2UF2 from the SDK; used to convert a bin/elf file to a UF2 file
coprodis- Disassemble RP2350 coprocessor instructions in an existing disassembly file
v1.1.2
Small release with one bug fix to allow specifying 0 for --bus, and some minor documentation edits.
Thanks to the following for their contributions:
Andrew Scheller
XDeschuyteneer
v1.1.1
- Add
--updateoption toloadcommand to skip unchanged flash sectors (speed improvement). - A number of minor bug fixes and documentation improvements.
- Support non contiguous flash ELF/UF2 which were written incorrectly before (and yet still passed verify due to another bug).
Thanks to the following for their contributions:
akhil harihar
birdybro
David Grayson
Jeff Hastings
Jan Niehusmann
mbrunnen
Rich Lane
v1.1.0
V1.1.0 updates * Add version command * Fix parsing of ELF where the program header does not directly follow the file header * Add install-ability via `cmake install` * Incorporate slightly modified Win32 libusb find helpers * Add ability to access device using stdio_usb * Add -n option to load to avoid overwriting existing program * Add -f/-F option to force reset a cooperative RP2040 board that isnt in BOOTSEL mode * Add a sudo suggestion when can't connect on linux/macos
Minor updates
Tagging release as requested