X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=doc%2Fopenocd.texi;h=a747f9ac4b4a44c113ab74f890543d1e13016211;hp=51dab187f14046bb83a51a7368092711a8a6618c;hb=4b8f866aebd08bf3169eb61a233707d5b61cd4af;hpb=962b3eb40cc5b69d9b3d6fcc4c5d56c4d204a307 diff --git a/doc/openocd.texi b/doc/openocd.texi index 51dab187f1..a747f9ac4b 100644 --- a/doc/openocd.texi +++ b/doc/openocd.texi @@ -410,8 +410,12 @@ to be available anymore as of April 2012. (OpenHardware). @item @b{JTAG-lock-pick Tiny 2} @* Link @url{http://www.distortec.com/jtag-lock-pick-tiny-2} FT232H-based -@end itemize +@item @b{GW16042} +@* Link: @url{http://shop.gateworks.com/index.php?route=product/product&path=70_80&product_id=64} +FT2232H-based + +@end itemize @section USB-JTAG / Altera USB-Blaster compatibles These devices also show up as FTDI devices, but are not @@ -534,9 +538,6 @@ produced, PDF schematics are easily found and it is easy to make. @item @b{Amontec - JTAG Accelerator} @* Link: @url{http://www.amontec.com/jtag_accelerator.shtml} -@item @b{GW16402} -@* Link: @url{http://www.gateworks.com/products/avila_accessories/gw16042.php} - @item @b{Wiggler2} @* Link: @url{http://www.ccac.rwth-aachen.de/~michaels/index.php/hardware/armjtag} @@ -577,6 +578,10 @@ produced, PDF schematics are easily found and it is easy to make. @item @b{bcm2835gpio} @* A BCM2835-based board (e.g. Raspberry Pi) using the GPIO pins of the expansion header. +@item @b{jtag_vpi} +@* A JTAG driver acting as a client for the JTAG VPI server interface. +@* Link: @url{http://github.com/fjullien/jtag_vpi} + @end itemize @node About Jim-Tcl @@ -1305,23 +1310,23 @@ hilscher_nxhx500_re.cfg opendous_ftdi.cfg vsllink.cfg hilscher_nxhx50_etm.cfg openocd-usb.cfg xds100v2.cfg interface/ftdi: -axm0432.cfg icebear.cfg oocdlink.cfg -calao-usb-a9260-c01.cfg jtagkey2.cfg opendous_ftdi.cfg -calao-usb-a9260-c02.cfg jtagkey2p.cfg openocd-usb.cfg -cortino.cfg jtagkey.cfg openocd-usb-hs.cfg -dlp-usb1232h.cfg jtag-lock-pick_tiny_2.cfg openrd.cfg -dp_busblaster.cfg kt-link.cfg redbee-econotag.cfg -flossjtag.cfg lisa-l.cfg redbee-usb.cfg -flossjtag-noeeprom.cfg luminary.cfg sheevaplug.cfg -flyswatter2.cfg luminary-icdi.cfg signalyzer.cfg -flyswatter.cfg luminary-lm3s811.cfg signalyzer-lite.cfg +axm0432.cfg hitex_str9-comstick.cfg olimex-jtag-tiny.cfg +calao-usb-a9260-c01.cfg icebear.cfg oocdlink.cfg +calao-usb-a9260-c02.cfg jtagkey2.cfg opendous_ftdi.cfg +cortino.cfg jtagkey2p.cfg openocd-usb.cfg +dlp-usb1232h.cfg jtagkey.cfg openocd-usb-hs.cfg +dp_busblaster.cfg jtag-lock-pick_tiny_2.cfg openrd.cfg +flossjtag.cfg kt-link.cfg redbee-econotag.cfg +flossjtag-noeeprom.cfg lisa-l.cfg redbee-usb.cfg +flyswatter2.cfg luminary.cfg sheevaplug.cfg +flyswatter.cfg luminary-icdi.cfg signalyzer.cfg +gw16042.cfg luminary-lm3s811.cfg signalyzer-lite.cfg hilscher_nxhx10_etm.cfg minimodule.cfg stm32-stick.cfg hilscher_nxhx500_etm.cfg neodb.cfg turtelizer2-revB.cfg hilscher_nxhx500_re.cfg ngxtech.cfg turtelizer2-revC.cfg hilscher_nxhx50_etm.cfg olimex-arm-usb-ocd.cfg vpaclink.cfg hilscher_nxhx50_re.cfg olimex-arm-usb-ocd-h.cfg xds100v2.cfg hitex_lpc1768stick.cfg olimex-arm-usb-tiny-h.cfg -hitex_str9-comstick.cfg olimex-jtag-tiny.cfg $ @end example @item @file{board} ... @@ -2353,6 +2358,17 @@ The default behaviour is @option{disable}; use @option{enable} see these errors reported. @end deffn +@deffn {Config Command} gdb_target_description (@option{enable}|@option{disable}) +Set to @option{enable} to cause OpenOCD to send the target descriptions to gdb via qXfer:features:read packet. +The default behaviour is @option{disable}. +@end deffn + +@deffn {Command} gdb_save_tdesc +Saves the target descripton file to the local file system. + +The file name is @i{target_name}.xml. +@end deffn + @anchor{eventpolling} @section Event Polling @@ -3027,6 +3043,13 @@ The vendor ID and product ID of the device. @deffn {Config Command} {stlink_api} api_level Manually sets the stlink api used, valid options are 1 or 2. (@b{STLINK Only}). @end deffn + +@deffn {Config Command} {trace} output_file_path source_clock_hz +Enable SWO tracing (if supported), trace data is appended to the specified +output file and the file is created if it does not exist. The source clock +rate for the trace port must be specified, this is typically the CPU clock +rate. +@end deffn @end deffn @deffn {Interface Driver} {opendous} @@ -3081,7 +3104,7 @@ version of OpenOCD. @deffn Command {transport select} transport_name Select which of the supported transports to use in this OpenOCD session. The transport must be supported by the debug adapter hardware and by the -version of OPenOCD you are using (including the adapter's driver). +version of OpenOCD you are using (including the adapter's driver). No arguments: returns name of session's selected transport. @end deffn @@ -4299,9 +4322,11 @@ base @var{address} to be used when an MMU is active. The value should normally correspond to a static mapping for the @code{-work-area-phys} address, set up by the current operating system. +@anchor{rtostype} @item @code{-rtos} @var{rtos_type} -- enable rtos support for target, @var{rtos_type} can be one of @option{auto}|@option{eCos}|@option{ThreadX}| -@option{FreeRTOS}|@option{linux}|@option{ChibiOS}. +@option{FreeRTOS}|@option{linux}|@option{ChibiOS}|@option{embKernel} +@xref{gdbrtossupport,,RTOS Support}. @end itemize @end deffn @@ -8089,6 +8114,57 @@ end @end example @end itemize +@section RTOS Support +@cindex RTOS Support +@anchor{gdbrtossupport} + +OpenOCD includes RTOS support, this will however need enabling as it defaults to disabled. +It can be enabled by passing @option{-rtos} arg to the target @xref{rtostype,,RTOS Type} + +@* An example setup is below: + +@example +$_TARGETNAME configure -rtos auto +@end example + +This will attempt to auto detect the RTOS within your application. + +Currently supported rtos's include: +@itemize @bullet +@item @option{eCos} +@item @option{ThreadX} +@item @option{FreeRTOS} +@item @option{linux} +@item @option{ChibiOS} +@item @option{embKernel} +@end itemize + +@quotation Note +Before an RTOS can be detected it must export certain symbols otherwise it cannot be used by +OpenOCD. Below is a list of the required symbols for each supported RTOS. +@end quotation + +@table @code +@item eCos symbols +Cyg_Thread::thread_list, Cyg_Scheduler_Base::current_thread. +@item ThreadX symbols +_tx_thread_current_ptr, _tx_thread_created_ptr, _tx_thread_created_count. +@item FreeRTOS symbols +pxCurrentTCB, pxReadyTasksLists, xDelayedTaskList1, xDelayedTaskList2, +pxDelayedTaskList, pxOverflowDelayedTaskList, xPendingReadyList, +xTasksWaitingTermination, xSuspendedTaskList, uxCurrentNumberOfTasks, uxTopUsedPriority. +@item linux symbols +init_task. +@item ChibiOS symbols +rlist, ch_debug, chSysInit. +@item embKernel symbols +Rtos::sCurrentTask, Rtos::sListReady, Rtos::sListSleep, +Rtos::sListSuspended, Rtos::sMaxPriorities, Rtos::sCurrentTaskCount. +@end table + +For most RTOS supported the above symbols will be exported by default. However for +some, eg. FreeRTOS @option{xTasksWaitingTermination} is only exported +if @option{INCLUDE_vTaskDelete} is defined during the build. @node Tcl Scripting API @chapter Tcl Scripting API