Skip to content

Releases: raspberrypi/picotool

2.1.0

25 Nov 06:37
Compare
Choose a tag to compare

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 0x before 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 -m displays 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-descriptions option is used
  • otp load
    • Fix bug which meant only 4 bytes were loaded when loading from a binary file (rare)
  • otp set
    • Added -s, --set-bits option to OR value into a raw row
  • 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, --verify option to verify saved contents
    • Added --family option to specify family ID when saving to UF2
  • seal
    • Support UF2 input files

New Commands

  • erase
    • Erases all or a sub-set (range/partition) of flash

v2.0.0

08 Aug 15:00
Compare
Choose a tag to compare

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 -cpu option on RP2350 to switch archtectures
    • Added diagnostic partition option on RP2350.

New commands

See the RP2350 Datasheet "Bootrom Concepts" section for context around these new commands

  • config - Allows reading and changing of modifiable binary info
  • encrypt - Creates an encrypted binary, for use with the enc_bootloader example or similar
  • seal - Used to sign/hash binaries
  • link - Combined multiple binaries into one - see universal examples
  • otp - RP2350 OTP access functionality
    • list - List OTP rows
    • get - Read OTP rows
    • set - Write OTP rows
    • load - Load a JSON or BIN file into OTP
    • dump - Dump the OTP contents as hex
    • permissions - Runs a binary on the device to configure OTP page locks
    • white-label - USB "white-labeling"
  • partition - RP2350 Partition table functionality
    • create - Create a partition table from JSON
    • info - Display the partition table stored on a device
  • uf2 - UF2 related functionality
    • info - Display information about the last (failed) UF2 download on RP2350
    • convert - 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

14 Jun 02:57
Compare
Choose a tag to compare

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

10 Feb 15:15
Compare
Choose a tag to compare
  • Add --update option to load command 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

02 Nov 02:42
55fd880
Compare
Choose a tag to compare
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

15 May 15:57
a49dc0b
Compare
Choose a tag to compare

Tagging release as requested