Forum: PC Hard- und Software Linux FTDI FT232H Treiber bauen + OpenOCD config


von Max M. (maxmicr)


Lesenswert?

Ich würde gerne unter Debian 9 den Treiber für einen FTDI FT232H bauen, 
nach dieser Anleitung: 
http://www.ftdichip.com/Support/Documents/AppNotes/AN_220_FTDI_Drivers_Installation_Guide_for_Linux.pdf

Allerdings passiert, typisch Linux, bereits beim ersten Befehl ein 
Fehler. Ich hab mir die Version für dem Raspberry Pi (ARMv6) 
heruntergeladen und mit tar entpackt.

Jetzt hab ich einen Ordner release, aber keinen release*s*. Wenn ich 
es aber trotzdem probiere, erhalte ich das:
1
sudo cp release/build/lib* /usr/local/lib
2
cp: -r not specified; omitting directory 'release/build/libftd2xx'
3
cp: -r not specified; omitting directory 'release/build/libusb

Gibt es eine komfortablere Methode als das alles händisch zu 
compilieren?

von Jim M. (turboj)


Lesenswert?

Dir ist schon klar das OpenOCD diesen FTDI Krempel nicht (mehr) 
benötigt?

von Max M. (maxmicr)


Lesenswert?

Jim M. schrieb:
> Dir ist schon klar das OpenOCD diesen FTDI Krempel nicht (mehr)
> benötigt?

Nein, ich hab keine Ahnung von OpenOCD und auch nicht von FTDI-Chips. 
Was genau bedeutet das? Ich wollte OpenOCD in Kombination mit gdb 
benutzen, um meinen Raspberry über JTag zu debuggen. Wie sonst komme ich 
an die JTag Schnittstelle? Einen JLink oder sowas hab ich nicht.

von Jim M. (turboj)


Lesenswert?

Max M. schrieb:
> Wie sonst komme ich
> an die JTag Schnittstelle?

Welchen Adapter hast Du denn für JTAG überhaupt? OpenOCD bringt für 
etliche Adapter die Configs mit.

OpenOCD (das man sich ggf. selbst aus dem git baut) kann jedenfalls FTDI 
Chips direkt ansprechen. Schau Dir da mal die Doku an.

Allerdings sind nicht alle gleichermaßen geeignet, nur die -H Varianten 
haben die MPSSE für JTAG.

von Max M. (maxmicr)


Lesenswert?

Jim M. schrieb:
> OpenOCD (das man sich ggf. selbst aus dem git baut)

Das hat sogar funktioniert :)

Jim M. schrieb:
> Welchen Adapter hast Du denn für JTAG überhaupt?

Den hier: 
https://www.ebay.de/itm/FT232H-High-Speed-Multifunction-USB-to-JTAG-UART-FIFO-SPI-I2C-CJMCU-Module/142673038323

Nach Datenblatt 
http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232H.pdf 
Seite 9 sind A0-A3 die JTAG-Pins.

Jim M. schrieb:
> Allerdings sind nicht alle gleichermaßen geeignet, nur die -H Varianten
> haben die MPSSE für JTAG.

Da ist ein FT232H drauf, dürfte also passen.

Wie finde ich überhaupt die PID/VID unter Linux raus?

: Bearbeitet durch User
von Jim M. (turboj)


Lesenswert?

Max M. schrieb:
> Wie finde ich überhaupt die PID/VID unter Linux raus?

man lsusb

von Max M. (maxmicr)


Lesenswert?

Danke dir.

