jtag: adapter: rework adapter related commands
currently we have different types of same command group: - starting with adapter_* - starting with interface* - without adapter or interface prefix. Since interface name is already used, we can only use "adapter" command group by keeping old commands as well. Change-Id: Id0a1cb63a2ea6860c67ae1e7a3a06a37ddf464f4 Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Reviewed-on: http://openocd.zylin.com/4774 Reviewed-by: Marc Schink <dev@zapb.de> Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-by: Oleksij Rempel <linux@rempel-privat.de>
This commit is contained in:
committed by
Oleksij Rempel
parent
e7e681ac2b
commit
5280eb618a
@@ -1574,7 +1574,7 @@ solution just avoids using that instruction with JTAG debuggers.
|
||||
If both the chip and the board support adaptive clocking,
|
||||
use the @command{jtag_rclk}
|
||||
command, in case your board is used with JTAG adapter which
|
||||
also supports it. Otherwise use @command{adapter_khz}.
|
||||
also supports it. Otherwise use @command{adapter speed}.
|
||||
Set the slow rate at the beginning of the reset sequence,
|
||||
and the faster rate as soon as the clocks are at full speed.
|
||||
|
||||
@@ -1614,12 +1614,12 @@ proc init_board @{@} @{
|
||||
reset_config trst_and_srst trst_pulls_srst
|
||||
|
||||
$_TARGETNAME configure -event reset-start @{
|
||||
adapter_khz 100
|
||||
adapter speed 100
|
||||
@}
|
||||
|
||||
$_TARGETNAME configure -event reset-init @{
|
||||
enable_fast_clock
|
||||
adapter_khz 10000
|
||||
adapter speed 10000
|
||||
@}
|
||||
@}
|
||||
@end example
|
||||
@@ -2344,22 +2344,22 @@ interface jlink
|
||||
Most adapters need a bit more configuration than that.
|
||||
|
||||
|
||||
@section Interface Configuration
|
||||
@section Adapter Configuration
|
||||
|
||||
The interface command tells OpenOCD what type of debug adapter you are
|
||||
The @command{adapter driver} command tells OpenOCD what type of debug adapter you are
|
||||
using. Depending on the type of adapter, you may need to use one or
|
||||
more additional commands to further identify or configure the adapter.
|
||||
|
||||
@deffn {Config Command} {interface} name
|
||||
Use the interface driver @var{name} to connect to the
|
||||
@deffn {Config Command} {adapter driver} name
|
||||
Use the adapter driver @var{name} to connect to the
|
||||
target.
|
||||
@end deffn
|
||||
|
||||
@deffn Command {interface_list}
|
||||
@deffn Command {adapter list}
|
||||
List the debug adapter drivers that have been built into
|
||||
the running copy of OpenOCD.
|
||||
@end deffn
|
||||
@deffn Command {interface transports} transport_name+
|
||||
@deffn Command {adapter transports} transport_name+
|
||||
Specifies the transports supported by this debug adapter.
|
||||
The adapter driver builds-in similar knowledge; use this only
|
||||
when external configuration (such as jumpering) changes what
|
||||
@@ -2368,7 +2368,7 @@ the hardware can support.
|
||||
|
||||
|
||||
|
||||
@deffn Command {adapter_name}
|
||||
@deffn Command {adapter name}
|
||||
Returns the name of the debug adapter driver being used.
|
||||
@end deffn
|
||||
|
||||
@@ -2993,7 +2993,7 @@ you may encounter a problem.
|
||||
@deffn Command {parport_toggling_time} [nanoseconds]
|
||||
Displays how many nanoseconds the hardware needs to toggle TCK;
|
||||
the parport driver uses this value to obey the
|
||||
@command{adapter_khz} configuration.
|
||||
@command{adapter speed} configuration.
|
||||
When the optional @var{nanoseconds} parameter is given,
|
||||
that setting is changed before displaying the current value.
|
||||
|
||||
@@ -3004,7 +3004,7 @@ To measure the toggling time with a logic analyzer or a digital storage
|
||||
oscilloscope, follow the procedure below:
|
||||
@example
|
||||
> parport_toggling_time 1000
|
||||
> adapter_khz 500
|
||||
> adapter speed 500
|
||||
@end example
|
||||
This sets the maximum JTAG clock speed of the hardware, but
|
||||
the actual speed probably deviates from the requested 500 kHz.
|
||||
@@ -3015,14 +3015,15 @@ Update the setting to match your measurement:
|
||||
@example
|
||||
> parport_toggling_time <measured nanoseconds>
|
||||
@end example
|
||||
Now the clock speed will be a better match for @command{adapter_khz rate}
|
||||
commands given in OpenOCD scripts and event handlers.
|
||||
Now the clock speed will be a better match for @command{adapter speed}
|
||||
command given in OpenOCD scripts and event handlers.
|
||||
|
||||
You can do something similar with many digital multimeters, but note
|
||||
that you'll probably need to run the clock continuously for several
|
||||
seconds before it decides what clock rate to show. Adjust the
|
||||
toggling time up or down until the measured clock rate is a good
|
||||
match for the adapter_khz rate you specified; be conservative.
|
||||
match with the rate you specified in the @command{adapter speed} command;
|
||||
be conservative.
|
||||
@end quotation
|
||||
@end deffn
|
||||
|
||||
@@ -3329,10 +3330,10 @@ However, it introduces delays to synchronize clocks; so it
|
||||
may not be the fastest solution.
|
||||
|
||||
@b{NOTE:} Script writers should consider using @command{jtag_rclk}
|
||||
instead of @command{adapter_khz}, but only for (ARM) cores and boards
|
||||
instead of @command{adapter speed}, but only for (ARM) cores and boards
|
||||
which support adaptive clocking.
|
||||
|
||||
@deffn {Command} adapter_khz max_speed_kHz
|
||||
@deffn {Command} adapter speed max_speed_kHz
|
||||
A non-zero speed is in KHZ. Hence: 3000 is 3mhz.
|
||||
JTAG interfaces usually support a limited number of
|
||||
speeds. The speed actually used won't be faster
|
||||
@@ -3462,7 +3463,7 @@ stops issuing the reset. For example, there may be chip or board
|
||||
requirements that all reset pulses last for at least a
|
||||
certain amount of time; and reset buttons commonly have
|
||||
hardware debouncing.
|
||||
Use the @command{adapter_nsrst_delay} and @command{jtag_ntrst_delay}
|
||||
Use the @command{adapter srst delay} and @command{jtag_ntrst_delay}
|
||||
commands to say when extra delays are needed.
|
||||
|
||||
@item @emph{Drive type} ... Reset lines often have a pullup
|
||||
@@ -3502,13 +3503,13 @@ needing to cope with both architecture and board specific constraints.
|
||||
|
||||
@section Commands for Handling Resets
|
||||
|
||||
@deffn {Command} adapter_nsrst_assert_width milliseconds
|
||||
@deffn {Command} adapter srst pulse_width milliseconds
|
||||
Minimum amount of time (in milliseconds) OpenOCD should wait
|
||||
after asserting nSRST (active-low system reset) before
|
||||
allowing it to be deasserted.
|
||||
@end deffn
|
||||
|
||||
@deffn {Command} adapter_nsrst_delay milliseconds
|
||||
@deffn {Command} adapter srst delay milliseconds
|
||||
How long (in milliseconds) OpenOCD should wait after deasserting
|
||||
nSRST (active-low system reset) before starting new JTAG operations.
|
||||
When a board has a reset button connected to SRST line it will
|
||||
@@ -4889,7 +4890,7 @@ the target clocks are fully set up.)
|
||||
before @command{reset-assert-pre} is called.
|
||||
|
||||
This is the most robust place to use @command{jtag_rclk}
|
||||
or @command{adapter_khz} to switch to a low JTAG clock rate,
|
||||
or @command{adapter speed} to switch to a low JTAG clock rate,
|
||||
when reset disables PLLs needed to use a fast clock.
|
||||
@item @b{resume-start}
|
||||
@* Before any target is resumed
|
||||
@@ -10736,7 +10737,7 @@ To set the JTAG frequency use the command:
|
||||
|
||||
@example
|
||||
# Example: 1.234MHz
|
||||
adapter_khz 1234
|
||||
adapter speed 1234
|
||||
@end example
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user