Problem med installation av JTAG till ARM Cortex M3

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Moore
Inlägg: 148
Blev medlem: 7 oktober 2005, 23:27:26
Ort: Stockholm

Problem med installation av JTAG till ARM Cortex M3

Inlägg av Moore »

Hej!

Jag införskaffade i dagarna en JTAG-programmerare från Olimex av typen ARM-USB-TINY: http://www.olimex.com/dev/arm-usb-tiny.html

När jag pluggar in den i min maskin (Kör Windows 7 64-bitar) så detekteras den som "Okänd enhet". Det poppar också upp en ruta som indikerar att enheten inte fungerar korrekt och har därför stoppats. När jag testar samma sak på Windows XP SP3 så detekteras den som "Okänd enhet" men jag får inget utropstecken med varningstriangel på den som i Windows 7. När jag försöker installera drivrutiner till den genom att välja "Uppdatera drivrutin" så blir resultatet detsamma, den stoppas pga att Win 7 inte tycker den fungerar korrekt. I Windows XP SP3 uppdateras inte ens drivrutinen utan den fortsätter som "Okänd enhet".

Är det någon som har erfarenhet av denna programmerare och installation av den, eller är det helt enkelt så att jag har fått en defekt vara?
Kaggen
Inlägg: 432
Blev medlem: 29 januari 2005, 03:06:02

Re: Problem med installation av JTAG till ARM Cortex M3

Inlägg av Kaggen »

Har du drivers för Windows 7 64 bit? Har för mig att MS bytte driver API mellan XP och Vista/Win 7 så XP drivers kanske inte funkar. Sidan du länkar till hänvisar till FTDI för att ladda ner drivers för 64 bits OS.
Användarvisningsbild
Moore
Inlägg: 148
Blev medlem: 7 oktober 2005, 23:27:26
Ort: Stockholm

Re: Problem med installation av JTAG till ARM Cortex M3

Inlägg av Moore »

Jag har testat att installera D2XX-drivare av senaste version (2.08.02) från FTDIs hemsida men det verkar ej utgöra någon skillnad.
Användarvisningsbild
Moore
Inlägg: 148
Blev medlem: 7 oktober 2005, 23:27:26
Ort: Stockholm

Re: Problem med installation av JTAG till ARM Cortex M3

Inlägg av Moore »

Testade att boota upp en gammal Ubuntu-CD och se vad dmesg skrev ut, det var fullt med errors. Så jag bytte USB-kabel och testade igen och vips så fungerade allt.

Lärdom: Bara för man köper en splitter ny USB-kabel från electrokit så betyder inte det att den fungerar :evil:
snigelen
Inlägg: 815
Blev medlem: 8 maj 2009, 11:02:14
Ort: Lund

Re: Problem med installation av JTAG till ARM Cortex M3

Inlägg av snigelen »

Lärdom 2: Det är ett helvete att felsöka hårdvarufel i Windows :wink:
Kul att det löste sig för dig i alla fall :)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Problem med installation av JTAG till ARM Cortex M3

Inlägg av sodjan »

> Lärdom 2: Det är ett helvete att felsöka hårdvarufel i Windows

Betyder det att de "fullt av errors" som kom från Ubutnu/dmesg
tydligare pekade på ett hårdvarufel än de fel som man fick i Win7 ?

Det var inte helt tydligt. Jag tolkade det mer som att p.g.a av
att det även blev fel i Ubuntu så provades det att byta kabel. Inte att
det var något i felmeddelanderna som sådana som pekade på kabeln.

D.v.s att om Ubuntu hade varit det första OS'et att prova med, hade det
då varit tydligare att det var just kabeln som var problemet ?
snigelen
Inlägg: 815
Blev medlem: 8 maj 2009, 11:02:14
Ort: Lund

Re: Problem med installation av JTAG till ARM Cortex M3

Inlägg av snigelen »

Du glömde smileyn när du citerade.

Felmeddelanden av typen "Okänd enhet" eller typ "Enheten fungerar inte" ger inte så mycket information för felsökning. Jag föredrar i alla fall lite utförligare felmeddanden, även om de inte alltid är så lätta att förstå, så ger de oftare bättre information för att lösa problemet.
Användarvisningsbild
Moore
Inlägg: 148
Blev medlem: 7 oktober 2005, 23:27:26
Ort: Stockholm

Re: Problem med installation av JTAG till ARM Cortex M3

Inlägg av Moore »

Jag lyckades som sagt installera drivrutinerna. Men att få den att fungera med OpenOCD verkar vara nästa hinder.

Jag använder en konfigurationsfil som följer med OpenOCD:

Kod: Markera allt

#
# Olimex ARM-USB-TINY-H
#
# http://www.olimex.com/dev/arm-usb-tiny-h.html
#

interface ft2232
ft2232_device_desc "Olimex OpenOCD JTAG ARM-USB-TINY-H"
ft2232_layout olimex-jtag
ft2232_vid_pid 0x15ba 0x0004
När jag kör får jag följande:

Kod: Markera allt

