PICOTOOL-LOAD(1)
π picotool-load(1) β bestie edition β¨
okay so this is the manual page for picotool-load, a User Command, and it does exactly what it says on the tin: it takes the program / memory range that's chillin' inside a file and loads it onto the device. main character energy fr π
πΈ NAME πΈ
picotool-load β load the program / memory range stored in a file onto the device. that's it, that's the vibe π¦
β¨ SYNOPSIS β¨
picotool load [--ignore-partitions] [--family <family_id>] [-p
<partition>] [-n] [-N] [-u] [-v] [-x] <filename> [-t <type>] [-o
<offset>] [device-selection]
like, yes bestie, there's a Lot of little flags. we're gonna go through every single one, no skipping, no cap π
π OPTIONS π
π Post load actions
these are the things that happen around the load itself, iykyk
--ignore-partitionsβ when you're writing flash data, this tells picotool to ignore the partition table entirely and write into absolute space. chaotic? maybe. effective? absolutely. π--familyβ specify the family ID of the file to load. yes, the file, not the device. reading comprehension is the moment β¨<family_id>β the family ID to use for load.
-p,--partitionβ specify which partition to load into.<partition>β the partition to load into.
-n,--no-overwriteβ when writing flash data, do not overwrite an existing program in flash. and here's the catch, bestie: if picotool can't figure out the size/presence of the program in flash, the command fails. like it just gives up. no vibes, no mercy π-N,--no-overwrite-unsafeβ same idea: when writing flash data, don't overwrite an existing program in flash. but if picotool can't determine the size/presence of the program in flash, the load continues anyway. hence the whole "unsafe" in the name, she's not subtle π-u,--updateβ skip writing flash sectors that already contain identical data. efficient queen π-v,--verifyβ verify the data was written correctly. trust but verify, periodt β-x,--executeβ attempt to execute the downloaded file as a program after the load. sending it straight to the stage π€
π File to load from
<filename>β The file name. just... the file name. that's the whole description. iconic minimalism π-t <type>β specify the file type (uf2|elf|bin) explicitly, ignoring the file extension. so if your file's lying about its extension, this is your girl π§
π§‘ BIN file options
-o,--offsetβ specify the load address for a BIN file.<offset>β the load offset (memory address; default0x10000000). yes that's the default, write it down π
π Target device selection
picking your device out of the crowd, one filter at a time π
--bus <bus>β filter devices by USB bus number.--address <addr>β filter devices by USB device address.--vid <vid>β filter by vendor id.--pid <pid>β filter by product id.--ser <ser>β filter by serial number.-f,--forceβ force a device that's not in BOOTSEL mode but is running compatible code to reset so the command can actually be executed. and then β after executing the command, unless the command itself is arebootβ the device gets rebooted back to application mode. she leaves them how she found them π«Ά-F,--force-no-rebootβ force a device that's not in BOOTSEL mode but is running compatible code to reset so the command can be executed. after executing the command (again, unless the command itself is areboot), the device is left connected and accessible topicotool, but without the USB drive mounted. lowkey the "i'm staying over" option π
β οΈ heads up bestie:-nwill straight up fail if picotool can't suss out the size or presence of the program in flash, while-Njust sends it. pick your fighter π
π a lil sign-off π
this page is from picotool 2.2.0-a4+dfsg, dated December 2025. go load something slay, bestie πβ¨π
π¦ where this page comes from
- ubuntu stonking: picotool 2.2.0-a4+dfsg-3 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms