summaryrefslogtreecommitdiff
path: root/doc/openocd.texi
Commit message (Collapse)AuthorAgeFilesLines
* doc: not all debug adapters are "dongles"David Brownell2010-03-051-36/+98
| | | | | | | | | | | | | | | | | Talk more about "debug adapters" instead of only "dongles". Not all adapters are discrete widgets; some are integrated onto boards. If we only talk about "dongles" we rule out many valid setups, and help confuse some users (who may be using Dongle-free environments). Also start bringing out the point that JTAG isn't the only transport protocol, even though OpenOCD historically presumes "all is JTAG". (Not all debug adapters are JTAG adapters, or JTAG-only adapters.) Plus a few minor fixes (spelling etc) in the vicinity of those changes, and updates about FT2232H clocking issues (they can go faster than the older chips, and can support adaptive clocking). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* semihosting: move semihosting cmd to arm cmd groupSpencer Oliver2010-02-281-12/+12
| | | | | | | | | Move semihosting cmd to the arm cmd group. Targets that support semihosting will setup the setup_semihosting callback function. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
* CortexM3: move disassemble cmd to arm cmd groupSpencer Oliver2010-02-281-6/+0
| | | | | | | Rather than using a Cortex disassemble cmd, we now use the arm generic version. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
* Add board/redbee-usb.cfgMariano Alvira2010-02-281-0/+1
| | | | | | | | | | | The Redbee USB is a small form-factor usb stick from Redwire, LLC (www.redwirellc.com/store), built around a Freescale MC13224V ARM7TDMI + 802.15.4 radio (plus antenna). It includes an FT2232H for debugging, with Channel B connected to the mc13224v's JTAG interface (unusual) and Channel A connected to UART1. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* add board/redbee-econotag.cfg and JTAG supportMariano Alvira2010-02-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The Redbee Econotag is an open hardware development kit from Redwire, LLC (www.redwirellc.com/store), for the Freescale MC13224V ARM7TDMI + 802.15.4 radio. It includes both an MC13224V and an FT2232H (for JTAG and UART support). It has flexible power supply options. Additional features are: - inverted-F pcb antenna - 36 GPIO brought out to 0.1" pin header (includes all peripheral pins) - Reset button - Two push buttons (on kbi1-5 and kbi0-4) - USB-A connector, powered from USB - up to 16V external input - pads for optional buck inductor - pads for optional 32.768kHz crystal - 2x LEDS on TX_ON and RX_ON [ dbrownell@users.sourceforge.net: shrink lines; texi ] Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* new "stellaris recover" commandDavid Brownell2010-02-271-0/+15
| | | | | | | | | | | | | | | Stellaris chips have a procedure for restoring the chip to what's effectively the "as-manufactured" state, with all the non-volatile memory erased. That includes all flash memory, plus things like the flash protection bits and various control words which can for example disable debugger access. clearly, this can be useful during development. Luminary/TI provides an MS-Windows utility to perform this procedure along with its Stellaris developer kits. Now OpenOCD users will no longer need to use that MS-Windows utility. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* User's Guide mentions OS-specific installationDavid Brownell2010-02-211-0/+12
| | | | | | | | | | Specifically the Linux issue of needing "udev" rules, and MS-Windows needing driver configuration. Also, update the existing udev note to use the correct name of that rules file in the source tree. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* User's Guide: "#" in filesystems names is badDavid Brownell2010-02-101-6/+14
| | | | | | | | Sometimes MS-Windows users try to use filesystem names which include the "#" character. That's generally unwise, since it begins Tcl comments. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* User's Guide: clarify jtag_rclk adviceDavid Brownell2010-02-101-2/+4
| | | | | | | | | | Not all cores and boards support adaptive clocking, so qualify all advice to use it to depend on core and board support. It's primarily ARM cores which support this; and many of the newer ones (like Cortex-M series) don't. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* Documentation: mention bug databaseDavid Brownell2010-02-041-1/+8
| | | | | | | Have the User's Guide and BUG handling notes both reference the fact that we now have a bug database at SourceForge. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* NOR: User's Guide updatesDavid Brownell2010-02-021-6/+5
| | | | | | | | | | | | Remove long-obsolete text about "erase_check" affecting "flash info" output. Move parts of that text to "protect_check", where it's still relevant; and update the "flash info" description to mention the issue. (This is still awkward. It might be best to make "protect_check" mirror "erase_check" by dumping what it finds, so "flash info" doesn't dump any potentially-stale cache info.) Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* doc clarifications for server flagsDavid Brownell2010-01-281-3/+4
| | | | | | | | | | | | | | | | | | The "-f" is a shortcut for "-c" ... and providing any "-c" options means the "openocd.cfg" file isn't implicitly used. Both the User's Guide and the manual page were weak on these points, which has led to some confusion. Also update the manual page to include highlights of the search path mechanism, including the facts that it exists and that "-s" adds to it. Stop saying only the current directory is involved; the OpenOCD script library is quite significant. (Missing: complete manpage coverage of the search path, including a FILES section listing all components and saying where the script library is found.) Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* User's Guide secton on target hardware setupDavid Brownell2010-01-211-1/+81
| | | | | | | | | | | Highlight the needs to properly jumper development boards; to make the OpenOCD configuration match the jumpering; and to have a usable "reset-init" method when debugging early boot code. Specific mention of the "ATX Mode" that seems useful on many i.MX boards, forcing NAND boot. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* User's guide: mention lpc2000 checksum issueDavid Brownell2010-01-201-4/+10
| | | | | | | | Folk almost certainly want to have OpenOCD compute the checksum when they modify the vector table. However, that almost guarantees that "verify_image" will fail. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* nand flash support for s3c64xxPeter Korsgaard2010-01-141-1/+2
| | | | | | | | | | | | Identical to the existing 2412/2443 support except for the base address and NFCONF value (bit 2 is reserved and should be written as 1 ref UM). Tested on a s3c6410 board, but controller is identical in 6400/6410 except for 8bit MLC ECC support in 6410 which isn't supported by the driver. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* User's Guide updatesDavid Brownell2010-01-131-23/+88
| | | | | | | | | | | | | | | | Capture various bits of useful information that have come up on the list but haven't yet gotten into the documentation: - Watchdog timers firing during JTAG debug need attention; - Some chips have special registers to help JTAG debug; - Cortex-M3 stepping example with IRQs and maskisr; - Clarifications re adaptive clocking: not all ARMs do it, and explain it a bit better. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* NOR: add optional "flash erase_address" sector paddingDavid Brownell2010-01-131-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a NOR flash mechanism where erase_address ranges can be padded out to sector boundaries, triggering a diagnostic: > flash erase_address 0x0001f980 16 address range 0x0001f980 .. 0x0001f98f is not sector-aligned Command handler execution failed in procedure 'flash' called at file "command.c", line 647 called at file "command.c", line 361 > > flash erase_address pad 0x0001f980 16 Adding extra erase range, 0x0001f800 to 0x0001f97f Adding extra erase range, 0x0001f990 to 0x0001fbff erased address 0x0001f980 (length 16) in 0.095975s (0.163 kb/s) > This addresses what would otherwise be something of a functional regression. An earlier version of the interface had a dangerous problem: it would silently erase data outside the range it was told to erase. Fixing that bug turned up some folk who relied on that unsafe behavior. (The classic problem with interface bugs!) Now they can get that behavior again. If they really need it, just specify "pad". Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* FreeBSD build fixesDavid Brownell2010-01-101-3/+4
| | | | | | | | | | Based on notes from Tomek Cedro <tomek.cedro@gmail.com> and Steve Franks <bahamasfranks@gmail.com>. In the User's Guide, sort the list of operating systems reported through Tcl with $ocd_HOSTOS ... and include FreeBSD. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* parport (mostly) doc fixesDavid Brownell2010-01-091-13/+19
| | | | | | | | | | | | | | | | | | | The "parport_port" commands generally don't *require* a port_number; they're of the "apply any parameter, then print result" variety. Update the User's Guide accordingly. Some of those commands are intended to be write-once: parport_port, and parport_cable. Say so. Use proper EBNF for the parport_write_on_exit parameter. Parport address 0xc8b8 is evidently mutant. Say so in the "parport.cfg" file, to avoid breaking anyone with that mutant config. But update the User's Guide to include a sane example for the LP2 port. Finally document the "presto_serial" command. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* src/flash/nor: usage/help/doc updatesDavid Brownell2010-01-091-2/+2
| | | | | | | | | | | | | Make "usage" messages use the same EBNF as the User's Guide; no angle brackets. Improve and correct various helptexts. Don't use "&function"; a function's name is its address. Remove a couple instances of pointless whitespace; shrink a few overlong lines; fix some bad indents. Add TODO list entry re full support for NAND/NOR bank names. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* src/server: usage/help/doc updatesDavid Brownell2010-01-091-4/+4
| | | | | | | | | | | | | | | Make "usage" messages use the same EBNF as the User's Guide; no angle brackets. Improve and correct various helptexts. Specifically for the port commands, clarify that the number is optional, and omitting it causes the current number to be displayed. Don't use "&function"; a function's name is its address. Remove a couple instances of pointless whitespace; shrink a few overlong lines. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* NAND: help/usage/doc updatesDavid Brownell2010-01-081-3/+3
| | | | | | | | | | | | | | Usage messages should use the same EBNF as the User's Guide; no angle brackets. Be more complete too ... some params were missing. Improve and correct various helptexts. Make user's guide refer to the NAND "driver" name, not the controller name; that's a bit more precise. Don't use "&function"; its name is its address. Line up struct initializers properly. Remove some blank lines. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* Coexist with quilt: rename PATCHES --> PATCHES.txtDavid Brownell2010-01-081-1/+1
| | | | | | | | | | The issues is on Win32, which ignores case in filesystem and thus doesn't tolerate the quilt "patches" directory. Rename, and add "patches" to .gitignore so that developers can choose to use quilt for local patch management. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* ARM966: help/usage updatesDavid Brownell2010-01-071-0/+4
| | | | | | | | | | Usage syntax messages have the same EBNF as the User's Guide; there should be no angle brackets in either place. Fix the User's Guide to say where the magic CP15 bits are defined; and add comments in case someone provides mcr/mrc methods. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* Xscale: User's Guide updatesDavid Brownell2010-01-071-7/+8
| | | | | | Fix some EBNF goofs ... these commands have *optional* params, etc Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* ARM720: help/usage updatesDavid Brownell2010-01-071-2/+10
| | | | | | | | | | | | | Deprecate the "pass an instruction opcode" flavor of cp15 access in favor of the "arm mcr ..." and "arm mrc ..." commands, which offer fewer ways to break things. Use the same EBNF syntax in the code as for the user's guide. Update User's Guide to say where to find those magic values (which table in the ARM920 TRM). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* ARM720: help/usage updatesDavid Brownell2010-01-071-2/+6
| | | | | | | | | | Deprecate the "pass an instruction opcode" flavor of cp15 access in favor of the "arm mcr ..." and "arm mrc ..." commands, which offer fewer ways to break things. Use the same EBNF syntax in the code as for the user's guide. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* ARM11: help/usage updatesDavid Brownell2010-01-071-11/+13
| | | | | | | | | | | | | | | | | Usage syntax messages have the same EBNF as the User's Guide; there should be no angle brackets in either place. Uupdate some helptext to be more accurate. Fix the User's Guide in a few places to be more consistent (mostly to use brackets not parentheses) and to recognize that parameter may be entirely optional (in which case the command just displays output, and changes nothing). Also reference NXP, not Philips, for LPC chips. Don't use "&function"; functions are like arrays, their address is their name. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* ARM7/ARM9: help/usage updatesDavid Brownell2010-01-071-11/+21
| | | | | | | | | | | | | | | | | | Provide helptext which was sometimes missing; update some of it to be more accurate. Usage syntax messages have the same EBNF as the User's Guide; there should be no angle brackets in either place. Fix the User's Guide in a few places to be more consistent (mostly to use brackets not parentheses) and to recognize that parameter may be entirely optional (in which case the command just displays output, and changes nothing). Also reference NXP, not Philips, for LPC chips. Don't use "&function"; functions are like arrays, their address is their name. Shrink some overlong lines. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* ARMv7: help/usage updatesDavid Brownell2010-01-071-7/+9
| | | | | | | | | | | | | | | | | | Provide helptext which was sometimes missing; update some of it to be more accurate. Usage syntax messages have the same EBNF as the User's Guide; there should be no angle brackets in either place. Don't use "&function"; functions are like arrays, their address is their name. Shrink some overlong lines, remove some empties. Add a couple comments about things that should change: those extra TCK cycles for MEM-AP reads are in the wrong place (that might explain some problems we've seen); the DAP command tables should be shared, not copied. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* streamline and document helptext mode displaysDavid Brownell2010-01-021-3/+10
| | | | | | | | | | | | | | | | | | | Most commands are usable only at runtime; so don't bother saying that, it's noise. Moreover, tokens like EXEC are cryptic. Be more clear: highlight only the commands which may (also) be used during the config stage, thus matching the docs more closely. There are - Configuration commands (per documentation) - And also some commands that valid at *any* time. Update the docs to note that "help" now shows this mode info. This also highlighted a few mistakes in command configuration, mostly commands listed as "valid at any time" which shouldn't have been. This just fixes ones I noted when sanity testing. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* User's Guide: warn about the forumDavid Brownell2009-12-311-1/+5
| | | | | | Namely, that developers don't hang out; it's a users-only club. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* whitespace cleanup, mostly for docsAntonio Borneo2009-12-301-12/+12
| | | | | | | | Remove useless space/tab at end of lines. Remove spaces in indentation and replace with tab. Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* Fix Luminary FT2232 layout docs/configsDavid Brownell2009-12-281-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of this patch updates documentation and comments for various Luminary boards, supporting two bug fixes by helping to make sense of the current mess: - Recent rev C lm3s811 eval boards didn't work. They must use the ICDI layout, which sets up some signals that the older boards didn't need. This is actually safe and appropriate for *all* recent boards ... so just make "luminary.cfg" use the ICDI layout. - "luminary-lm3s811.cfg", was previously unusable! No VID/PID; and the wrong vendor string. Make it work, but reserve it for older boards where the ICDI layout is wrong. - Default the LM3748 eval board to "luminary.cfg", like the other boards. If someone uses an external JTAG adapter, all boards will use the same workaround (override that default). The difference between the two FT2232 layouts is that eventually the EVB layout will fail cleanly when asked to enable SWO trace, but the ICDI layout will as cleanly be able to enable it. Folk using "luminary.cfg" with Rev B boards won't see anything going wrong until SWO support is (someday) added. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* NOR: make flash_write_unlock() pad to sector endDavid Brownell2009-12-271-2/+23
| | | | | | | | | | | | | | Resolve a regression when using newish automagic "write_image" modes, by always padding to the end of affected sectors. Also document some issues associated with those automagic options, in the User's Guide and also some related code comments. We might need similar padding at the *beginning* of some sectors, but this is a minimalist fix for the problems which have currently been reported (plus doc updates). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* Driver for USB-JTAG, Altera USB-Blaster and compatiblesCatalin Patulea2009-12-261-0/+59
| | | | | | | The 10-pin JTAG layout used with these adapters is used by a variety of platforms including AVR. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* User's Guide: update GDB infoDavid Brownell2009-12-261-2/+35
| | | | | Advise leaving background polling enabled; fix broken URL; add simple program startup example.
* AT91SAM9 NAND flash driver.Dean Glazeski2009-12-191-0/+35
| | | | | | | | | | This creates the TCL interface for configuring an AT91SAM9 NAND flash controller and implements the necessary functions to correctly work with a NAND flash device connected to the chip. This includes updates to the driver list and the Makefile.am to support building the driver and also houses the documentation update in openocd.texi. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* ETM: add "etm trigger_debug" commandDavid Brownell2009-12-191-0/+11
| | | | | | | | | | | | | | | | In conjunction with manual register setup, this lets the ETM trigger cause entry to debug state. It should make it easier to test and bugfix the ETM code, by enabling non-trace usage and isolating bugs specific to thef ETM support. (One current issue being that trace data collection using the ETB doesn't yet behave.) For example, many ARM9 cores with an ETM should be able to implement four more (simple) breakpoints and two more (simple) watchpoints than the EmbeddedICE supports. Or, they should be able to support complex breakpoints, incorporating ETM sequencer, counters, and/or subroutine entry/exit criteria int criteria used to trigger debug entry. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* ETM trigger_percent becomes an ETB commandDavid Brownell2009-12-191-22/+22
| | | | | | | | This command was misplaced; it's not generic to all traceport drivers, only the ETB supports this kind of configuration. So move it, and update the relevant documentation. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* JTAG: shrink "scan_chain" outputDavid Brownell2009-12-161-7/+7
| | | | | | | | | | Tweak the "scan_chain" output by removing column separators. Also remove the "current instruction" state ... which changes constantly. Now its style resembles the "targets" output, and can even fit on one line in standard terminals and in the PDF docs. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* target: add basic dsp563xx supportmkdorg@users.sourceforge.net2009-12-151-0/+2
|
* jtag: add '-ignore-version' optionDavid Brownell2009-12-141-0/+6
| | | | | | | | | | Add a "-ignore-version" to "jtag newtap" which makes the IDCODE comparison logic optionally ignore version differences. Update the "scan_chain" command to illustrate this by showing the "*" character instead of the (ignored) version nibble. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* ARM: list number of HW breakpoints/watchpointsDavid Brownell2009-12-071-7/+37
| | | | | | | | | | | | | | | When starting up, say how many hardware breakpoints and watchpoints are available on various targets. This makes it easier to tell GDB how many of those resources exist. Its remote protocol currently has no way to ask OpenOCD for that information, so it must configured by hand (or not at all). Update the docs to mention this; remove obsolete "don't do this" info. Presentation of GDB setup information is still a mess, but at least it calls out the three components that need setup. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* User's Guide: add quickie setup notesDavid Brownell2009-12-071-2/+41
| | | | | | | | | | | | | Add a brief "setup with no customization" note showing the how easily things can work if standard OpenOCD config scripts already exist. We've had some new users comment that this information is needlessly hard to find, so that starting to use OpenOCD is more difficult than it should be. Plus describe a few other issues that come up when setting up an OpenOCD server. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* User's Guide: mention ETM on ARM11 comes up tooDavid Brownell2009-12-071-1/+1
| | | | Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* add 'flash list', rewrite 'flash banks'Zachary T Welch2009-12-061-2/+8
| | | | | | | Rename the existing 'flash banks' implementation as 'flash list', and replace the broken 'flash_banks' TCL wrapper with a new command handler. Adds documentation for the new 'flash list' command in the user guide.
* User's Guide: more semihosting infoDavid Brownell2009-12-041-2/+21
| | | | | | | | List it in the concept index, in the section about target software changes a project might want to consider, and in the section about debug messaging. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* basic ARM semihosting supportNicolas Pitre2009-12-031-0/+11
| | | | | | | | | | | | | | | | | | | | Semihosting enables code running on an ARM target to use the I/O facilities on the host computer. The target application must be linked against a library that forwards operation requests by using the SVC instruction that is trapped at the Supervisor Call vector by the debugger. The "hosted" library version provided with CodeSourcery's Sourcery G++ Lite for ARM EABI is one example. This is currently available for ARM9 processors, but any ARM variant should be able to support this with little additional work. Tested using binaries compiled with Sourcery G++ Lite 2009q1-161 and ARM RVCT 3.0. [dbrownell@users.sourceforge.net: doc tweaks, NEWS] Signed-off-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* Tcl and doc: update to match new 'arm mcr ...' etcDavid Brownell2009-12-011-1/+19
| | | | | | Make them match the C code. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>