D
================================================================================
## JTAG connector - Dockstar, GoflexNet, GoflexHome ##
================================================================================
Dockstar plug J1 10 pin, Serial Link/JTAG (Pin counting pairwise, and original)
function name pin org pin name function color RS232
output VCC 1 1 10 2 GND blk
Test Reset, active low TRST 3 2 9 4 TxD 3.3 V blu
Test Data Input TDI 5 3 8 6 RxD 3.3 V wht
Test Mode Select TMS 7 4 7 8 SRST System Reset, active low
Test Clock TCK 9 5 6 10 TDO Test Data Output
--------------------------------------------------------------------------------
pi@raspberrypi ~ $ cat /usr/share/openocd/scripts/board/dockstar.cfg
# Marvell SheevaPlug
# I'm using a wiggler compatible cable
source [find interface/sysfsgpio-raspberrypi.cfg]
source [find target/feroceon.cfg]
adapter_khz 200
adapter_nsrst_delay 500
$_TARGETNAME configure \
-work-area-phys 0x100000 \
-work-area-size 65536 \
-work-area-backup 0
# Disabled for the dockstar
#arm7_9 dcc_downloads enable
# this assumes the hardware default peripherals location before u-Boot moves it
set _FLASHNAME $_CHIPNAME.flash
nand device $_FLASHNAME orion 0 0xd8000000
proc dockstar_init { } {
# We need to assert DBGRQ while holding nSRST down.
# However DBGACK will be set only when nSRST is released.
# Furthermore, the JTAG interface doesn't respond at all when
# the CPU is in the WFI (wait for interrupts) state, so it is
# possible that initial tap examination failed. So let's
# re-examine the target again here when nSRST is asserted which
# should then succeed.
jtag_reset 0 1
feroceon.cpu arp_examine
halt 0
jtag_reset 0 0
wait_halt
arm mcr 15 0 0 1 0 0x00052078
mww 0xD0001400 0x43000C30
mww 0xD0001404 0x39543000
mww 0xD0001408 0x22125451
mww 0xD000140C 0x00000833
mww 0xD0001410 0x000000CC
mww 0xD0001414 0x00000000
mww 0xD0001418 0x00000000
mww 0xD000141C 0x00000C52
mww 0xD0001420 0x00000042
mww 0xD0001424 0x0000F17F
mww 0xD0001428 0x00085520
mww 0xD000147c 0x00008552
# 1st bank is 128 MB
mww 0xD0001504 0x07FFFFF1
# 2nd bank of DRAM is not used
mww 0xD0001508 0x00000000
mww 0xD000150C 0x00000000
# Commented the 3 following lines
#mww 0xD0001504 0x0FFFFFF1
#mww 0xD0001508 0x10000000
#mww 0xD000150C 0x0FFFFFF5
mww 0xD0001514 0x00000000
mww 0xD000151C 0x00000000
mww 0xD0001494 0x003C0000
mww 0xD0001498 0x00000000
mww 0xD000149C 0x0000F80F
mww 0xD0001480 0x00000001
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0020204 0x00000000
mww 0xD0010000 0x01111111
mww 0xD0010004 0x11113322
mww 0xD0010008 0x00001111
mww 0xD0010418 0x003E07CF
mww 0xD001041C 0x000F0F0F
mww 0xD0010470 0x01C7D943
}
proc sheevaplug_reflash_uboot { } {
# reflash the u-Boot binary and reboot into it
sheevaplug_init
nand probe 0
nand erase 0 0x0 0xa0000
nand write 0 uboot.bin 0 oob_softecc_kw
resume
}
proc sheevaplug_reflash_uboot_env { } {
# reflash the u-Boot environment variables area
sheevaplug_init
nand probe 0
nand erase 0 0xa0000 0x40000
nand write 0 uboot-env.bin 0xa0000 oob_softecc_kw
resume
}
proc sheevaplug_load_uboot { } {
# load u-Boot into RAM and execute it
sheevaplug_init
#load_image uboot.elf
#verify_image uboot.elf
load_image u-boot
verify_image u-boot
resume 0x00600000
}
proc dockstar_reset_cpu { } {
# System and User mode registers
# r0: 00000000 r1: 00000000 r2: 00000000 r3: 00000000
# r4: 00000000 r5: 00000000 r6: 00000000 r7: 00000000
# r8: 00000000 r9: 00000000 r10: 00000000 r11: 00000000
# r12: 00000000 sp_usr: 7dddee86 lr_usr: dffebe46 pc: ffff0a42
# cpsr: 400000f3
reg r1 0
reg r2 0
reg r3 0
reg r4 0
reg r5 0
reg r6 0
reg r7 0
reg r8 0
reg r9 0
reg r10 0
reg r11 0
reg r12 0
reg sp_usr 0
reg lr_usr 0
reg pc 0
# Set the CPU in Supervisor mode
reg cpsr 0x13
# FIQ mode shadow registers
# r8_fiq: fbcfff64 r9_fiq: d7dfafd6 r10_fiq: 1fff6d2e r11_fiq: 1db65df4
# r12_fiq: ff5a6de4 sp_fiq: 745fe7d5 lr_fiq: 89f7ae3e spsr_fiq: 00000000
reg r8_fiq 0
reg r9_fiq 0
reg r10_fiq 0
reg r11_fiq 0
reg r12_fiq 0
reg sp_fiq 0
reg lr_fiq 0
reg spsr_fiq 0
# Supervisor mode shadow registers
# sp_svc: fffeff84 lr_svc: ffff0a43 spsr_svc: 00000000
reg sp_svc 0
reg lr_svc 0
reg spsr_svc 0
# Abort mode shadow registers
# sp_abt: 51fe66f7 lr_abt: d7abaef7 spsr_abt: 00000000
reg sp_abt 0
reg lr_abt 0
reg spsr_abt 0
# IRQ mode shadow registers
# sp_irq: 7fdb4ed5 lr_irq: 6d41122e spsr_irq: 00000000
reg sp_irq 0
reg lr_irq 0
reg spsr_irq 0
# Undefined instruction mode shadow registers
# sp_und: 75ffef7e lr_und: d75b6cd1 spsr_und: 00000000
reg sp_und 0
reg lr_und 0
reg spsr_und 0
}
Spoiler 1 (der Start von OpenOCD) sieht ja schon mal gut aus....Ich habe den Raspi aber in mein Netzwerk eingebunden und die Terminals im (Windows)PC über putty aufgemacht.Im Prinzip brauchen wir 3 Terminals:
Terminal1: (ssh Terminal) hier wird openOCD aufgerufen und man sieht die Reaktionen der Eingaben aus Terminal2
Terminal2: (openOCD Schnittstelle über Telnet Port 4444) hier werden die Steuerbefehle eingegeben
(zb uboot ins ram laden und starten)
Terminal3: über USB/TTL Adapter (ist natürlich seriell) mit Pogo verbunden, von hier stoppen wir den Bootvorgang und flashen das neue uboot bzw die uboot envs ins nand
Wir verwenden Cookies und ähnliche Technologien für folgende Zwecke:
Akzeptieren Sie Cookies und diese Technologien?
Wir verwenden Cookies und ähnliche Technologien für folgende Zwecke:
Akzeptieren Sie Cookies und diese Technologien?