only oneselect2 transportt option;autoselect jtag'怎么解决

AR9331开发板Uboot移植记录第2天
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。Editor Config
Configuring Eclipse for JTAG Debugging
It's assumed, that you successfully
The Eclipse IDE can use the GNU Debugger to set breakpoints on specific
source code lines, single step line by line, jump in to or out of functions,
display variable contents and more. To debug the firmware directly on the
target system, we will use
with the Turtelizer JTAG debugger.
Setting up the Hardware
The 10-pin JTAG plug of the Turtelizer 2 directly fits into the JTAG connector of
the Ethernut 3 board. Please check the
regarding the correct JTAG jumper settings.
Most ARM boards however provide a 20-pin connector, like
is required to connect the Turtelizer 2 to these boards.
OpenOCD Configuration
The Turtelizer package comes with ready-to-run configuration files for Ethernut 3, Ethernut 5
and the Elektor Internet Radio. It is available from
Click on the tab Resources.
A separate document explains the details about
Enable GDB Hardware Debugging in Eclipse
Open the Run menu in the C/C++ perspective and select Debug Configurations...
In the left panel click on GDB Hardware Debugging to activate it.
Then click on the New button to create a configuration. A new
debug configuration dialog should appear.
On the Main page, you may enter a meaningful name.
If the Project entry field is empty, click on Browse...
and select the project you want to debug. The C/C++ Application
field will be set automatically with the related Elf file.
You may Disable auto build to avoid rebuilding the binary with
possibly wrong settings. Better use Project -& Build All in
the main menu each time you changed the source code.
Make sure, that the Standard GDB Hardware Debugging Launcher is
selected. If not, click on Select other... to change it in the
following dialog. For some reason the Debugger Services Framework
doesn't seem to work with OpenOCD.
Click on the Debugger tab to activate the related page and click the
Browse... button to locate the GNU debugger executable. When using YAGARTO,
you should find the executable arm-none-eabi-gdb in the bin directory.
For OpenOCD the TCP port is 3333.
On the Startup page you may disable Reset and Delay when
debugging in applications in SDRAM. In some case, the application code
may not start at address zero and you need to specify an explicit value.
For example, on Ethernut 5 SDRAM starts at 0x.
Often Resume needs to be enabled too.
To test your settings, open a new command line window and start OpenOCD.
To debug Ethernut 5 with OpenOCD on a Windows PC, you can use
openocd -s c:/ethernut/nut/tools/turtelizer2
-c "source [find interface/turtelizer2.cfg]"
-c "source [find board/ethernut5.cfg]"
-c "reset init"
Put all into a single line. The first three command line options are
required to let OpenOCD load the right configuration files. If you are
using a different target or JTAG adapter, you have to modify the options
accordingly.
The init command is used to move OpenOCD from configuration to
running stage. The command reset init will configure the target
board. On Ethernut 5 it will mainly setup the PLLs and initialize the
SDRAM. Finally a halt is executed to stop the CPU.
If you are not able to get code uploaded and started, you should check
the OpenOCD window, possibly increasing the debug level.
For more information check
Starting OpenOCD in Eclipse
Instead of running OpenOCD in a separate command line window, you can
add it to the Eclipse tools menu to start OpenOCD with a simple click
on the tools button. Click on External Tools (the green toolbar button
with the tiny toolbox) to open the External Tools Configuration dialog.
To start OpenOCD select External Tools -& OpenOCD. For
reference, here is the OpenOCD console output that appeared on my Windows PC.
Open On-Chip Debugger 0.5.0 (-14:16)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.berlios.de/doc/doxygen/bugs.html
Info : only
autoselect 'jtag'
srst_only separate srst_gates_jtag srst_open_drain
trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain
adapter_nsrst_delay: 300
jtag_ntrst_delay: 200
RCLK - adaptive
Info : device: 4 "2232C"
Info : deviceID:
Info : SerialNumber: TLU44E26A
Info : Description: Turtelizer JTAG/RS232 Adapter A
Info : RCLK (adaptive clock speed) not supported - fallback to 3 kHz
Info : JTAG tap: at91sam9260.cpu tap/device found: 0x0792603f (mfg: 0x01f, part: 0x7926, ver: 0x0)
Info : Embedded ICE version 6
Info : at91sam9260.cpu: hardware has 2 breakpoint/watchpoint units
RCLK not supported - fallback to 5 kHz
target state: halted
target halted in ARM state due to debug-request, current mode: System
cpsr: 0x200000df pc: 0x
MMU: disabled, D-Cache: disabled, I-Cache: enabled
Info : JTAG tap: at91sam9260.cpu tap/device found: 0x0792603f (mfg: 0x01f, part: 0x7926, ver: 0x0)
target state: halted
target halted in ARM state due to breakpoint, current mode: Supervisor
cpsr: 0x pc: 0x
MMU: disabled, D-Cache: disabled, I-Cache: disabled
RCLK not supported - fallback to 3000 kHz
Warn : NOTE! DCC downloads have not been enabled, defaulting to slow memory writes. Type 'help dcc'.
Warn : NOTE! Severe performance degradation without fast memory access enabled. Type 'help fast'.
Info : accepting 'gdb' connection from 3333
Warn : acknowledgment received, but no packet pending
Note, that Eclipse typically opens several consoles, but only the one of the
currently selected program is displayed. Therefore, you need to select
C:\Program Files (x86)\yagarto\bin\arm-none-eabi-gdb.exe to get the
output of the debugger. My output on the related GDB console was
symbol-file C:\\ethernut-5.0\\nutapp-enut50f-dbg\\events\\events.elf
set $pc=0x
Temporary breakpoint 1, main () at events.c:123
uint32_t baud = 115200;
Solving OpenOCD and GDB Problems
If you can't get the debugger running, check your configuration again.
If everything seems to be set up right and it still doesn't work, you
best try OpenOCD and GDB outside of Eclipse on the command line.
Start OpenOCD first. On Windows open a command line, make sure that openocd.exe
is reachable by your PATH and enter the following, on a single line:
openocd -s c:/ethernut/nut/tools/turtelizer2 -c "source [find interface/turtelizer2.cfg]"
-c "source [find board/ethernut5.cfg]" -c init -c "reset init" -c halt
Check that the following lines appear. If not, then something might be wrong with
your hardware.
Info : device: 4 "2232C"
Info : deviceID:
Info : SerialNumber: TLU44E26A
Info : Description: Turtelizer JTAG/RS232 Adapter A
Info : RCLK (adaptive clock speed) not supported - fallback to 3 kHz
Info : JTAG tap: at91sam9260.cpu tap/device found: 0x0792603f (mfg: 0x01f, part: 0x7926, ver: 0x0)
Info : Embedded ICE version 6
Info : at91sam9260.cpu: hardware has 2 breakpoint/watchpoint units
On a second command line window we need the YAGARTO bin directory in our
PATH. Enter
arm-none-eabi-gdb events.elf
and, after GDB started, enter
target remote localhost:3333
This should upload the binary (events.elf in our example) to the
target board. For Ethernut 5 the code is loaded into external
RAM, which starts at address 0x. Set the program counter
accordingly.
set $pc=0x
The C runtime initialization is located here and we use stepi
for single stepping.
To repeat the command, simply press enter. To set a breakpoint on the
start of our application's main() routine, enter
break main
to let the program run until that point.Investigating Jtag on the Raspberry Pi using OpenOCD (and Bus Pirate) - Stack Overflow
to customize your list.
Join the Stack Overflow Community
Stack Overflow is a community of 6.4 million programmers, just like you, helping each other.
J it only takes a minute:
I bought a Bus Pirate as a cheap way to begin investigating Jtag on a couple chips. I thought the raspberry pi would make for a good test case as it is well documented and has a large support community. I have learned after reading through several sites that this is not a good setup on either end as the bus pirate is very limited in its Jtag capabilities and the Pi does not have Jtag turned on by default. However, this is what I have to work with, so I'd like to see it through if possible.
I have the latest version of OpenOCD installed (0.9.0), I have my bus pirate V4 hardware upgraded to Firmware v6.1 r1676 and Bootloader v4.4. I have my bus pirate on /dev/ttyUSB0 and have confirmed with an echo that it is receiving commands. I have created an openocd.cfg file to select my interface and target. It contains
source [find tcl/interface/buspirate.cfg]
source [find tcl/target/raspberry.cfg]
I altered my buspirate.cfg so it contains the following
# Buspirate with OpenOCD support
# /bus-pirate-manual/
interface buspirate
# you need to specify port on which BP lives (I have a udev rule for this)
buspirate_port /dev/ttyUSB0
# communication speed setting
buspirate_# or fast
# voltage regulator Enabled = 1 Disabled = 0
#buspirate_vreg 0
# pin mode normal or open-drain
#buspirate_mode normal
# pullup state Enabled = 1 Disabled = 0
#buspirate_pullup 0
# this depends on the cable, you are safe with this option
reset_config srst_only
I created a raspberry.cfg based off of a tutorial I found . I also used a script from this site to turn the Pi's Jtag pins on.
adapter_khz 1000
adapter_nsrst_delay 400
reset_config none
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
set _CHIPNAME rspi
if { [info exists CPU_TAPID ] } {
set _CPU_TAPID $CPU_TAPID
set _CPU_TAPID 0x07b7617F
jtag newtap $_CHIPNAME arm -irlen 5 -expected-id $_CPU_TAPID
set _TARGETNAME $_CHIPNAME.arm
target create $_TARGETNAME arm11 -chain-position $_TARGETNAME
rspi.arm configure -event gdb-attach { halt }
When I go to run OpenOCD the output indicates that the files are found and that it is connecting with the bus pirate, however, it is not correctly communicating with the Pi. Below is the long form debug, please let me know if you have any ideas
Open On-Chip Debugger 0.9.0-dev-035 (-08:50)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
User : 13 4 command.c:546 command_print(): debug_level: 3
Debug: 14 4 options.c:98 add_default_dirs(): bindir=/usr/local/bin
Debug: 15 4 options.c:99 add_default_dirs(): pkgdatadir=/usr/local/share/openocd
Debug: 16 4 options.c:100 add_default_dirs(): run_prefix=
Debug: 17 5 configuration.c:44 add_script_search_dir(): adding /home/user/.openocd
Debug: 18 5 configuration.c:44 add_script_search_dir(): adding /usr/local/share/openocd/site
Debug: 19 5 configuration.c:44 add_script_search_dir(): adding /usr/local/share/openocd/scripts
Debug: 20 5 configuration.c:84 find_file(): found openocd.cfg
Debug: 21 5 configuration.c:84 find_file(): found tcl/interface/buspirate.cfg
Debug: 22 6 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_interface buspirate
Debug: 23 6 command.c:145 script_debug(): command - interface ocd_interface buspirate
Debug: 25 6 command.c:325 command_new(): BUG: command 'buspirate_adc' does not have the '.usage' field filled out
Debug: 26 6 command.c:366 register_command_handler(): registering 'ocd_buspirate_adc'...
Debug: 27 6 command.c:366 register_command_handler(): registering 'ocd_buspirate_vreg'...
Debug: 28 6 command.c:366 register_command_handler(): registering 'ocd_buspirate_pullup'...
Debug: 29 7 command.c:366 register_command_handler(): registering 'ocd_buspirate_led'...
Debug: 30 7 command.c:366 register_command_handler(): registering 'ocd_buspirate_speed'...
Debug: 31 7 command.c:366 register_command_handler(): registering 'ocd_buspirate_mode'...
Debug: 32 7 command.c:366 register_command_handler(): registering 'ocd_buspirate_port'...
Warn : 33 7 adapter.c:161 handle_interface_command(): Adapter driver 'buspirate' did not declare which
assuming legacy JTAG-only
Info : 34 7 transport.c:118 allow_transports(): only
autoselect 'jtag'
Debug: 35 8 command.c:366 register_command_handler(): registering 'ocd_jtag_flush_queue_sleep'...
Debug: 36 8 command.c:366 register_command_handler(): registering 'ocd_jtag_rclk'...
Debug: 37 8 command.c:366 register_command_handler(): registering 'ocd_jtag_ntrst_delay'...
Debug: 38 8 command.c:366 register_command_handler(): registering 'ocd_jtag_ntrst_assert_width'...
Debug: 39 8 command.c:366 register_command_handler(): registering 'ocd_scan_chain'...
Debug: 40 8 command.c:366 register_command_handler(): registering 'ocd_jtag_reset'...
Debug: 41 8 command.c:366 register_command_handler(): registering 'ocd_runtest'...
Debug: 42 8 command.c:366 register_command_handler(): registering 'ocd_irscan'...
Debug: 43 8 command.c:366 register_command_handler(): registering 'ocd_verify_ircapture'...
Debug: 44 8 command.c:366 register_command_handler(): registering 'ocd_verify_jtag'...
Debug: 45 9 command.c:366 register_command_handler(): registering 'ocd_tms_sequence'...
Debug: 46 9 command.c:366 register_command_handler(): registering 'ocd_wait_srst_deassert'...
Debug: 47 9 command.c:366 register_command_handler(): registering 'ocd_jtag'...
Debug: 48 9 command.c:366 register_command_handler(): registering 'ocd_jtag'...
Debug: 49 9 command.c:366 register_command_handler(): registering 'ocd_jtag'...
Debug: 50 9 command.c:366 register_command_handler(): registering 'ocd_jtag'...
Debug: 51 9 command.c:366 register_command_handler(): registering 'ocd_jtag'...
Debug: 52 9 command.c:366 register_command_handler(): registering 'ocd_jtag'...
Debug: 53 9 command.c:366 register_command_handler(): registering 'ocd_jtag'...
Debug: 54 9 command.c:366 register_command_handler(): registering 'ocd_jtag'...
Debug: 55 9 command.c:366 register_command_handler(): registering 'ocd_jtag'...
Debug: 56 9 command.c:366 register_command_handler(): registering 'ocd_jtag'...
Debug: 57 9 command.c:366 register_command_handler(): registering 'ocd_jtag'...
Debug: 58 9 command.c:366 register_command_handler(): registering 'ocd_jtag'...
Debug: 59 10 command.c:366 register_command_handler(): registering 'ocd_jtag'...
Debug: 60 10 command.c:366 register_command_handler(): registering 'ocd_svf'...
Debug: 61 10 command.c:366 register_command_handler(): registering 'ocd_xsvf'...
Debug: 62 10 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_buspirate_port /dev/ttyUSB0
Debug: 63 10 command.c:145 script_debug(): command - buspirate_port ocd_buspirate_port /dev/ttyUSB0
Debug: 65 10 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_buspirate_speed normal
Debug: 66 10 command.c:145 script_debug(): command - buspirate_speed ocd_buspirate_speed normal
Debug: 68 10 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_reset_config srst_only
Debug: 69 10 command.c:145 script_debug(): command - reset_config ocd_reset_config srst_only
User : 71 10 command.c:546 command_print(): srst_only separate srst_gates_jtag srst_open_drain connect_deassert_srst
Debug: 72 10 configuration.c:84 find_file(): found tcl/target/raspberry.cfg
Debug: 73 10 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_adapter_khz 1000
Debug: 74 10 command.c:145 script_debug(): command - adapter_khz ocd_adapter_khz 1000
Debug: 76 10 core.c:1629 jtag_config_khz(): handle jtag khz
Debug: 77 10 core.c:1596 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 78 10 core.c:1596 adapter_khz_to_speed(): convert khz to interface specific speed value
User : 79 10 command.c:546 command_print(): adapter speed: 1000 kHz
Debug: 80 10 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_adapter_nsrst_delay 400
Debug: 81 10 command.c:145 script_debug(): command - adapter_nsrst_delay ocd_adapter_nsrst_delay 400
User : 83 10 command.c:546 command_print(): adapter_nsrst_delay: 400
Debug: 84 11 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_reset_config none
Debug: 85 11 command.c:145 script_debug(): command - reset_config ocd_reset_config none
User : 87 11 command.c:546 command_print(): none separate
Debug: 88 11 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_jtag newtap rspi arm -irlen 5 -expected-id 0x07b7617F
Debug: 89 11 command.c:145 script_debug(): command - ocd_jtag ocd_jtag newtap rspi arm -irlen 5 -expected-id 0x07b7617F
Debug: 90 11 tcl.c:549 jim_newtap_cmd(): Creating New Tap, Chip: rspi, Tap: arm, Dotted: rspi.arm, 4 params
Debug: 91 11 tcl.c:573 jim_newtap_cmd(): Processing option: -irlen
Debug: 92 11 tcl.c:573 jim_newtap_cmd(): Processing option: -expected-id
Debug: 93 11 core.c:1302 jtag_tap_init(): Created Tap: rspi.arm @ abs position 0, irlen 5, capture: 0x1 mask: 0x3
Debug: 94 11 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_target create rspi.arm arm11 -chain-position rspi.arm
Debug: 95 11 command.c:145 script_debug(): command - ocd_target ocd_target create rspi.arm arm11 -chain-position rspi.arm
Debug: 96 11 target.c:1837 target_free_all_working_areas_restore(): freeing all working areas
Debug: 97 11 command.c:366 register_command_handler(): registering 'ocd_arm'...
Debug: 98 11 command.c:366 register_command_handler(): registering 'ocd_arm'...
Debug: 99 11 command.c:366 register_command_handler(): registering 'ocd_arm'...
Debug: 100 11 command.c:366 register_command_handler(): registering 'ocd_arm'...
Debug: 101 11 command.c:366 register_command_handler(): registering 'ocd_arm'...
Debug: 102 11 command.c:366 register_command_handler(): registering 'ocd_arm'...
Debug: 103 11 command.c:366 register_command_handler(): registering 'ocd_etm'...
Debug: 104 11 command.c:366 register_command_handler(): registering 'ocd_arm11'...
Debug: 105 11 command.c:366 register_command_handler(): registering 'ocd_arm11'...
Debug: 106 11 command.c:366 register_command_handler(): registering 'ocd_arm11'...
Debug: 107 11 command.c:366 register_command_handler(): registering 'ocd_arm11'...
Debug: 108 11 command.c:366 register_command_handler(): registering 'ocd_arm11'...
Debug: 109 11 command.c:366 register_command_handler(): registering 'ocd_arm11'...
Debug: 110 11 armv4_5.c:422 arm_set_cpsr(): set CPSR 0x: User mode, ARM state
Debug: 111 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 112 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 113 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 114 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 115 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 116 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 117 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 118 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 119 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 120 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 121 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 122 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 123 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 124 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 125 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 126 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 127 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 128 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 129 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 130 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 131 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 132 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 133 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 134 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 135 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 136 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 137 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 138 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 139 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 140 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 141 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 142 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 143 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 144 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 145 12 command.c:366 register_command_handler(): registering 'ocd_rspi.arm'...
Debug: 146 12 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_rspi.arm configure -event gdb-attach halt
Debug: 147 12 command.c:145 script_debug(): command - ocd_rspi.arm ocd_rspi.arm configure -event gdb-attach halt
Debug: 148 13 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_init
Debug: 149 13 command.c:145 script_debug(): command - init ocd_init
Debug: 151 13 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_target init
Debug: 152 13 command.c:145 script_debug(): command - ocd_target ocd_target init
Debug: 154 13 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_target names
Debug: 155 13 command.c:145 script_debug(): command - ocd_target ocd_target names
Debug: 156 13 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_rspi.arm cget -event gdb-flash-erase-start
Debug: 157 13 command.c:145 script_debug(): command - ocd_rspi.arm ocd_rspi.arm cget -event gdb-flash-erase-start
Debug: 158 13 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_rspi.arm configure -event gdb-flash-erase-start reset init
Debug: 159 13 command.c:145 script_debug(): command - ocd_rspi.arm ocd_rspi.arm configure -event gdb-flash-erase-start reset init
Debug: 160 13 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_rspi.arm cget -event gdb-flash-write-end
Debug: 161 13 command.c:145 script_debug(): command - ocd_rspi.arm ocd_rspi.arm cget -event gdb-flash-write-end
Debug: 162 13 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_rspi.arm configure -event gdb-flash-write-end reset halt
Debug: 163 13 command.c:145 script_debug(): command - ocd_rspi.arm ocd_rspi.arm configure -event gdb-flash-write-end reset halt
Debug: 164 13 target.c:1313 handle_target_init_command(): Initializing targets...
Debug: 165 13 command.c:366 register_command_handler(): registering 'ocd_target_request'...
Debug: 166 13 command.c:366 register_command_handler(): registering 'ocd_trace'...
Debug: 167 13 command.c:366 register_command_handler(): registering 'ocd_trace'...
Debug: 168 13 command.c:366 register_command_handler(): registering 'ocd_fast_load_image'...
Debug: 169 13 command.c:366 register_command_handler(): registering 'ocd_fast_load'...
Debug: 170 13 command.c:366 register_command_handler(): registering 'ocd_profile'...
Debug: 171 13 command.c:366 register_command_handler(): registering 'ocd_virt2phys'...
Debug: 172 14 command.c:366 register_command_handler(): registering 'ocd_reg'...
Debug: 173 14 command.c:366 register_command_handler(): registering 'ocd_poll'...
Debug: 174 14 command.c:366 register_command_handler(): registering 'ocd_wait_halt'...
Debug: 175 14 command.c:366 register_command_handler(): registering 'ocd_halt'...
Debug: 176 14 command.c:366 register_command_handler(): registering 'ocd_resume'...
Debug: 177 14 command.c:366 register_command_handler(): registering 'ocd_reset'...
Debug: 178 14 command.c:366 register_command_handler(): registering 'ocd_soft_reset_halt'...
Debug: 179 14 command.c:366 register_command_handler(): registering 'ocd_step'...
Debug: 180 14 command.c:366 register_command_handler(): registering 'ocd_mdw'...
Debug: 181 14 command.c:366 register_command_handler(): registering 'ocd_mdh'...
Debug: 182 14 command.c:366 register_command_handler(): registering 'ocd_mdb'...
Debug: 183 14 command.c:366 register_command_handler(): registering 'ocd_mww'...
Debug: 184 14 command.c:366 register_command_handler(): registering 'ocd_mwh'...
Debug: 185 14 command.c:366 register_command_handler(): registering 'ocd_mwb'...
Debug: 186 14 command.c:366 register_command_handler(): registering 'ocd_bp'...
Debug: 187 14 command.c:366 register_command_handler(): registering 'ocd_rbp'...
Debug: 188 14 command.c:366 register_command_handler(): registering 'ocd_wp'...
Debug: 189 14 command.c:366 register_command_handler(): registering 'ocd_rwp'...
Debug: 190 14 command.c:366 register_command_handler(): registering 'ocd_load_image'...
Debug: 191 14 command.c:366 register_command_handler(): registering 'ocd_dump_image'...
Debug: 192 14 command.c:366 register_command_handler(): registering 'ocd_verify_image'...
Debug: 193 14 command.c:366 register_command_handler(): registering 'ocd_test_image'...
Debug: 194 14 command.c:366 register_command_handler(): registering 'ocd_reset_nag'...
Debug: 195 14 command.c:366 register_command_handler(): registering 'ocd_ps'...
Debug: 196 14 command.c:366 register_command_handler(): registering 'ocd_test_mem_access'...
Info : 197 116 buspirate.c:232 read_and_discard_all_data(): Some stale data from a previous connection was discarded.
Debug: 198 218 buspirate.c:834 buspirate_jtag_enable(): Entering binary mode
Debug: 199 218 buspirate.c:1059 buspirate_serial_write(): size = 20 ret = 20
Debug: 200 218 buspirate.c:1121 buspirate_print_buffer(): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Debug: 201 218 buspirate.c:1127 buspirate_print_buffer(): 00 00 00 00
Debug: 202 229 buspirate.c:1091 buspirate_serial_read(): should have read = 4 actual size = 4
Debug: 203 229 buspirate.c:1127 buspirate_print_buffer(): 42 42 49 4f
Debug: 204 229 buspirate.c:1091 buspirate_serial_read(): should have read = 1 actual size = 1
Debug: 205 229 buspirate.c:1127 buspirate_print_buffer(): 31
Debug: 206 229 buspirate.c:1059 buspirate_serial_write(): size = 1 ret = 1
Debug: 207 229 buspirate.c:1127 buspirate_print_buffer(): 06
Debug: 208 233 buspirate.c:1091 buspirate_serial_read(): should have read = 4 actual size = 4
Debug: 209 233 buspirate.c:1127 buspirate_print_buffer(): 4f 43 44 31
Info : 210 233 buspirate.c:305 buspirate_init(): Buspirate Interface ready!
Debug: 211 233 buspirate.c:1059 buspirate_serial_write(): size = 2 ret = 2
Debug: 212 233 buspirate.c:1127 buspirate_print_buffer(): 01 02
Debug: 213 233 buspirate.c:1059 buspirate_serial_write(): size = 3 ret = 3
Debug: 214 233 buspirate.c:1127 buspirate_print_buffer(): 02 02 00
Debug: 215 233 buspirate.c:1059 buspirate_serial_write(): size = 3 ret = 3
Debug: 216 233 buspirate.c:1127 buspirate_print_buffer(): 02 10 00
Debug: 217 233 buspirate.c:809 buspirate_reset(): trst: 0, srst: 0
Debug: 218 233 buspirate.c:1059 buspirate_serial_write(): size = 3 ret = 3
Debug: 219 233 buspirate.c:1127 buspirate_print_buffer(): 02 04 01
Debug: 220 233 buspirate.c:1059 buspirate_serial_write(): size = 3 ret = 3
Debug: 221 233 buspirate.c:1127 buspirate_print_buffer(): 02 08 01
Info : 222 233 core.c:1355 adapter_init(): This adapter doesn't support configurable speed
Debug: 223 233 openocd.c:137 handle_init_command(): Debug Adapter init complete
Debug: 224 233 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_transport init
Debug: 225 233 command.c:145 script_debug(): command - ocd_transport ocd_transport init
Debug: 227 233 transport.c:240 handle_transport_init(): handle_transport_init
Debug: 228 233 buspirate.c:809 buspirate_reset(): trst: 0, srst: 0
Debug: 229 233 buspirate.c:1059 buspirate_serial_write(): size = 3 ret = 3
Debug: 230 233 buspirate.c:1127 buspirate_print_buffer(): 02 04 01
Debug: 231 233 buspirate.c:1059 buspirate_serial_write(): size = 3 ret = 3
Debug: 232 233 buspirate.c:1127 buspirate_print_buffer(): 02 08 01
Debug: 233 233 core.c:730 jtag_add_reset(): SRST line released
Debug: 234 233 core.c:754 jtag_add_reset(): TRST line released
Debug: 235 233 core.c:328 jtag_call_event_callbacks(): jtag event: TAP reset
Debug: 237 656 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_jtag arp_init
Debug: 238 656 command.c:145 script_debug(): command - ocd_jtag ocd_jtag arp_init
Debug: 239 656 core.c:1397 jtag_init_inner(): Init JTAG chain
Debug: 240 656 core.c:328 jtag_call_event_callbacks(): jtag event: TAP reset
Debug: 241 656 buspirate.c:675 buspirate_tap_execute(): executing tap num bits = 7 scans = 0
Debug: 242 656 buspirate.c:1059 buspirate_serial_write(): size = 5 ret = 5
Debug: 243 656 buspirate.c:1127 buspirate_print_buffer(): 05 00 07 00 7f
Debug: 244 660 buspirate.c:1091 buspirate_serial_read(): should have read = 4 actual size = 4
Debug: 245 660 buspirate.c:1127 buspirate_print_buffer(): 05 00 07 7f
Debug: 246 660 core.c:1058 jtag_examine_chain(): DR scan interrogation for IDCODE/BYPASS
Debug: 247 660 core.c:328 jtag_call_event_callbacks(): jtag event: TAP reset
Debug: 248 660 buspirate.c:675 buspirate_tap_execute(): executing tap num bits = 687 scans = 1
Debug: 249 660 buspirate.c:1059 buspirate_serial_write(): size = 175 ret = 175
Debug: 250 660 buspirate.c:1121 buspirate_print_buffer(): 05 02 af 80 17 ff 00 ff 00 ff 00 ff 00 ff 00 ff
Debug: 251 660 buspirate.c:1121 buspirate_print_buffer(): 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff
Debug: 252 660 buspirate.c:1121 buspirate_print_buffer(): 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff
Debug: 253 660 buspirate.c:1121 buspirate_print_buffer(): 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff
Debug: 254 660 buspirate.c:1121 buspirate_print_buffer(): 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff
Debug: 255 660 buspirate.c:1121 buspirate_print_buffer(): 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff
Debug: 256 660 buspirate.c:1121 buspirate_print_buffer(): 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff
Debug: 257 660 buspirate.c:1121 buspirate_print_buffer(): 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff
Debug: 258 660 buspirate.c:1121 buspirate_print_buffer(): 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff
Debug: 259 660 buspirate.c:1121 buspirate_print_buffer(): 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff
Debug: 260 660 buspirate.c:1127 buspirate_print_buffer(): 00 ff 00 ff 00 ff 00 ff 00 ff 00 7f 40 00 7f
Debug: 261 686 buspirate.c:1091 buspirate_serial_read(): should have read = 89 actual size = 89
Debug: 262 686 buspirate.c:1121 buspirate_print_buffer(): 05 02 af ff ff ff ff ff ff ff ff ff ff ff ff ff
Debug: 263 686 buspirate.c:1121 buspirate_print_buffer(): ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Debug: 264 686 buspirate.c:1121 buspirate_print_buffer(): ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Debug: 265 686 buspirate.c:1121 buspirate_print_buffer(): ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Debug: 266 686 buspirate.c:1121 buspirate_print_buffer(): ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Debug: 267 686 buspirate.c:1127 buspirate_print_buffer(): ff ff ff ff ff ff ff ff 7f
Error: 268 686 core.c:948 jtag_examine_chain_check(): JTAG scan chain interrogation failed: all ones
Error: 269 686 core.c:949 jtag_examine_chain_check(): Check JTAG interface, timings, target power, etc.
Error: 270 686 core.c:1442 jtag_init_inner(): Trying to use configured scan chain anyway...
Debug: 271 686 core.c:1188 jtag_validate_ircapture(): IR capture validation scan
Debug: 272 686 buspirate.c:675 buspirate_tap_execute(): executing tap num bits = 18 scans = 1
Debug: 273 686 buspirate.c:1059 buspirate_serial_write(): size = 9 ret = 9
Debug: 274 686 buspirate.c:1127 buspirate_print_buffer(): 05 00 12 80 1b 3f a0 00 01
Debug: 275 690 buspirate.c:1091 buspirate_serial_read(): should have read = 6 actual size = 6
Debug: 276 690 buspirate.c:1127 buspirate_print_buffer(): 05 00 12 ff ff 03
Error: 277 690 core.c:1240 jtag_validate_ircapture(): rspi.arm: IR saw 0x1f not 0x01
Debug: 278 690 core.c:328 jtag_call_event_callbacks(): jtag event: TAP reset
Debug: 279 690 buspirate.c:675 buspirate_tap_execute(): executing tap num bits = 7 scans = 0
Debug: 280 690 buspirate.c:1059 buspirate_serial_write(): size = 5 ret = 5
Debug: 281 690 buspirate.c:1127 buspirate_print_buffer(): 05 00 07 00 7f
Debug: 282 694 buspirate.c:1091 buspirate_serial_read(): should have read = 4 actual size = 4
Debug: 283 694 buspirate.c:1127 buspirate_print_buffer(): 05 00 07 7f
Warn : 284 694 core.c:1465 jtag_init_inner(): Bypassing JTAG setup events due to errors
Debug: 285 694 openocd.c:150 handle_init_command(): Examining targets...
Debug: 286 694 target.c:1465 target_call_event_callbacks(): target event 21 (examine-start)
Debug: 287 694 buspirate.c:675 buspirate_tap_execute(): executing tap num bits = 74 scans = 4
Debug: 288 694 buspirate.c:1059 buspirate_serial_write(): size = 23 ret = 23
Debug: 289 694 buspirate.c:1121 buspirate_print_buffer(): 05 00 4a 00 1b 0f e8 00 00 00 00 00 00 00 00 00
Debug: 290 694 buspirate.c:1127 buspirate_print_buffer(): 7a 04 a0 00 03 00 01
Debug: 291 700 buspirate.c:1091 buspirate_serial_read(): should have read = 13 actual size = 13
Debug: 292 700 buspirate.c:1127 buspirate_print_buffer(): 05 00 4a ff ff ff ff ff ff ff ff ff 03
Error: 293 700 arm11_dbgtap.c:164 arm11_in_handler_SCAN_N(): 'arm11 target' JTAG error SCREG OUT 0x1f
Debug: 294 700 buspirate.c:675 buspirate_tap_execute(): executing tap num bits = 61 scans = 2
Debug: 295 700 buspirate.c:1059 buspirate_serial_write(): size = 19 ret = 19
Debug: 296 700 buspirate.c:1121 buspirate_print_buffer(): 05 00 3d 00 0f 03 74 00 00 00 00 00 00 00 00 00
Debug: 297 700 buspirate.c:1127 buspirate_print_buffer(): 00 00 0d
Debug: 298 705 buspirate.c:1091 buspirate_serial_read(): should have read = 11 actual size = 11
Debug: 299 705 buspirate.c:1127 buspirate_print_buffer(): 05 00 3d ff ff ff ff ff ff ff 1f
Error: 300 705 arm11.c:1157 arm11_examine(): unexpected ARM11 ID code
Debug: 301 705 openocd.c:152 handle_init_command(): target examination failed
Debug: 302 705 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_flash init
Debug: 303 705 command.c:145 script_debug(): command - ocd_flash ocd_flash init
Debug: 305 705 tcl.c:890 handle_flash_init_command(): Initializing flash devices...
Debug: 306 705 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_mflash init
Debug: 307 705 command.c:145 script_debug(): command - ocd_mflash ocd_mflash init
Debug: 309 705 mflash.c:1379 handle_mflash_init_command(): Initializing mflash devices...
Debug: 310 705 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_nand init
Debug: 311 705 command.c:145 script_debug(): command - ocd_nand ocd_nand init
Debug: 313 705 tcl.c:497 handle_nand_init_command(): Initializing NAND devices...
Debug: 314 706 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_pld init
Debug: 315 706 command.c:145 script_debug(): command - ocd_pld ocd_pld init
Debug: 317 706 pld.c:207 handle_pld_init_command(): Initializing PLDs...
I was able to get this working using a V3 sparkfun board. I have a considerably smaller bus pirate config file:
source [find interface/buspirate.cfg]
interface buspirate
buspirate_port /dev/ttyUSB0
buspirate_vreg 0
buspirate_mode open-drain
buspirate_pullup 1
buspirate_speed normal
I posted all of the details
In short, my biggest problem that I wasted hours on, was the fact that I had incorrectly guessed the jtag pins on my experimental device (a LinksSys BEFSR41 Router). I didn't see what device you were trying to connect to your Bus Pirate jtag connector.
I launch OpenOCD like this:
sudo openocd -s /usr/share/openocd -f board/buspirate.cfg
And is what I see:
Open On-Chip Debugger 0.10.0-dev-00040-gd52070c (-16:51)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Warn : Adapter driver 'buspirate' did not declare which
assuming legacy JTAG-only
Info : only
autoselect 'jtag'
srst_only separate srst_gates_jtag srst_open_drain connect_deassert_srst
Warn : Interface already configured, ignoring
Info : Buspirate Interface ready!
Info : This adapter doesn't support configurable speed
Warn : There are no enabled taps.
AUTO PROBING MIGHT NOT WORK!!
Info : JTAG tap: auto0.tap tap/device found: 0x1f0f0f0f (mfg: 0x787, part: 0xf0f0, ver: 0x1)
Warn : AUTO auto0.tap - use "jtag newtap auto0 tap -irlen 4 -expected-id 0x1f0f0f0f"
Warn : gdb services need one or more targets defined
Months after your post, hopefully this is still helpful :)
I think the biggest problem you will find is that Raspberry Pi is using a Broadcom BCM28XX chips.
These are used in set-top boxes, getting the datasheet or models(BSDL) would require an NDA with Broadcom.
I expect the Pi's are tested in the factory using JTAG but the BCM chips may well have security fuses which are blown at the end of the production process once Serial Numbers have been programmed.
With the fuses blown the JTAG chain will be broken.
If the datasheet and BSDL files were on general release than anyone could "modify" their set-top boxes and the providers of the boxes might get a bit upset.
The other problem you I think you will have is that the BCM chips have a lot more going on in them that a standard JTAG compliant device might have.
I would guess the BCM are part ASIC, with some sort internal flash and maybe a PLA (FPGA or CPLD).
They they also have an ARM core processor too.
I wish you luck but the Pi is not a board I would use as a training platform for JTAG.
Your Answer
Sign up or
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Post as a guest
By posting your answer, you agree to the
Not the answer you're looking for?
Browse other questions tagged
Stack Overflow works best with JavaScript enabled

我要回帖

更多关于 清空select下的option 的文章

 

随机推荐