Ich hab nun dieses Config-File:
1
#
2
# FTDI UM232H as a JTAG interface
3
#
4
# http://www.ftdichip.com/Products/Modules/DevelopmentModules.htm#UM232H
5
#
6
# This should also work with a UM232H-B, but that has not been tested.
7
# Note that UM232H and UM232H-B are 3.3V only.
8
#
9
10
interface ftdi
11
#ftdi_device_desc "UM232H"
12
ftdi_vid_pid 0x0403 0x6014
13
14
ftdi_layout_init 0xfff8 0xfffb
15
ftdi_layout_signal nTRST -data 0x0100 -oe 0x0100
16
ftdi_layout_signal nSRST -data 0x0200 -oe 0x0200
17
transport select jtag
18
adapter_khz 15000
19
# UM232H        FT232H    JTAG
20
# Name  Pin     Name      Func
21
# AD0   J2-6    ADBUS0    TCK
22
# AD1   J2-7    ADBUS1    TDI
23
# AD2   J2-8    ADBUS2    TDO
24
# AD3   J2-9    ADBUS3    TMS
25
# AD4   J2-10   ADBUS4    (GPIOL0)
26
# AD5   J2-11   ADBUS5    (GPIOL1)
27
# AD6   J2-12   ADBUS6    (GPIOL2)
28
# AD7   J2-13   ADBUS7    (GPIOL3)
29
# AD0   J1-14   ACBUS0    /TRST
30
# AD1   J1-13   ACBUS1    /SRST
31
# AD2   J1-12   ACBUS2    (GPIOH2)
32
# AD3   J1-11   ACBUS3    (GPIOH3)
33
# AD4   J1-10   ACBUS4    (GPIOH4)
34
# AD5   J1-9    ACBUS5    (GPIOH5)
35
# AD6   J1-8    ACBUS6    (GPIOH6)
36
# AD7   J1-7    ACBUS7    (GPIOH7)

und ich bekomme diese Ausgabe:
1
test@debian:~/Desktop/openocd$ openocd
2
Open On-Chip Debugger 0.10.0+dev-00364-g1756f393 (2018-03-29-21:20)
3
Licensed under GNU GPL v2
4
For bug reports, read
5
        http://openocd.org/doc/doxygen/bugs.html
6
adapter speed: 15000 kHz
7
Info : Listening on port 6666 for tcl connections
8
Info : Listening on port 4444 for telnet connections
9
Info : ftdi: if you experience problems at higher adapter clocks, try the command "ftdi_tdo_sample_edge falling"
10
Info : clock speed 15000 kHz
11
Warn : There are no enabled taps.  AUTO PROBING MIGHT NOT WORK!!
12
Error: JTAG scan chain interrogation failed: all ones
13
Error: Check JTAG interface, timings, target power, etc.
14
Error: Trying to use configured scan chain anyway...
15
Warn : Bypassing JTAG setup events due to errors
16
Warn : gdb services need one or more targets defined

Wie kombiniere ich openocd nun mit gdb?

von Mike (Gast)


Lesenswert?

>Wie kombiniere ich openocd nun mit gdb?
Welche Toolchain hast Du? Was mit Eclipse CDT?

Compilierte OpenOCD Binaries (inkl. Config-Datein) für Linux, Windows 
und MAC-Os kriegst hier, versuche es mal damit...

https://github.com/gnu-mcu-eclipse/openocd/releases

von Max M. (maxmicr)


Lesenswert?

Ich bin inzwischen schon so weit:
1
test@debian:~/Desktop/openocd$ openocd -f openocd.cfg -f targets/rpitarget.cfg 
2
Open On-Chip Debugger 0.10.0+dev-00364-g1756f393 (2018-03-29-21:20)
3
Licensed under GNU GPL v2
4
For bug reports, read
5
        http://openocd.org/doc/doxygen/bugs.html