root@user-desktop:~# openocd -f olimex-arm-usb-tiny-h.cfg
Open On-Chip Debugger 0.3.1 (2010-01-18-14:21)
$URL$
For bug reports, read
	http://openocd.berlios.de/doc/doxygen/bugs.html
Error: unable to open ftdi device: device not found
Runtime error, file "command.c", line 473:
Kör jag lsusb får jag:

Kod: Markera allt

Bus 002 Device 005: ID 15ba:0004 Olimex Ltd. OpenOCD JTAG TINY
Bus 002 Device 002: ID 80ee:0021  
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Mina frågor: Vad gör jag för fel? Är det någon som lyckats få Olimex ARM-USB-TINY att fungera med OpenOCD i Linux tillsammans med en Cortex M3? Hur gjorde ni?
Användarvisningsbild
Moore
Inlägg: 148
Blev medlem: 7 oktober 2005, 23:27:26
Ort: Stockholm

Re: Problem med installation av JTAG till ARM Cortex M3

Inlägg av Moore »

Återigen löste jag det på egen hand. Om fler är intresserade av detta så fungerade det med följande konfigurationsfil:

Kod: Markera allt

#daemon configuration
telnet_port 4444
gdb_port 3333

#interface
interface ft2232
ft2232_device_desc "Olimex OpenOCD JTAG TINY A"
ft2232_layout "olimex-jtag"
#the next line should be right, because I am getting "device not found" if I change it
ft2232_vid_pid 0x15ba 0x0004

#use combined on interfaces or targets that can't set TRST/SRST separately
reset_config trst_and_srst separate

# script for stm32

if { [info exists CHIPNAME] } {
   set  _CHIPNAME $CHIPNAME
} else {
   set  _CHIPNAME stm32
}

if { [info exists ENDIAN] } {
   set  _ENDIAN $ENDIAN
} else {
   set  _ENDIAN little
}

# Work-area is a space in RAM used for flash programming
# By default use 16kB
if { [info exists WORKAREASIZE] } {
   set  _WORKAREASIZE $WORKAREASIZE
} else {
   set  _WORKAREASIZE 0x4000
}

# JTAG speed should be <= F_CPU/6. F_CPU after reset is 8MHz, so use F_JTAG = 1MHz
jtag_khz 1000

jtag_nsrst_delay 100
jtag_ntrst_delay 100

#use combined on interfaces or targets that can't set TRST/SRST separately
reset_config trst_and_srst

#jtag scan chain
if { [info exists CPUTAPID ] } {
   set _CPUTAPID $CPUTAPID
} else {
  # See STM Document RM0008
  # Section 26.6.3
   set _CPUTAPID 0x3ba00477
}
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID

if { [info exists BSTAPID ] } {
   # FIXME this never gets used to override defaults...
   set _BSTAPID $BSTAPID
} else {
  # See STM Document RM0008
  # Section 29.6.2
  # Low density devices, Rev A
  set _BSTAPID1 0x06412041
  # Medium density devices, Rev A
  set _BSTAPID2 0x06410041
  # Medium density devices, Rev B and Rev Z
  set _BSTAPID3 0x16410041
  # High density devices, Rev A
  set _BSTAPID4 0x06414041
  # Connectivity line devices, Rev A and Rev Z
  set _BSTAPID5 0x06418041
}
jtag newtap $_CHIPNAME bs -irlen 5 -expected-id $_BSTAPID1 \
	-expected-id $_BSTAPID2 -expected-id $_BSTAPID3 \
	-expected-id $_BSTAPID4 -expected-id $_BSTAPID5

set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME cortex_m3 -endian $_ENDIAN -chain-position $_TARGETNAME

$_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0

flash bank stm32x 0 0 0 0 $_TARGETNAME

# For more information about the configuration files, take a look at:
# openocd.texi
xarragon
Inlägg: 88
Blev medlem: 3 maj 2006, 14:10:35
Skype: xarragon
Ort: Halmstad
Kontakt:

Re: Problem med installation av JTAG till ARM Cortex M3

Inlägg av xarragon »

Jag sitter själv med en nyare dongel av typen Olimex ARM-USB-TINY-H, dvs. höghastighetsvarianten av ARM-dongeln, den listas enligt följande i dmesg:

Kod: Markera allt

[91169.080822] usb 5-6: new high speed USB device using ehci_hcd and address 3
[91169.217822] usb 5-6: configuration #1 chosen from 1 choice
[91169.229002] usb 5-6: New USB device found, idVendor=15ba, idProduct=002a
[91169.229008] usb 5-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[91169.229012] usb 5-6: Product: Olimex OpenOCD JTAG ARM-USB-TINY-H
[91169.229015] usb 5-6: Manufacturer: Olimex
[91169.229018] usb 5-6: SerialNumber: --------
Jag sitter just nu och försöker få urjtag att använda dongeln för att ansluta till ett labbkort från Olimex för ARM9260, men om det inte vill lira ska jag undersöka OpenOCD med. Tack för att du postade dina konfigurationsfiler.
Skriv svar