X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=doc%2Fopenocd.texi;h=ec0e9268952b65b6f39e8d61e6ab59318adc82b4;hp=2e451140ee706bc7bb3d16ff564030d044d208ed;hb=241a92d0f2d2ab57d29a665dd34f0000709c13a7;hpb=e026d3ff1bf31f531bf97bc151b4693a6a52f8e7 diff --git a/doc/openocd.texi b/doc/openocd.texi index 2e451140ee..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. @@ -4806,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) @@ -5164,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 @@ -5181,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 @@ -5865,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.