6
adapter speed: 15000 kHz
7
adapter speed: 100 kHz
8
none separate
9
raspi.arm
10
Info : Listening on port 6666 for tcl connections
11
Info : Listening on port 4444 for telnet connections
12
Info : clock speed 100 kHz
13
Info : JTAG tap: raspi.arm tap/device found: 0x07b7617f (mfg: 0x0bf (Broadcom), part: 0x7b76, ver: 0x0)
14
Warn : Unexpected idcode after end of chain: 384 0x0000000f
15
Warn : Unexpected idcode after end of chain: 416 0x00000000
16
Warn : Unexpected idcode after end of chain: 448 0x00000000
17
Warn : Unexpected idcode after end of chain: 480 0x00000000
18
Warn : Unexpected idcode after end of chain: 512 0x00000000
19
Warn : Unexpected idcode after end of chain: 544 0x00000000
20
Warn : Unexpected idcode after end of chain: 576 0x00000000
21
Warn : Unexpected idcode after end of chain: 608 0x00000000
22
Warn : Unexpected idcode after end of chain: 640 0x00000000
23
Error: double-check your JTAG setup (interface, speed, ...)
24
Error: Trying to use configured scan chain anyway...
25
Error: raspi.arm: IR capture error; saw 0x00 not 0x01
26
Warn : Bypassing JTAG setup events due to errors
27
Error: 'arm11 target' JTAG error SCREG OUT 0x00
28
Error: unexpected ARM11 ID code
29
Info : Listening on port 3333 for gdb connections

Wobei openocd.cfg wie hier: 
Beitrag "Re: Linux FTDI FT232H Treiber bauen + OpenOCD config" und rpitarget.cfg:
1
# Broadcom 2835 on Raspberry Pi
2
3
telnet_port 4444
4
#gdb_port 0
5
#tcl_port 0
6
7
#jtag_khz 1000
8
adapter_khz 100
9
10
#jtag_nsrst_delay 400
11
#jtag_ntrst_delay 400
12
13
if { [info exists CHIPNAME] } {
14
   set  _CHIPNAME $CHIPNAME
15
} else {
16
   set  _CHIPNAME raspi
17
}
18
19
reset_config none
20
21
if { [info exists CPU_TAPID ] } {
22
   set _CPU_TAPID $CPU_TAPID
23
} else {
24
   set _CPU_TAPID 0x07b7617F
25
}
26
jtag newtap $_CHIPNAME arm -irlen 5 -expected-id $_CPU_TAPID
27
28
set _TARGETNAME $_CHIPNAME.arm
29
target create $_TARGETNAME arm11 -chain-position $_TARGETNAME

Mike schrieb:
> Welche Toolchain hast Du? Was mit Eclipse CDT?

Texteditor und gcc-arm-noneabi

Das Programm, das zur Laufzeit die Pins auf JTAG umstellt hab ich mir 
von hier geborgt: 
https://github.com/dwelch67/raspberrypi/blob/master/armjtag/armjtag.c

Müsste also funktionieren.

: Bearbeitet durch User
von Dr. Sommer (Gast)


Lesenswert?

Max M. schrieb:
> Texteditor und gcc-arm-noneabi

Du meinst das hier?
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads
Das kann nur Cortex-M/R, also nicht dafür geeignet Code für den R-PI zu 
erzeugen. Der enthaltene GDB geht vermutlich auch nicht damit.

von Max M. (maxmicr)


Lesenswert?

Dr. Sommer schrieb:
> Das kann nur Cortex-M/R, also nicht dafür geeignet Code für den R-PI zu
> erzeugen.

Das hier ist mein (schlechtes) Makefile. Ich hab schon ein paar einfache 
Programme auf dem RPi B+ zum laufen bekommen, der Code bzw. die 
Toolchain funktioniert also (sonst würde openocd wahrscheinlich auch gar 
keinen JTAG TAP erkennen):
1
ifeq ($(arg), c)
2
doingC:
3
  arm-none-eabi-gcc -O2 -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s -nostartfiles  CProgs/jtagen.c -o kernel.elf
4
  arm-none-eabi-objcopy kernel.elf -O binary kernel.img
5
endif
6
ifeq ($(arg), asm)
7
doingASM:
8
  arm-none-eabi-as ASMProgs/test.s -o ASMProgs/a.out
9
  arm-none-eabi-objcopy ASMProgs/a.out -O binary kernel.img
10
endif

Dr. Sommer schrieb:
> Der enthaltene GDB geht vermutlich auch nicht damit.

Soweit bin ich doch noch gar nicht? OpenOCD sollte doch erstmal 
funktionieren und den Pi richtig erkennen.

