OPENOCD(1)

πŸ“¦
version 0.12.0 Β· 2 versions
  • 0.12.0 Β· alpine 3.24, debian bookworm, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 0.12.0 Β· fedora 44, nixos 26.05, nixpkgs unstable
, in alpine 3.24, debian bookworm, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– OPENOCD(1) πŸ’–

okay bestie, sit DOWN, because we're about to talk about openocd β€” a free and open on-chip debugging, in-system programming and boundary-scan testing tool for ARM and MIPS systems. she's giving General Commands Manual energy and honestly? iconic. let's get into it 🫢


✨ NAME ✨

openocd β€” A free and open on-chip debugging, in-system programming and boundary-scan testing tool for ARM and MIPS systems


✨ SYNOPSIS ✨

openocd [-fsdlcphv] [--file <filename>] [--search <dirname>] [--debug
<debuglevel>] [--log_output <filename>] [--command <cmd>] [--pipe]
[--help] [--version]

✨ DESCRIPTION ✨

so like. OpenOCD is an on-chip debugging, in-system programming and boundary-scan testing tool for various ARM and MIPS systems. no cap, that's the whole vibe. πŸ’…

the debugger uses an IEEE 1149-1 compliant JTAG TAP bus master to access on-chip debug functionality available on ARM based microcontrollers or system-on-chip solutions. and for MIPS systems? the EJTAG interface is supported. she does both, she contains multitudes. πŸ¦‹

user interaction is realized through:

  • a telnet command line interface
  • a gdb (the GNU debugger) remote protocol server
  • a simplified RPC connection that can be used to interface with OpenOCD's Jim Tcl engine

OpenOCD supports various different types of JTAG interfaces/programmers β€” pls check the openocd info page for the complete list, bestie, I'm not gonna list them all here, that's a whole other saga. 🌸


✨ OPTIONS ✨

  • -f, --file <filename> β€” this is a shortcut for a -c "[script <filename>]" command, using a search path to load the configuration file <filename>. in order to specify multiple config files, you can use multiple --file arguments. If no such -c options are included, the first config file openocd.cfg in the search path will be used. πŸŽ€
  • -s, --search <dirname> β€” add <dirname> to the search path used for config files and scripts. the search path begins with the current directory, then includes these additional directories before other components such as the standard OpenOCD script libraries. she's queued up in order, periodt.
  • -d, --debug <debuglevel> β€” set debug level. possible values are:
    • 0 (errors)
    • 1 (warnings)
    • 2 (informational messages)
    • 3 (debug messages)

the default level is 2. πŸ‘‘

  • -l, --log_output <filename> β€” redirect log output to the file <filename>. per default the log output is printed on stderr. so if you don't say anything, she's yapping straight to stderr, iykyk.
  • -c, --command <cmd> β€” add the command <cmd> to a list of commands executed on server startup. 🚨 note that you will need to explicitly invoke init if the command requires access to a target or flash. don't forget it, bestie, or she'll just sit there like πŸ‘οΈπŸ‘„πŸ‘οΈ
  • -p, --pipe β€” use pipes when talking to gdb. πŸ’¬
  • -h, --help β€” show a help text and exit. classic.
  • -v, --version β€” show version information and exit. πŸ†

πŸ› BUGS πŸ›

pls report any bugs on the mailing list at openocd-devel@lists.sourceforge.net. they wanna hear from you fr fr, don't be shy. πŸ™ˆ


πŸ“œ LICENCE πŸ“œ

OpenOCD is covered by the GNU General Public License (GPL), version 2 or later. slay, legally speaking. ⭐


πŸ‘€ SEE ALSO πŸ‘€

the full documentation for openocd is maintained as a Texinfo manual. If the info (or pinfo) and openocd programs are properly installed at your site, the command info openocd should give you access to the complete manual. go read it, it's giving encyclopedic. πŸ“š


πŸ’œ AUTHORS πŸ’œ

please see the file AUTHORS.

this manual page was written by Uwe Hermann <uwe@hermann-uwe.de>. it is licensed under the terms of the GNU GPL (version 2 or later).


and that's the whole page, bestie!! πŸŽ€βœ¨ no gatekeeping, only open-source debugging realness. go forth and JTAG responsibly πŸ¦‹πŸ’–

November 24, 2009 β€” OPENOCD(1) πŸ’… that's the date and the source version, mwah, signing off πŸ˜­πŸ‘‘