Witam!
Posiadam mikrokontroler STM32F107, czyli Connectivity.
Chce się z nim połączyć poprzez debugger/programator JTAG. Plik konfiguracyjny interfejsu debuggera w OpenOCD jest ustawiony na typ debuggera Amontec JTAGkey, natomiast plik konfiguracyjny procesora na stm32.cfg.
Po połączeniu układów poprzez OpenOCD dostaję następujące komunikaty:
Czy w ogóle debugger łączy się z procesorem? Chyba tak skoro wykrywa go poprzez wpisy:
?
Po tym error oczywiście całość już nie działa. Co może być nie tak? Czy może być to spowodowane?
UPDATE:
Sprawdziłem jeszcze jak wyglądają połączenia między interfejsem JTAG a mikrokontolerem (korzystam z płytek ewaluacyjnych).
Linie, z których korzystam:
TRST_N - podciągnięte do +3.3V opornikiem 10kOhm
TDI - podciągnięte do +3.3V opornikiem 10kOhm równolegle z opornikiem 10kOhm
TMS - podciągnięte do +3.3V opornikiem 10kOhm równolegle z opornikiem 10kOhm
TCK - podciągnięte do GND opornikiem 10kOhm równolegle z opornikiem 10kOhm
TDO - podciągnięte do +3.3V opornikiem 10kOhm równolegle z opornikiem 10kOhm
SRST_N - bezpośrednie połączenie JTAG - mikrokontroler.
Btw, na stronie Olimex: Schemat układu STM32 linia TCK jest podłączona inaczej niż u mnie, do +3.3V. Czy to może powodować takie błędy (co prawda tam jest układ STM32F103, ale to chyba niewielka różnica)?
Te równoległe połączenia wynikają z konstrukcji samych płytek. Czy takie połączenia równoległe mogą mieć wpływ na wypisane powyżej błędy? Same połączenia są chyba dobre (czy np. ta linia TCK powinna inaczej być podłączona)?
Dzięki
Posiadam mikrokontroler STM32F107, czyli Connectivity.
Chce się z nim połączyć poprzez debugger/programator JTAG. Plik konfiguracyjny interfejsu debuggera w OpenOCD jest ustawiony na typ debuggera Amontec JTAGkey, natomiast plik konfiguracyjny procesora na stm32.cfg.
Po połączeniu układów poprzez OpenOCD dostaję następujące komunikaty:
Info : clock speed 1000 kHz
Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Info : JTAG tap: stm32.bs tap/device found: 0x06418041 (mfg: 0x020, part: 0x6418, ver: 0x0)
Warn : Unexpected idcode after end of chain: 64 0x00000000
Warn : Unexpected idcode after end of chain: 96 0x00000000
Warn : Unexpected idcode after end of chain: 128 0x00000000
Warn : Unexpected idcode after end of chain: 160 0x00000000
Warn : Unexpected idcode after end of chain: 192 0x00000000
Warn : Unexpected idcode after end of chain: 224 0x00000000
Warn : Unexpected idcode after end of chain: 256 0x00000000
Warn : Unexpected idcode after end of chain: 288 0x00000000
Warn : Unexpected idcode after end of chain: 320 0x00000000
Warn : Unexpected idcode after end of chain: 352 0x00000000
Warn : Unexpected idcode after end of chain: 384 0x00000000
Warn : Unexpected idcode after end of chain: 416 0x00000000
Warn : Unexpected idcode after end of chain: 448 0x00000000
Warn : Unexpected idcode after end of chain: 480 0x00000000
Warn : Unexpected idcode after end of chain: 512 0x00000000
Warn : Unexpected idcode after end of chain: 544 0x00000000
Warn : Unexpected idcode after end of chain: 576 0x00000000
Warn : Unexpected idcode after end of chain: 608 0x00000000
Error: double-check your JTAG setup (interface, speed, missing TAPs, ...)
Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Info : JTAG tap: stm32.bs tap/device found: 0x06418041 (mfg: 0x020, part: 0x6418, ver: 0x0)
Warn : Unexpected idcode after end of chain: 64 0x00000000
Warn : Unexpected idcode after end of chain: 96 0x00000000
Warn : Unexpected idcode after end of chain: 128 0x00000000
Warn : Unexpected idcode after end of chain: 160 0x00000000
Warn : Unexpected idcode after end of chain: 192 0x00000000
Warn : Unexpected idcode after end of chain: 224 0x00000000
Warn : Unexpected idcode after end of chain: 256 0x00000000
Warn : Unexpected idcode after end of chain: 288 0x00000000
Warn : Unexpected idcode after end of chain: 320 0x00000000
Warn : Unexpected idcode after end of chain: 352 0x00000000
Warn : Unexpected idcode after end of chain: 384 0x00000000
Warn : Unexpected idcode after end of chain: 416 0x00000000
Warn : Unexpected idcode after end of chain: 448 0x00000000
Warn : Unexpected idcode after end of chain: 480 0x00000000
Warn : Unexpected idcode after end of chain: 512 0x00000000
Warn : Unexpected idcode after end of chain: 544 0x00000000
Warn : Unexpected idcode after end of chain: 576 0x00000000
Warn : Unexpected idcode after end of chain: 608 0x00000000
Error: double-check your JTAG setup (interface, speed, missing TAPs, ...)
Command handler execution failed
Warn : jtag initialization failed; try 'jtag init' again.Czy w ogóle debugger łączy się z procesorem? Chyba tak skoro wykrywa go poprzez wpisy:
Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Info : JTAG tap: stm32.bs tap/device found: 0x06418041 (mfg: 0x020, part: 0x6418, ver: 0x0)Po tym error oczywiście całość już nie działa. Co może być nie tak? Czy może być to spowodowane?
UPDATE:
Sprawdziłem jeszcze jak wyglądają połączenia między interfejsem JTAG a mikrokontolerem (korzystam z płytek ewaluacyjnych).
Linie, z których korzystam:
TRST_N - podciągnięte do +3.3V opornikiem 10kOhm
TDI - podciągnięte do +3.3V opornikiem 10kOhm równolegle z opornikiem 10kOhm
TMS - podciągnięte do +3.3V opornikiem 10kOhm równolegle z opornikiem 10kOhm
TCK - podciągnięte do GND opornikiem 10kOhm równolegle z opornikiem 10kOhm
TDO - podciągnięte do +3.3V opornikiem 10kOhm równolegle z opornikiem 10kOhm
SRST_N - bezpośrednie połączenie JTAG - mikrokontroler.
Btw, na stronie Olimex: Schemat układu STM32 linia TCK jest podłączona inaczej niż u mnie, do +3.3V. Czy to może powodować takie błędy (co prawda tam jest układ STM32F103, ale to chyba niewielka różnica)?
Te równoległe połączenia wynikają z konstrukcji samych płytek. Czy takie połączenia równoległe mogą mieć wpływ na wypisane powyżej błędy? Same połączenia są chyba dobre (czy np. ta linia TCK powinna inaczej być podłączona)?
Dzięki