: Bearbeitet durch User
von Dr. Sommer (Gast)


Lesenswert?

Max M. schrieb:
> Ich hab schon ein paar einfache Programme auf dem RPi B+ zum laufen
> bekommen,

Okay, wo hast du deinen GCC denn her?

Max M. schrieb:
> Soweit bin ich doch noch gar nicht?

Klar, wär dann ggf. das nächste Problem gewesen

von Max M. (maxmicr)


Lesenswert?

Dr. Sommer schrieb:
> Okay, wo hast du deinen GCC denn her?

Steht hier alles drinnen: 
http://www.valvers.com/open-software/raspberry-pi/step01-bare-metal-programming-in-cpt1/

Interessanterweise steht da https://launchpad.net/gcc-arm-embedded aber 
auch nur M und R Cortex.

Zum Thema openOCD: Stimmt was mit meinen Config-Files nicht?

: Bearbeitet durch User
von Dr. Sommer (Gast)


Lesenswert?

Max M. schrieb:
> Interessanterweise steht da https://launchpad.net/gcc-arm-embedded aber
> auch nur M und R Cortex.

Das ist nur die alte Website vom selben Projekt. Kurios dass es damit 
gehen soll...

von Max M. (maxmicr)


Lesenswert?

Ich hab nun mal das 
"gnu-mcu-eclipse-openocd-0.10.0-7-20180123-1217-centos64.tgz" von hier 
https://github.com/gnu-mcu-eclipse/openocd/releases probiert.
1
test@debian:~/Desktop/openocd2/0.10.0-7-20180123-1217/bin$ ./openocd -f ../scripts/interface/ftdi/um232h.cfg -f ../scripts/interface/raspberrypi-native.cfg 
2
GNU MCU Eclipse 64-bits Open On-Chip Debugger 0.10.0+dev-00404-g20463c28 (2018-01-23-12:24)
3
Licensed under GNU GPL v2
4
For bug reports, read
5
        http://openocd.org/doc/doxygen/bugs.html
6
Warn : Interface already configured, ignoring
7
../scripts/interface/raspberrypi-native.cfg:13: Error: invalid command name "bcm2835gpio_peripheral_base"
8
in procedure 'script' 
9
at file "embedded:startup.tcl", line 60
10
at file "../scripts/interface/raspberrypi-native.cfg", line 13

Wobei um232h.cfg:
1
#
2
# FTDI UM232H as a JTAG interface
3
#
4
# http://www.ftdichip.com/Products/Modules/DevelopmentModules.htm#UM232H
5
#
6
# This should also work with a UM232H-B, but that has not been tested.
7
# Note that UM232H and UM232H-B are 3.3V only.
8
#
9
10
interface ftdi
11
#ftdi_device_desc "UM232H"
12
ftdi_vid_pid 0x0403 0x6014
13
14
ftdi_layout_init 0xfff8 0xfffb
15
ftdi_layout_signal nTRST -data 0x0100 -oe 0x0100
16
ftdi_layout_signal nSRST -data 0x0200 -oe 0x0200
17
18
# UM232H        FT232H    JTAG
19
# Name  Pin     Name      Func
20
# AD0   J2-6    ADBUS0    TCK
21
# AD1   J2-7    ADBUS1    TDI
22
# AD2   J2-8    ADBUS2    TDO
23
# AD3   J2-9    ADBUS3    TMS
24
# AD4   J2-10   ADBUS4    (GPIOL0)
25
# AD5   J2-11   ADBUS5    (GPIOL1)
26
# AD6   J2-12   ADBUS6    (GPIOL2)
27
# AD7   J2-13   ADBUS7    (GPIOL3)
28
# AD0   J1-14   ACBUS0    /TRST
29
# AD1   J1-13   ACBUS1    /SRST
30
# AD2   J1-12   ACBUS2    (GPIOH2)
31
# AD3   J1-11   ACBUS3    (GPIOH3)
32
# AD4   J1-10   ACBUS4    (GPIOH4)
33
# AD5   J1-9    ACBUS5    (GPIOH5)
34
# AD6   J1-8    ACBUS6    (GPIOH6)
35
# AD7   J1-7    ACBUS7    (GPIOH7)

