PYOCD-FLASHTOOL(1)
π pyocd-flashtool β the manual, but make it a group chat π
okay bestie, this is the man page for pyocd-flashtool, straight out of the 0.12.0 era. it's giving "tiny command, huge lore." sit down, grab a strawberry π, and let's get into it.
β¨ Name β¨
pyocd-flashtool β ARM Cortex-M programming tool π
πΈ Description πΈ
pyocd-flashtool is an ARM Cortex-M programming tool. that's it. that's the whole vibe. short, iconic, no notes. π
π¦ Summary π¦
pyOCD is an Open Source python based library for programming and debugging ARM Cortex-M microcontrollers using CMSIS-DAP. ngl that's a lot of acronyms but she handles it.
it includes support for:
- flashing new binaries π₯
- resetting the device
- halt
- step
- resume read/write memory
- set/remove breakpoints
like⦠she does everything. main character energy fr fr.
π Support π
bestie, important tea: the firmware files that live in the upstream source are NOT included in the Debian package, because there's a lack of source code. π
no cap β you have to go get the target files yourself, separately, from:
https://github.com/mbedmicro/pyOCD/tree/master/binaries
and here's the full list of targets you can use with the --target option (yes, all of them, I'm not skipping a single one, the way that she listed all 44β¦ obsessed):
lpc824, kinetis, w7500, kv11z7, lpc4088qsb, kv10z7, k20d50m, ncs36510, kl28z, kl25z, k82f25615, k28f15, maxwsnenv, max32600mbed, k22fa12, lpc4088, lpc4330, ke18f16, kl46z, stm32f103rc, kl82z7, lpc54114, kl43z4, kl26z, lpc11xx_32, lpc800, rtl8195am, kl05z, lpc1768, kw41z4, lpc4088dm, stm32f051, cortex_m, lpc11u24, kl02z, kw01z4, k64f, k22f, ke15z7, nrf51, nrf52, kl27z4, kw40z4, k66f18
β¨ so many boards. so little time. β¨
π Usage π
here's the synopsis, exactly as she wrote it, do not touch:
usage: pyocd-flashtool [-h] [--version] [-b BOARD_ID] [-l] [-d LEVEL]
[-t TARGET] [-f FREQUENCY] [-ce | -se] [-u]
[-a ADDRESS] [-n COUNT] [-s SKIP] [-hp] [-fp] [-da DAPARG [DAPARG
...]] [--mass-erase] [file] [{bin,hex}]
Flash utility β that's the one-liner description, short and slay.
positional arguments:
fileβ File to program{bin,hex}File format. Default is to use the file extension
and then the doc itself had a little oopsie moment π, so we're preserving it exactly as it appears:
System Message: ERROR/3 (debian/pyocd-flashtool.rst:, line 47)
Unexpected indentation.
(.bin or .hex)
(that's literally what's in there β the .bin or .hex bit got eaten by an indentation gremlin. iconic behavior honestly.)
optional arguments:
-h,--helpβ show this help message and exit--versionβ show program's version number and exit-b BOARD_ID,--board BOARD_IDβ Connect to board by board id. Use-lto list all connected boards.-l,--listβ List all connected boards.-d LEVEL,--debug LEVELβ Set the level of system logging output. Supported choices are:debug,info,warning,critical,error-t TARGET,--target TARGETβ Override target to debug. Supported targets are:lpc824,kinetis,w7500,kv11z7,lpc4088qsb,kv10z7,k20d50m,ncs36510,kl28z,kl25z,k82f25615,k28f15,maxwsnenv,max32600mbed,k22fa12,lpc4088,lpc4330,ke18f16,kl46z,stm32f103rc,kl82z7,lpc54114,kl43z4,kl26z,lpc11xx_32,lpc800,rtl8195am,kl05z,lpc1768,kw41z4,lpc4088dm,stm32f051,lpc11u24,kl02z,kw01z4,k64f,k22f,ke15z7,nrf51,nrf52,kl27z4,kw40z4,k66f18-f FREQUENCY,--frequency FREQUENCYβ Set the SWD clock frequency in Hz.-ce,--chip_eraseβ Use chip erase when programming.-se,--sector_eraseβ Use sector erase when programming.-u,--unlockβ Unlock the device.-a ADDRESS,--address ADDRESSβ Address. Used for the sector address with sector erase, and for the address where to flash a binary.-n COUNT,--count COUNTβ Number of sectors to erase. Only applies to sector erase. Default is1.-s SKIP,--skip SKIPβ Skip programming the first N bytes. This can only be used with binary files-hp,--hide_progressβ Don't display programming progress.-fp,--fast_programβ Use only the CRC of each page to determine if it already has the same data.-da DAPARG [DAPARG ...],--daparg DAPARG [DAPARG ...]β Send setting to DAPAccess layer.--mass-eraseβ Mass erase the target device.
okay so the big-brain part, listen up bestie: --chip_erase and --sector_erase can be used alone as individual commands, or they can be used in conjunction with flashing a binary or hex file. π
- for the former (used alone), only the erase option will be performed.
- with a file, the erase options specify whether to erase the entire chip before flashing the file, or just to erase only those sectors occupied by the file.
- for a standalone sector erase, the
--addressand--countoptions are used to specify the start address of the sector to erase and the number of sectors to erase.
likeβ¦ she contains multitudes. π«
π Copyright π
2006-2013 ARM Limited
and that's the whole page, babe. π«Ά this was pyocd-flashtool, version 0.12.0, page 1, copyright 2006-2013 ARM Limited. thanks for coming to my ted talk, go flash something responsibly, mwah πβ¨
π¦ where this page comes from
- ubuntu resolute: python3-pyocd 0.37.0-1 Β· Apache-2.0
- ubuntu stonking: python3-pyocd 0.45.0+ds-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms