]> git.sur5r.net Git - openocd/blobdiff - README
Edwin Olson found bug & tested fix for flash write_image for stellaris.
[openocd] / README
diff --git a/README b/README
index 47cab624f5c0a22313a6ef3e0a345b3fd306421e..0d0a7e2b3204d1533e4b1db347bcc97bb9551a93 100644 (file)
--- 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
@@ -38,6 +48,9 @@ interface for use with the OpenOCD. Schematics are available at the USBJTAG
 website, and a homebrew device can easily be built using the FTDI evaluation
 module DLP2232M.
 
+* OOCD-Link: http://www.joernonline.de/dw/doku.php?id=en:projects:oocdlink
+Similar to the USBJTAG, this design comes with free schematics, too.
+
 * Amontec JTAGkey: www.amontec.com
 The Amontec JTAGkey offers support for a wide variety of target voltages from
 1.4V to 5V. It also allows the JTAG lines and reset signals to be tri-stated,
@@ -57,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
@@ -64,34 +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:
 
-Support for Intel XScale CPUs (PXA25x, PXA27x and IXP4xx) is currently being
-developed.
+- PXA25x
+- PXA27x
+- IXP42x
 
-The OpenOCD is only tested with little-endian targets, but support for
-big-endian is planned. If you're interested in helping with this (and you
-happen to have a big-endian ARM7/ARM9 system, feel free to contact
-Dominic.Rath <at> gmx.de.
+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.