und raspberrypi-native.cfg:
1
#
2
# Config for using Raspberry Pi's expansion header
3
#
4
# This is best used with a fast enough buffer but also
5
# is suitable for direct connection if the target voltage
6
# matches RPi's 3.3V and the cable is short enough.
7
#
8
# Do not forget the GND connection, pin 6 of the expansion header.
9
#
10
11
interface bcm2835gpio
12
13
bcm2835gpio_peripheral_base 0x20000000
14
15
# Transition delay calculation: SPEED_COEFF/khz - SPEED_OFFSET
16
# These depend on system clock, calibrated for stock 700MHz
17
# bcm2835gpio_speed SPEED_COEFF SPEED_OFFSET
18
bcm2835gpio_speed_coeffs 113714 28
19
20
# Each of the JTAG lines need a gpio number set: tck tms tdi tdo
21
# Header pin numbers: 23 22 19 21
22
bcm2835gpio_jtag_nums 11 25 10 9
23
24
# If you define trst or srst, use appropriate reset_config
25
# Header pin numbers: TRST - 26, SRST - 18
26
27
# bcm2835gpio_trst_num 7
28
# reset_config trst_only
29
30
# bcm2835gpio_srst_num 24
31
# reset_config srst_only srst_push_pull
32
33
# or if you have both connected,
34
# reset_config trst_and_srst srst_push_pull

Warum ist das interface nicht definiert, wenn es in openOCD sogar 
mitliefert?

: Bearbeitet durch User
von Max M. (maxmicr)


Lesenswert?

Ich hab das Tutorial nun auch schon durch: 
https://learn.adafruit.com/programming-microcontrollers-using-openocd-on-raspberry-pi/wiring-and-test

Allerdings benutzen die SWD und nicht Jtag.

Ich bekomme weiterhin nur Fehlermeldungen:
1
test@debian:~/Desktop/openocd$ openocd -f openocd.cfg -f scripts/interface/raspberrypi-native.cfg 
2
Open On-Chip Debugger 0.10.0+dev-00376-g3d3b45af (2018-03-30-18:38)
3
Licensed under GNU GPL v2
4
For bug reports, read
5
        http://openocd.org/doc/doxygen/bugs.html
6
adapter speed: 1000 kHz
7
none separate
8
Error: Debug adapter does not support any transports? Check config file order.
9
embedded:startup.tcl:21: Error: 
10
in procedure 'script' 
11
at file "embedded:startup.tcl", line 60
12
in procedure 'jtag' called at file "openocd.cfg", line 17
13
in procedure 'default_to_jtag' called at file "embedded:startup.tcl", line 167
14
in procedure 'transport' called at file "embedded:startup.tcl", line 158
15
in procedure 'ocd_bouncer' 
16
at file "embedded:startup.tcl", line 21

Hat hier jemand schon mal mit OpenOCD gearbeitet und weiß, wie die 
Konfigurationsdateien aufgebaut sind? Ich blick ehrlicherweise durch die 
Doku gar nicht durch.

Das hier geht auch nicht:
1
test@debian:~/Desktop/openocd$ openocd -f scripts/interface/ftdi/um232h.cfg -f scripts/interface/raspberrypi-native.cfg 
2
Open On-Chip Debugger 0.10.0+dev-00376-g3d3b45af (2018-03-30-18:38)
3
Licensed under GNU GPL v2
4
For bug reports, read
5
        http://openocd.org/doc/doxygen/bugs.html
6
Warn : Interface already configured, ignoring
7
scripts/interface/raspberrypi-native.cfg:13: Error: invalid command name "bcm2835gpio_peripheral_base"
8
in procedure 'script' 
9
at file "embedded:startup.tcl", line 60
10
at file "scripts/interface/raspberrypi-native.cfg", line 13

Jeder Tipp würde mir helfen...

