X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=doc%2Fopenocd.texi;h=ec0e9268952b65b6f39e8d61e6ab59318adc82b4;hb=241a92d0f2d2ab57d29a665dd34f0000709c13a7;hp=78298b8611a5ef45a48222988e32134260470663;hpb=5bee7f5b2c13b02f2d6ad98de6a826279777c8a9;p=openocd.git diff --git a/doc/openocd.texi b/doc/openocd.texi index 78298b8611..ec0e926895 100644 --- a/doc/openocd.texi +++ b/doc/openocd.texi @@ -2558,6 +2558,16 @@ If not specified, serial numbers are not considered. and are not restricted to containing only decimal digits.) @end deffn +@deffn {Config Command} {ftdi_location} :[,]... +Specifies the physical USB port of the adapter to use. The path +roots at @var{bus} and walks down the physical ports, with each +@var{port} option specifying a deeper level in the bus topology, the last +@var{port} denoting where the target adapter is actually plugged. +The USB bus topology can be queried with the command @emph{lsusb -t}. + +This command is only available if your libusb1 is at least version 1.0.16. +@end deffn + @deffn {Config Command} {ftdi_channel} channel Selects the channel of the FTDI device to use for MPSSE operations. Most adapters use the default, channel 0, but there are exceptions. @@ -2610,8 +2620,22 @@ Set a previously defined signal to the specified level. @end itemize @end deffn +@deffn {Command} {ftdi_tdo_sample_edge} @option{rising}|@option{falling} +Configure TCK edge at which the adapter samples the value of the TDO signal + +Due to signal propagation delays, sampling TDO on rising TCK can become quite +peculiar at high JTAG clock speeds. However, FTDI chips offer a possiblity to sample +TDO on falling edge of TCK. With some board/adapter configurations, this may increase +stability at higher JTAG clocks. +@itemize @minus +@item @option{rising}, sample TDO on rising edge of TCK - this is the default +@item @option{falling}, sample TDO on falling edge of TCK +@end itemize +@end deffn + For example adapter definitions, see the configuration files shipped in the @file{interface/ftdi} directory. + @end deffn @deffn {Interface Driver} {remote_bitbang} @@ -4792,6 +4816,7 @@ The CFI driver can accept the following optional parameters, in any order: @item @var{jedec_probe} ... is used to detect certain non-CFI flash ROMs, like AM29LV010 and similar types. @item @var{x16_as_x8} ... when a 16-bit flash is hooked up to an 8-bit bus. +@item @var{bus_swap} ... when data bytes in a 16-bit flash needs to be swapped. @end itemize To configure two adjacent banks of 16 MBytes each, both sixteen bits (two bytes) @@ -5150,6 +5175,14 @@ autoconfigures itself. @example flash bank $_FLASHNAME efm32 0 0 0 0 $_TARGETNAME @end example +A special feature of efm32 controllers is that it is possible to completely disable the +debug interface by writing the correct values to the 'Debug Lock Word'. OpenOCD supports +this via the following command: +@example +efm32 debuglock num +@end example +The @var{num} parameter is a value shown by @command{flash banks}. +Note that in order for this command to take effect, the target needs to be reset. @emph{The current implementation is incomplete. Unprotecting flash pages is not supported.} @end deffn @@ -5167,6 +5200,109 @@ flash bank $_FLASHNAME fm3 0 0 0 0 $_TARGETNAME @end example @end deffn +@deffn {Flash Driver} kinetis +@cindex kinetis +Kx and KLx members of the Kinetis microcontroller family from Freescale include +internal flash and use ARM Cortex M0+ or M4 cores. The driver automatically +recognizes flash size and a number of flash banks (1-4) using the chip +identification register, and autoconfigures itself. + +@example +flash bank $_FLASHNAME kinetis 0 0 0 0 $_TARGETNAME +@end example + +@deffn Command {kinetis mdm check_security} +Checks status of device security lock. Used internally in examine-end event. +@end deffn + +@deffn Command {kinetis mdm mass_erase} +Issues a complete Flash erase via the MDM-AP. +This can be used to erase a chip back to its factory state. +Command removes security lock from a device (use of SRST highly recommended). +It does not require the processor to be halted. +@end deffn + +@deffn Command {kinetis nvm_partition} +For FlexNVM devices only (KxxDX and KxxFX). +Command shows or sets data flash or EEPROM backup size in kilobytes, +sets two EEPROM blocks sizes in bytes and enables/disables loading +of EEPROM contents to FlexRAM during reset. + +For details see device reference manual, Flash Memory Module, +Program Partition command. + +Setting is possible only once after mass_erase. +Reset the device after partition setting. + +Show partition size: +@example +kinetis nvm_partition info +@end example + +Set 32 KB data flash, rest of FlexNVM is EEPROM backup. EEPROM has two blocks +of 512 and 1536 bytes and its contents is loaded to FlexRAM during reset: +@example +kinetis nvm_partition dataflash 32 512 1536 on +@end example + +Set 16 KB EEPROM backup, rest of FlexNVM is a data flash. EEPROM has two blocks +of 1024 bytes and its contents is not loaded to FlexRAM during reset: +@example +kinetis nvm_partition eebkp 16 1024 1024 off +@end example +@end deffn + +@deffn Command {kinetis disable_wdog} +For Kx devices only (KLx has different COP watchdog, it is not supported). +Command disables watchdog timer. +@end deffn +@end deffn + +@deffn {Flash Driver} kinetis_ke +@cindex kinetis_ke +KE members of the Kinetis microcontroller family from Freescale include +internal flash and use ARM Cortex M0+. The driver automatically recognizes +the KE family and sub-family using the chip identification register, and +autoconfigures itself. + +@example +flash bank $_FLASHNAME kinetis_ke 0 0 0 0 $_TARGETNAME +@end example + +@deffn Command {kinetis_ke mdm check_security} +Checks status of device security lock. Used internally in examine-end event. +@end deffn + +@deffn Command {kinetis_ke mdm mass_erase} +Issues a complete Flash erase via the MDM-AP. +This can be used to erase a chip back to its factory state. +Command removes security lock from a device (use of SRST highly recommended). +It does not require the processor to be halted. +@end deffn + +@deffn Command {kinetis_ke disable_wdog} +Command disables watchdog timer. +@end deffn +@end deffn + +@deffn {Flash Driver} fm4 +All members of the FM4 microcontroller family from Spansion (formerly Fujitsu) +include internal flash and use ARM Cortex-M4 cores. +The @var{fm4} driver uses a @var{family} parameter to select the +correct bank config, it can currently be one of the following: +@code{MB9BFx64}, @code{MB9BFx65}, @code{MB9BFx66}, @code{MB9BFx67}, @code{MB9BFx68}, +@code{S6E2Cx8}, @code{S6E2Cx9}, @code{S6E2CxA} or @code{S6E2Dx}, +with @code{x} treated as wildcard and otherwise case (and any trailing +characters) ignored. + +@example +flash bank $@{_FLASHNAME@}0 fm4 0x00000000 0 0 0 $_TARGETNAME S6E2CCAJ0A +flash bank $@{_FLASHNAME@}1 fm4 0x00100000 0 0 0 $_TARGETNAME S6E2CCAJ0A +@end example +@emph{The current implementation is incomplete. Protection is not supported, +nor is Chip Erase (only Sector Erase is implemented).} +@end deffn + @deffn {Flash Driver} lpc2000 This is the driver to support internal flash of all members of the LPC11(x)00 and LPC1300 microcontroller families and most members of @@ -5851,6 +5987,11 @@ the flash clock. @end deffn @end deffn +@deffn {Flash Driver} xmc1xxx +All members of the XMC1xxx microcontroller family from Infineon. +This driver does not require the chip and bus width to be specified. +@end deffn + @deffn {Flash Driver} xmc4xxx All members of the XMC4xxx microcontroller family from Infineon. This driver does not require the chip and bus width to be specified.