・DreamPlug - Admin Stuff
useフラグにはftdiとusbが必要
telnetも必要なのでnet-misc/netkit-telnetdもインストール
sheeva用の設定で動くらしい
$ cat /usr/share/openocd/scripts/interface/sheevaplug.cfg >openocd.cfg $ cat /usr/share/openocd/scripts/board/sheevaplug.cfg >>openocd.cfg $ sudo openocd -f openocd.cfg
起動すると色々ログが出て止まるので
Open On-Chip Debugger 0.5.0 (2012-10-07-07:04) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html Info : only one transport option; autoselect 'jtag' 2000 kHz Warn : Interface already configured, ignoring Error: already specified ft2232_layout sheevaplug 2000 kHz trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain adapter_nsrst_delay: 200 jtag_ntrst_delay: 200 dcc downloads are enabled Warn : use 'feroceon.cpu' as target identifier, not '0' sheevaplug_load_uboot Info : clock speed 2000 kHz Info : JTAG tap: feroceon.cpu tap/device found: 0x20a023d3 (mfg: 0x1e9, part: 0x0a02, ver: 0x2) Info : Embedded ICE version 0 Info : feroceon.cpu: hardware has 1 breakpoint/watchpoint unit
他の端末からtelnetでローカルの4444に接続
$ telnet localhost 4444Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Open On-Chip Debugger >
"reset halt"で再起動できる
他にはこんなコマンドが使えるらしい
adapter_khz [khz]
With an argument, change to the specified maximum jtag speed. For
JTAG, 0 KHz signifies adaptive clocking. With or without argument,
display current setting. (command valid any time)
adapter_name
Returns the name of the currently selected adapter (driver) (command
valid any time)
adapter_nsrst_assert_width [milliseconds]
delay after asserting SRST in ms (command valid any time)
adapter_nsrst_delay [milliseconds]
delay after deasserting SRST in ms (command valid any time)
add_help_text command_name helptext_string
Add new command help text; Command can be multiple tokens. (command
valid any time)
add_script_search_dir
dir to search for config files and scripts (command valid any time)
add_usage_text command_name usage_string
Add new command usage text; command can be multiple tokens. (command
valid any time)
append_file file_name [string ...]
append a variable number of strings to a file (command valid any
time)
arm
ARM command group (command valid any time)
arm core_state ['arm'|'thumb']
display/change ARM core state
arm disassemble address [count ['thumb']]
disassemble instructions
arm mcr cpnum op1 CRn op2 CRm value
write coprocessor register
arm mrc cpnum op1 CRn op2 CRm
read coprocessor register
arm reg
display ARM core registers
arm semihosting ['enable'|'disable']
activate support for semihosting operations
arm7_9
arm7/9 specific commands (command valid any time)
arm7_9 dbgrq ['enable'|'disable']
use EmbeddedICE dbgrq instead of breakpoint for target halt
requests (command valid any time)
arm7_9 dcc_downloads ['enable'|'disable']
use DCC downloads for larger memory writes (command valid any time)
arm7_9 fast_memory_access ['enable'|'disable']
use fast memory accesses instead of slower but potentially safer
accesses (command valid any time)
arm9
arm9 command group (command valid any time)
arm9 vector_catch [all|none|(reset|undef|swi|pabt|dabt|irq|fiq)*]
Display, after optionally updating, configuration of vector catch
unit.
arm926ejs
arm926ejs command group (command valid any time)
arm926ejs cache_info
display information about target caches
array2mem arrayname bitwidth address count
convert a TCL array to memory locations and write the 8/16/32 bit
values
bp [address length ['hw']]
list or set hardware or software breakpoint
cat file_name
display text file content (command valid any time)
command
core command group (introspection) (command valid any time)
command mode [command_name ...]
Returns the command modes allowed by a command:'any', 'config', or
'exec'. If no command isspecified, returns the current command
mode. Returns 'unknown' if an unknown command is given. Command
can be multiple tokens. (command valid any time)
command type command_name [...]
Returns the type of built-in command:'native', 'simple', 'group',
or 'unknown'. Command can be multiple tokens. (command valid any
time)
cp src_file_name dst_file_name
copy a file (command valid any time)
debug_level number
Sets the verbosity level of debugging output. 0 shows errors only; 1
adds warnings; 2 (default) adds other info; 3 adds debugging.
(command valid any time)
drscan tap_name [num_bits value]* ['-endstate' state_name]
Execute Data Register (DR) scan for one TAP. Other TAPs must be in
BYPASS mode.
dump_image filename address size
echo [-n] string
Logs a message at "user" priority. Output message to stdout. Option
"-n" suppresses trailing newline (command valid any time)
etm
Emebdded Trace Macrocell command group (command valid any time)
etm config target port_width port_mode clocking capture_driver
Set up ETM output port. (configuration command)
exit
exit telnet session
fast_load
loads active fast load image to current target - mainly for profiling
purposes
fast_load_image filename address ['bin'|'ihex'|'elf'|'s19'] [min_address [max_length]]
Load image into server memory for later use by fast_load; primarily
for profiling (command valid any time)
feroceon.cpu
target command group (command valid any time)
feroceon.cpu arm
ARM command group (command valid any time)
feroceon.cpu arm7_9
arm7/9 specific commands (command valid any time)
feroceon.cpu arm9
arm9 command group (command valid any time)
feroceon.cpu arm926ejs
arm926ejs command group (command valid any time)
feroceon.cpu arp_examine
used internally for reset processing
feroceon.cpu arp_halt
used internally for reset processing
feroceon.cpu arp_halt_gdb
used internally for reset processing to halt GDB
feroceon.cpu arp_poll
used internally for reset processing
feroceon.cpu arp_reset
used internally for reset processing
feroceon.cpu arp_waitstate
used internally for reset processing
feroceon.cpu array2mem arrayname bitwidth address count
Writes Tcl array of 8/16/32 bit numbers to target memory
feroceon.cpu cget target_attribute
returns the specified target attribute (command valid any time)
feroceon.cpu configure [target_attribute ...]
configure a new target for use (configuration command)
feroceon.cpu curstate
displays the current state of this target
feroceon.cpu etm
Emebdded Trace Macrocell command group (command valid any time)
feroceon.cpu eventlist
displays a table of events defined for this target
feroceon.cpu invoke-event event_name
invoke handler for specified event
feroceon.cpu mdb address [count]
Display target memory as 8-bit bytes
feroceon.cpu mdh address [count]
Display target memory as 16-bit half-words
feroceon.cpu mdw address [count]
Display target memory as 32-bit words
feroceon.cpu mem2array arrayname bitwidth address count
Loads Tcl array of 8/16/32 bit numbers from target memory
feroceon.cpu mwb address data [count]
Write byte(s) to target memory
feroceon.cpu mwh address data [count]
Write 16-bit half-word(s) to target memory
feroceon.cpu mww address data [count]
Write 32-bit word(s) to target memory
find
print full path to file according to OpenOCD search rules (command
valid any time)
flash
NOR flash command group (command valid any time)
flash bank bank_id driver_name base_address size_bytes chip_width_bytes
bus_width_bytes target [driver_options ...]
Define a new bank with the given name, using the specified NOR
flash driver. (configuration command)
flash banks
Display table with information about flash banks. (command valid
any time)
flash init
Initialize flash devices. (configuration command)
flash list
Returns a list of details about the flash banks. (command valid any
time)
flush_count
Returns the number of times the JTAG queue has been flushed.
ft2232_device_desc description_string
set the USB device description of the FTDI FT2232 device
(configuration command)
ft2232_latency value
set the FT2232 latency timer to a new value (configuration command)
ft2232_layout layout_name
set the layout of the FT2232 GPIO signals used to control
output-enables and reset signals (configuration command)
ft2232_serial serial_string
set the serial number of the FTDI FT2232 device (configuration
command)
ft2232_vid_pid (vid pid)*
the vendor ID and product ID of the FTDI FT2232 device (configuration
command)
gdb_breakpoint_override ('hard'|'soft'|'disable')
Display or specify type of breakpoint to be used by gdb 'break'
commands. (command valid any time)
gdb_flash_program ('enable'|'disable')
enable or disable flash program (configuration command)
gdb_memory_map ('enable'|'disable')
enable or disable memory map (configuration command)
gdb_port [port_num]
Normally gdb listens to a TCP/IP port. Each subsequent GDB server
listens for the next port number after the base port number
specified. No arguments reports GDB port. "pipe" means listen to
stdin output to stdout, an integer is base port number, "disable"
disables port. Any other string is are interpreted as named pipe to
listen to. Output pipe is the same name as input pipe, but with 'o'
appended. (command valid any time)
gdb_report_data_abort ('enable'|'disable')
enable or disable reporting data aborts (configuration command)
gdb_sync
next stepi will return immediately allowing GDB to fetch register
state without affecting target state (command valid any time)
halt [milliseconds]
request target to halt, then wait up to the specifiednumber of
milliseconds (default 5) for it to complete
help [command_name]
Show full command help; command can be multiple tokens. (command
valid any time)
init
Initializes configured targets and servers. Changes command mode
from CONFIG to EXEC. Unless 'noinit' is called, this command is
called automatically at the end of startup. (command valid any time)
interface driver_name
Select a debug adapter interface (driver) (configuration command)
interface_list
List all built-in debug adapter interfaces (drivers) (command valid
any time)
interface_transports transport ...
Declare transports the interface supports. (configuration command)
ip
show IP address (command valid any time)
irscan [tap_name instruction]* ['-endstate' state_name]
Execute Instruction Register (DR) scan. The specified opcodes are
put into each TAP's IR, and other TAPs are put in BYPASS.
jtag
perform jtag tap actions (command valid any time)
jtag arp_init
Validates JTAG scan chain against the list of declared TAPs using
just the four standard JTAG signals. (command valid any time)
jtag arp_init-reset
Uses TRST and SRST to try resetting everything on the JTAG scan
chain, then performs 'jtag arp_init'. (command valid any time)
jtag cget tap_name '-event' event_name
Return any Tcl handler for the specified TAP event.
jtag configure tap_name '-event' event_name handler
Provide a Tcl handler for the specified TAP event.
jtag drscan tap_name [num_bits value]* ['-endstate' state_name]
Execute Data Register (DR) scan for one TAP. Other TAPs must be in
BYPASS mode.
jtag flush_count
Returns the number of times the JTAG queue has been flushed.
jtag init
initialize jtag scan chain (command valid any time)
jtag names
Returns list of all JTAG tap names. (command valid any time)
jtag newtap basename tap_type '-irlen' count ['-enable'|'-disable'] ['-expected_id'
number] ['-ignore-version'] ['-ircapture' number] ['-mask'
number]
Create a new TAP instance named basename.tap_type, and appends it
to the scan chain. (configuration command)
jtag pathmove start_state state1 [state2 [state3 ...]]
Move JTAG state machine from current state (start_state) to state1,
then state2, state3, etc.
jtag tapdisable tap_name
Try to disable the specified TAP using the 'tap-disable' TAP event.
jtag tapenable tap_name
Try to enable the specified TAP using the 'tap-enable' TAP event.
jtag tapisenabled tap_name
Returns a Tcl boolean (0/1) indicating whether the TAP is enabled
(1) or not (0).
jtag_flush_queue_sleep [sleep in ms]
For debug purposes(simulate long delays of interface) to test
performance or change in behavior. Default 0ms. (command valid any
time)
jtag_ntrst_assert_width [milliseconds]
delay after asserting trst in ms (command valid any time)
jtag_ntrst_delay [milliseconds]
delay after deasserting trst in ms (command valid any time)
jtag_rclk [fallback_speed_khz]
With an argument, change to to use adaptive clocking if possible;
else to use the fallback speed. With or without argument, display
current setting. (command valid any time)
jtag_reset trst_active srst_active
Set reset line values. Value '1' is active, value '0' is inactive.
load_image filename address ['bin'|'ihex'|'elf'|'s19'] [min_address] [max_length]
log_output file_name
redirect logging to a file (default: stderr) (command valid any time)
ls dirname
show a listing of files (command valid any time)
mac
show MAC address (command valid any time)
mdb ['phys'] address [count]
display memory bytes
mdh ['phys'] address [count]
display memory half-words
mdw ['phys'] address [count]
display memory words
measure_clk
Runs a test to measure the JTAG clk. Useful with RCLK / RTCK.
(command valid any time)
mem2array arrayname bitwidth address count
read 8/16/32 bit memory and return as a TCL array for script
processing
meminfo
display free heap space (command valid any time)
mflash
mflash command group (command valid any time)
mflash bank soc_type base_addr pin_id target
configure a mflash device bank (configuration command)
mflash init
initialize mflash devices (configuration command)
ms Returns ever increasing milliseconds. Used to calculuate differences
in time. (command valid any time)
mwb ['phys'] address value [count]
write memory byte
mwh ['phys'] address value [count]
write memory half-word
mww ['phys'] address value [count]
write memory word
nand
NAND flash command group (command valid any time)
nand check_bad_blocks bank_id [offset length]
check all or part of NAND flash device for bad blocks
nand device bank_id driver target [driver_options ...]
defines a new NAND bank (configuration command)
nand drivers
lists available NAND drivers (command valid any time)
nand dump bank_id filename offset length ['oob_raw'|'oob_only']
dump from NAND flash device
nand erase bank_id [offset length]
erase all or subset of blocks on NAND flash device
nand info [banknum | first_bank_num last_bank_num]
print info about one or more NAND flash devices
nand init
initialize NAND devices (configuration command)
nand list
list configured NAND flash devices
nand probe bank_id
identify NAND flash device
nand raw_access bank_id ['enable'|'disable']
raw access to NAND flash device
nand verify bank_id filename offset
['oob_raw'|'oob_only'|'oob_softecc'|'oob_softecc_kw']
verify NAND flash device
nand write bank_id filename offset
['oob_raw'|'oob_only'|'oob_softecc'|'oob_softecc_kw']
write to NAND flash device
noinit
Prevent 'init' from being called at startup. (configuration command)
pathmove start_state state1 [state2 [state3 ...]]
Move JTAG state machine from current state (start_state) to state1,
then state2, state3, etc.
peek address
peek at a memory address (command valid any time)
pld
programmable logic device commands (command valid any time)
pld device driver_name [driver_args ... ]
configure a PLD device (configuration command)
pld init
initialize PLD devices (configuration command)
poke address value
poke at a memory address (command valid any time)
poll ['on'|'off']
poll target state; or reconfigure background polling
power_restore
Overridable procedure run when power restore is detected. Runs 'reset
init' by default. (command valid any time)
profile
profiling samples the CPU PC
rbp address
remove breakpoint
reg [(register_name|register_number) [value]]
display or set a register; with no arguments, displays all registers
and their values
reset [run|halt|init]
Reset all targets into the specified mode.Default reset mode is run,
if not given.
reset_config [none|trst_only|srst_only|trst_and_srst]
[srst_pulls_trst|trst_pulls_srst|combined|separate]
[srst_gates_jtag|srst_nogate] [trst_push_pull|trst_open_drain]
[srst_push_pull|srst_open_drain]
configure adapter reset behavior (command valid any time)
reset_nag ['enable'|'disable']
Nag after each reset about options that could have been enabled to
improve performance. (command valid any time)
resume [address]
resume target execution from current PC or address
rm file_name
remove a directory or file (command valid any time)
runtest num_cycles
Move to Run-Test/Idle, and issue TCK for num_cycles.
rwp address
remove watchpoint
scan_chain
print current scan chain configuration (command valid any time)
script
filename of OpenOCD script (tcl) to run (command valid any time)
shutdown
shut the server down (command valid any time)
sleep milliseconds ['busy']
Sleep for specified number of milliseconds. "busy" will busy wait
instead (avoid this). (command valid any time)
soft_reset_halt
halt the target and do a soft reset
srst_deasserted
Overridable procedure run when srst deassert is detected. Runs 'reset
init' by default. (command valid any time)
stacktrace
returns the stacktrace as a list of triples: proc, file, line.The
stack trace is reset when a new stack trace is being built after a
new failure has occurred. (command valid any time)
step [address]
step one instruction from current PC or address
svf svf [-tap device.tap] [quiet] [nil] [progress]
Runs a SVF file.
target
configure target (configuration command)
target count
Returns the number of targets as an integer (DEPRECATED) (command
valid any time)
target create name type '-chain-position' name [options ...]
Creates and selects a new target (command valid any time)
target current
Returns the currently selected target (command valid any time)
target init
initialize targets (configuration command)
target names
Returns the names of all targets as a list of strings (command
valid any time)
target number number
Returns the name of the numbered target (DEPRECATED) (command valid
any time)
target smp targetname1 targetname2 ...
gather several target in a smp list (command valid any time)
target types
Returns the available target types as a list of strings (command
valid any time)
target_request
target request command group (command valid any time)
target_request debugmsgs ['enable'|'charmsg'|'disable']
display and/or modify reception of debug messages from target
targets [target]
change current default target (one parameter) or prints table of all
targets (no parameters) (command valid any time)
tcl_port [port_num]
Specify port on which to listen for incoming Tcl syntax. Read help
on 'gdb_port'. (configuration command)
telnet_port [port_num]
Specify port on which to listen for incoming telnet connections.
Read help on 'gdb_port'. (command valid any time)
test_image filename [offset [type]]
tms_sequence ['short'|'long']
Display or change what style TMS sequences to use for JTAG state
transitions: short (default) or long. Only for working around JTAG
bugs. (command valid any time)
trace
trace command group
trace history ['clear'|size]
display trace history, clear history or set size
trace point ['clear'|address]
display trace points, clear list of trace points, or add new
tracepoint at address
transport
Transport command group (command valid any time)
transport init
Initialize this session's transport (command valid any time)
transport list
list all built-in transports (command valid any time)
transport select [transport_name]
Select this session's transport (command valid any time)
trunc file_name
truncate a file to zero length (command valid any time)
usage [command_name]
Show basic command usage; command can be multiple tokens. (command
valid any time)
verify_image filename [offset [type]]
verify_ircapture ['enable'|'disable']
Display or assign flag controlling whether to verify values captured
during Capture-IR. (command valid any time)
verify_jtag ['enable'|'disable']
Display or assign flag controlling whether to verify values captured
during IR and DR scans. (command valid any time)
version
show program version (command valid any time)
virt2phys virtual_address
translate a virtual address into a physical address (command valid
any time)
wait_halt [milliseconds]
wait up to the specified number of milliseconds (default 5) for a
previously requested halt
wait_srst_deassert ms
Wait for an SRST deassert. Useful for cases where you need something
to happen within ms of an srst deassert. Timeout in ms (command
valid any time)
wp [address length [('r'|'w'|'a') value [mask]]]
list (no params) or create watchpoints
xsvf (tapname|'plain') filename ['virt2'] ['quiet']
Runs a XSVF file. If 'virt2' is given, xruntest counts are
interpreted as TCK cycles rather than as microseconds. Without the
'quiet' option, all comments, retries, and mismatches will be
reported.
0 件のコメント:
コメントを投稿