: Bearbeitet durch User
von Max M. (maxmicr)


Lesenswert?

Jim M. schrieb:
> Dir ist schon klar das OpenOCD diesen FTDI Krempel nicht (mehr)
> benötigt?
1
interface ft2232
2
ft2232_layout "flyswatter"
3
ft2232_vid_pid 0x0403 0x6014

Ich wollte da nochmal kurz nachfragen: Trotz übereinstimmender PID/VID 
finden OpenOCD meinen FT232H nicht, woran kann das liegen?
1
Error: The specified debug interface was not found

dmesg unter linux:
1
[  221.769880] usb 2-1: new high-speed USB device number 5 using ehci-pci
2
[  222.110024] usb 2-1: New USB device found, idVendor=0403, idProduct=6014
3
[  222.110026] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
4
[  222.110028] usb 2-1: Product: Single RS232-HS
5
[  222.110029] usb 2-1: Manufacturer: FTDI
6
[  222.114866] ftdi_sio 2-1:1.0: FTDI USB Serial Device converter detected
7
[  222.115004] usb 2-1: Detected FT232H
8
[  222.117880] usb 2-1: FTDI USB Serial Device converter now attached to ttyUSB0

Benötigt linux bzw. OpenOCD vllt. doch noch irgendwelche Treiber?

: Bearbeitet durch User
von Baum (Gast)


Lesenswert?

Versuch ttyUSB0 als interface.

Max M. schrieb:
> [  222.117880] usb 2-1: FTDI USB Serial Device converter now attached to
> ttyUSB0

von Baum (Gast)


Lesenswert?


von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Max M. schrieb:
> interface ft2232

Ein FT2232 ist nicht dasselbe wie ein FT232H. Vielleicht muss man das 
OpenOCD irgendwie mitteilen.

von Max M. (maxmicr)


Lesenswert?

Baum schrieb:
> Könnte hilfreich sein ;)

Danke, ich hab das Einrichten von OpenOCD und das Anlegen der 
Zugriffsrechte genauso gemacht (nur VID und PID entsprechend geändert). 
Allerdings kam immer noch selber Fehler.

Rufus Τ. F. schrieb:
> Vielleicht muss man das
> OpenOCD irgendwie mitteilen.

