X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=README;h=0d0a7e2b3204d1533e4b1db347bcc97bb9551a93;hp=3dc5865c705705f0ebe615b62089ef5a514e7a8c;hb=ff59d1c49516f9a858972ec354391fda5a444891;hpb=81e8e44cf016ace2a9f0c1f20282ed54ff2d45fc diff --git a/README b/README index 3dc5865c70..0d0a7e2b32 100644 --- a/README +++ b/README @@ -2,7 +2,7 @@ Free and Open On-Chip Debugging, In-System Programming and Boundary-Scan Testing - Copyright (c) 2004, 2005, 2006 Dominic Rath + Copyright (c) 2004-2007 Dominic Rath The debugger uses an IEEE 1149-1 compliant JTAG TAP bus master to access on-chip debug functionality available on ARM7 and ARM9 based microcontrollers / @@ -13,7 +13,7 @@ User interaction is realized through a telnet command line interface and a gdb 1. JTAG hardware -Currently, OpenOCD supports three types of JTAG interfaces: +Currently, OpenOCD supports the following JTAG interfaces: - Parallel port wigglers. These devices connect to a PC's parallel port, providing direct access to the JTAG lines. The OpenOCD contains descriptions @@ -21,6 +21,16 @@ of a few Wiggler layouts, including the original 'Wiggler' design. Other layouts (i.e. mapping of parallel port pins to JTAG lines) can be added easily. Typical Wiggler speeds are around 12kByte/s code download to an ARM7's RAM. +The list of supported parallel port devices includes: + + * Macraigor Wiggler JTAG cable + * Gateworks GW16012 JTAG programmer + * Xilinx DLC5 JTAG parallel cable III + * Ka-Ro TRITON starterkit II JTAG cable + * Lattice parallel port JTAG cable + * ST FlashLINK programming cable + * Wiggler 2 cable (basically a wiggler with an LED) + - The Amontec JTAG Accelerator. This is a configuration for Amontec's Chameleon dongle, a parallel port interface based on a Xilinx CoolRunner CPLD. It uses the IEEE1284 EPP parallel port specification, providing many times the @@ -60,6 +70,30 @@ features and additional RS232 UART. The Signalyzer offers support for a wide variety of target voltages from 1.2V to 5.5V. A second connector provides access to a TTL level UART. +* TinCanTools 'Flyswatter' USB JTAG programmer. + +* Turtelizer 2: http://www.ethernut.de/en/hardware/turtelizer/index.html +Another USB JTAG programmer, with freely available schematics. It supports +target voltages from 1.65V to 5.5V. + +* Hitex STR9-comStick: http://www.ehitex.de/p_info.php?products_id=292 +A STR912FW44x microcontroller "board" with USB and JTAG functionality. + +* Hitex STM32-PerformanceStick: http://www.hitex.com/stm32-stick/ +A STM32F103RBT6 microcontroller "board" with USB and JTAG functionality. + +* Luminary Micro development board evb_lm3s811 JTAG interface. + +* ASIX PRESTO: http://www.asix-tools.com/prg_presto.htm +The ASIX PRESTO is a USB JTAG programmer for a wide range of components, e.g. +microcontrollers, serial EEPROM and Flash memory chips, CPLDs and others. + +* usbprog: http://www.embedded-projects.net/index.php?page_id=165 +The usbprog is a freely programmable USB adapter, which can (among other +things) use a firmware which turns it into a JTAG programmer/debugger. + +* Altium universal JTAG cable + All FT2232 based devices may be accessed using either FTDI's proprietary FTD2XX library (www.ftdichip.com) or using an open-source replacement from http://www.intra2net.com/de/produkte/opensource/ftdi/index.php, also included @@ -67,29 +101,70 @@ with many Linux distributions. 2. Supported cores -This version of openocd supports the following cores: +This version of openocd supports the following ARM7/9 cores: - ARM7TDMI(-s) - ARM9TDMI - ARM920t - ARM922t +- ARM926ej-s - ARM966e +- Cortex-M3 + +Support for Intel XScale CPUs is also included: + +- PXA25x +- PXA27x +- IXP42x -Support for Intel XScale CPUs (PXA25x, PXA27x and IXP4xx) is currently being -developed. +And support for the Marvell Feroceon CPU core as found in the +Orion SoC family is included as well. 3. Host platforms OpenOCD was originally developed on x86-Linux, but has since then been ported -to run on Windows/Cygwin, native Windows with MinGW, FreeBSD, x86-64-Linux and -(though it's not fully working yet) PowerPC OS-X. +to run on Windows/Cygwin, native Windows with MinGW, FreeBSD, IA64-Linux, +AMD64-Linux, Alpha-Linux, ARM-Linux, and PowerPC OS-X. 4. Documentation Documentation for the OpenOCD is hosted in the Berlios OpenFacts Wiki at http://openfacts.berlios.de/index-en.phtml?title=Open_On-Chip_Debugger. -5. Licensing +There is also and openocd(1) manpage, the 'openocd --help' output and +an OpenOCD info page (type 'info openocd'). + +5. Coding Style + +The following rules try to describe formatting and naming conventions that +should be followed to make the whole OpenOCD code look more consistent. +The ultimate goal of coding style should be readability, and these rules may +be ignored for a particular (small) piece of code if that makes it more +readable. + +Formatting rules: +- remove any trailing white space +- use TAB characters for indentation, not spaces +- displayed TAB width is 4 characters +- make sure NOT to use DOS '\r\n' line feeds +- do not add more than 2 empty lines to source files +- do not add trailing empty lines to source files +- do not use C++ style comments (//) +- lines may be reasonably wide - there's no anachronistic 80 characters limit + +Naming rules: +- identifiers use lower-case letters only +- identifiers consisting of multiple words use underline characters between +consecutive words +- macros use upper-case letters only +- structure names shall be appended with '_s' +- typedefs shall be appended with '_t' + +Function calls: +- function calls have no space between the functions name and the parameter +list: my_func(param1, param2, ...) + +6. Licensing OpenOCD is licensed under the terms of the GNU General Public License, see the file COPYING for details.