Anscheinend, mit diesem Config-File 
(https://forum.sparkfun.com/viewtopic.php?t=46655) geht es schonmal 
etwas weiter:
1
test@debian:~/Desktop/OpenOCD$ openocd -f custom_configs/ft232h.cfg -f custom_configs/raspi.cfg 
2
Open On-Chip Debugger 0.10.0+dev-00382-gbe87994d (2018-04-07-19:32)
3
Licensed under GNU GPL v2
4
For bug reports, read
5
        http://openocd.org/doc/doxygen/bugs.html
6
adapter speed: 1000 kHz
7
jtag
8
adapter speed: 1000 kHz
9
none separate
10
raspi.arm
11
Info : Listening on port 6666 for tcl connections
12
Info : Listening on port 4444 for telnet connections
13
Info : clock speed 1000 kHz
14
Error: JTAG scan chain interrogation failed: all zeroes
15
Error: Check JTAG interface, timings, target power, etc.
16
Error: Trying to use configured scan chain anyway...
17
Error: raspi.arm: IR capture error; saw 0x00 not 0x01
18
Warn : Bypassing JTAG setup events due to errors
19
Error: 'arm11 target' JTAG error SCREG OUT 0x00
20
Error: unexpected ARM11 ID code
21
Info : Listening on port 3333 for gdb connections

Baum schrieb:
> Versuch ttyUSB0 als interface.

Klappt auch nicht, selbe Fehlermeldung nur dann mit ttyUSB0.

Edit: Möglicherweise stimmt auch das hier nicht:
1
ftdi_layout_init 0x0008 0x400b


>Config Command: ftdi_layout_init data direction
>Specifies the initial values of the FTDI GPIO data and direction registers. Each 
value is a 16-bit number corresponding to the concatenation of the high and low 
FTDI GPIO registers. The values should be selected based on the schematics of the 
adapter, such that all signals are set to safe levels with minimal impact on the 
target system. Avoid floating inputs, conflicting outputs and initially asserted 
reset signals.

Wo finde ich die Beschreibung für die GPIO Register in diesem Dokument? 
http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232H.pdf

: Bearbeitet durch User
von Jim M. (turboj)


Lesenswert?

Unter Linux muss man eventuell mittels sudo als root arbeiten.

Ich würde auch mal mit "adapter_khz 1" und Oszilloskop/Logic analyser 
nachschauen ob sich da an den entsprechenden Pins überhaupt was tut.

Note: "All zeros" ist auch die Fehlermeldung wenn das Target schlicht 
keinen Strom hat.

von Max M. (maxmicr)


Angehängte Dateien:

Lesenswert?

Jim M. schrieb:
> Unter Linux muss man eventuell mittels sudo als root arbeiten.

Dafür hab ich ja hoffentlich die .rules-Datei angelegt (dafür waren 
root-Rechte notwendig).

Jim M. schrieb:
> Oszilloskop/Logic analyser
> nachschauen

Gute Idee! Es tut sich tatsächlich was (FT232H -> Raspi). Möglicherweise 
bedeutet das, dass die GPIOs beim Raspi falsch konfiguriert sind, 
allerdings habe ich alles doppelt und dreifach gecheckt.

Jim M. schrieb:
> keinen Strom hat.

Alle Power-LEDs sind am Leuchten.

Edit: Eigentlich dürfte doch am TDI-Pin nichts ausgegeben werden, dass 
ist ja schließlich ein Eingang?

: Bearbeitet durch User
von Jim M. (turboj)


Lesenswert?

Max M. schrieb:
> Edit: Eigentlich dürfte doch am TDI-Pin nichts ausgegeben werden, dass
> ist ja schließlich ein Eingang?

Könnte sein dass da ein Pullup aktiv wird? Im LA kann man leider 
Übersprechen einer offenen Leitung schlecht von echten Daten 
unterscheiden. Pack da mal 'n 10k Pullup oder Pulldown drauf.

Ich sehe allerdings auch Deine aktive OpenOCD config nicht (und habe im 
Thread die Übersicht verloren). Eventuell wird da was flashc 
initialisiert.

von Max M. (maxmicr)


Lesenswert?

Jim M. schrieb:
> Ich sehe allerdings auch Deine aktive OpenOCD config nicht (und habe im
> Thread die Übersicht verloren). Eventuell wird da was flashc
> initialisiert.

Hier mein FT232H.cfg für den FTDI:
1
interface ftdi
2
ftdi_vid_pid 0x0403 0x6014
3
ftdi_layout_init 0x0008 0x00fb

und für den Raspi:
1
# Broadcom 2835 on Raspberry Pi
2
3
telnet_port 4444
4
#gdb_port 0
5
#tcl_port 0
6
7
#jtag_khz 1000
8
adapter_khz 1000
9
10
#jtag_nsrst_delay 400
11
#jtag_ntrst_delay 400
12
13
if { [info exists CHIPNAME] } {
14
   set  _CHIPNAME $CHIPNAME
15
} else {
16
   set  _CHIPNAME raspi
17
}
18
19
reset_config none
20
21
if { [info exists CPU_TAPID ] } {
22
   set _CPU_TAPID $CPU_TAPID
23
} else {
24
   set _CPU_TAPID 0x07b7617F
25
}
26
jtag newtap $_CHIPNAME arm -irlen 5 -expected-id $_CPU_TAPID
27
28
set _TARGETNAME $_CHIPNAME.arm
29
target create $_TARGETNAME arm11 -chain-position $_TARGETNAME

Edit: Wenn ich TDI und TDO vertausche ändert sich diese Zeile.
1
Error: raspi.arm: IR capture error; saw 0x00 not 0x01

auf
1
Error: raspi.arm: IR capture error; saw 0x1f not 0x01

Hat das was zu bedeuten?

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.