Hallo, Ich versuche auf einem Generic-STM32F407-Board mit der Arduino-IDE eine Leuchtdiode blinken zu lassen, schaffe es aber nicht das Ding zu flashen. Ubuntu 16.04 + Arduino 1.8.3 + https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Installation Ich habe keinen extra Bootloader installiert, da ich die Sache so verstanden habe, dass man den nur braucht, wenn man keine Lust hat das Board vor und nach dem Programmieren zu jumpern (BOOT0, BOOT1). Mit BOOT0 HIGH und BOOT1 LOW zeigt lsusb das Board als DFU-Device: Bus 003 Device 008: ID 0483:df11 STMicroelectronics STM Device in DFU Mode ... Board + USB funktionieren Einstellung Arduino IDE: Generic STM32F407V series USB configuration: USB inactive Upload Method: STM32duino Bootloader Ausgabe in der Arduino-IDE: Der Sketch verwendet 15588 Bytes (3%) des Programmspeicherplatzes. Das Maximum sind 514288 Bytes. Globale Variablen verwenden 7336 Bytes (5%) des dynamischen Speichers, 123736 Bytes für lokale Variablen verbleiben. Das Maximum sind 131072 Bytes. Failed to open serial device. dfu-util: Invalid DFU suffix signature dfu-util: A valid DFU suffix will be required in a future dfu-util release!!! dfu-util: Cannot open DFU device 0483:df11 dfu-util: No DFU capable USB device available dfu-util 0.8 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2014 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to dfu-util@lists.gnumonks.org Waiting for /dev/ttyACM0 serial...Done ... also finden tut die IDE das DFU-Device schon, aber diese DFU suffix signature passt nicht. Hat jemand eine Idee? FlorenzW
Timmo H. schrieb: > Baudrate richtig eingestellt? Gibt keine Möglichkeit, da was zu verstellen. Board erscheint auch nicht als serial device in Ports. Sollte "echtes" USB sein.
Florian W. schrieb: > dfu-util: Cannot open DFU device 0483:df11 Klingt für mich nach einem Berechtigungsproblem. udev-Rules angepasst bzw. temporär mal als root probiert?
Christopher J. schrieb: > Florian W. schrieb: >> dfu-util: Cannot open DFU device 0483:df11 > > Klingt für mich nach einem Berechtigungsproblem. udev-Rules angepasst > bzw. temporär mal als root probiert? Das könnte in die richtige Richtung gehen. Noch zur Info: Mit einem Maple mini funktioniert es einwandfrei, der hat aber einen speziellen Bootloader drauf. florian@messpc:~$ groups $USER florian : florian adm uucp dialout cdrom sudo dip plugdev lpadmin sambashare dfu-users Mir ist jetzt keine Gruppe mehr eingefallen, die da noch abgehen könnte. Der erste Versuch, die Arduino-IDE als root laufen zu lassen, ist gescheitert, weil dann alle zusätzlich installierten Boards futsch waren. Da muss ich noch frickeln. Danke Christopher J.
Könnte sein, dass dieses das gleiche Board ist: Beitrag "STM32F407 Black und Arduino" Leider wurde der Thread von einem Dauernörgler begleitet, aber das ein oder andere Nützliche findet sich darin: Beitrag "Re: STM32F407 Black und Arduino"
Markus schrieb: > Könnte sein, dass dieses das gleiche Board ist: > Beitrag "STM32F407 Black und Arduino" Das ist ziemlich vergleichbar, habe ich auch gesehen, die programmieren aber seriell. Das Ding über einen ST-Link oder ein FTDI zu programmieren ist mit Sicherheit möglich und werde ich auch machen, wenn ich es über USB nicht hinbekomme. Ich habe mich nur gefreut, als das Board als DFU-Device unter meinen USB-Geräten aufgetaucht ist, weil ich dachte, dass das der elegantere Weg ist. Aber scheinbar ist der doch steiniger als ich dachte :-)
Das mit den Berechtigungen ist ja auch ohne udev leicht auszuprobieren. Einfach mal sudo chmod 777 /dev/blabla, und wenn es dann geht eine entsprechende udev-Regel einrichten.
Sven B. schrieb: > Einfach mal sudo chmod 777 /dev/blabla Ich finde unter dev keine DFU-Schnittstelle. :-(
Eben mal getestet mit dem selben Board. Ist definitiv ein Rechte-Problem. Mit sudo geht das.
1 | harry@hl-blue:~/Labor/workspace/ARM/F4Matrix/Debug$ sudo dfu-util -a 0 -D F4Matrix.bin -s 0x08000000 |
2 | dfu-util 0.9 |
3 | |
4 | Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. |
5 | Copyright 2010-2016 Tormod Volden and Stefan Schmidt |
6 | This program is Free Software and has ABSOLUTELY NO WARRANTY |
7 | Please report bugs to http://sourceforge.net/p/dfu-util/tickets/ |
8 | |
9 | dfu-util: Invalid DFU suffix signature |
10 | dfu-util: A valid DFU suffix will be required in a future dfu-util release!!! |
11 | Opening DFU capable USB device... |
12 | ID 0483:df11 |
13 | Run-time device DFU version 011a |
14 | Claiming USB DFU Interface... |
15 | Setting Alternate Setting #0 ... |
16 | Determining device status: state = dfuIDLE, status = 0 |
17 | dfuIDLE, continuing |
18 | DFU mode device DFU version 011a |
19 | Device returned transfer size 2048 |
20 | DfuSe interface name: "Internal Flash " |
21 | Downloading to address = 0x08000000, size = 29980 |
22 | Download [=========================] 100% 29980 bytes |
23 | Download done. |
24 | File downloaded successfully |
25 | harry@hl-blue:~/Labor/workspace/ARM/F4Matrix/Debug$ |
Und hier die Anleitung für eine passende UDEV-Rule: https://github.com/redbear/Duo/blob/master/docs/dfu-util_installation_guide.md PID und VID muß man natürlich anpassen:
1 | ATTRS{idProduct}=="df11", ATTRS{idVendor}=="483", MODE="664", GROUP="plugdev" |
Um das auch ohne Neustart wirksam werden zu lassen:
1 | sudo service udev restart |
:
Bearbeitet durch User
Harry L. schrieb: > Und hier die Anleitung für eine passende UDEV-Rule: > https://github.com/redbear/Duo/blob/master/docs/dfu-util_installation_guide.md > > PID und VID muß man natürlich anpassen: > ATTRS{idProduct}=="df11", ATTRS{idVendor}=="483", MODE="664", > GROUP="plugdev" habe ich nochmal gechecked, passt, funktioniert trotzdem nicht. Funktioniert es bei dir auch ohne sudo? Ich habe jetzt in der Arduino-IDE als root alles nachinstalliert. Ergebnis: No DFU capable USB device found Hab's unter Windows probiert, geht auch nicht. Habe versucht das Board über einen FTDI seriell zu flashen, musste aber feststellen, dass dieser Weg für STM32F407 in der Arduino-IDE mit dem Zusatz von Roger Clark nicht vorgesehen ist. Geht nur mit den kleineren STM32. -> Ich bestell mir jetzt einen ST-Link-Dongle
FlorenzW schrieb: > habe ich nochmal gechecked, passt, funktioniert trotzdem nicht. > Funktioniert es bei dir auch ohne sudo? Ja, funktioniert problemlos. Wenn das bei dir nicht geht, hast du irgendetwas aus der Anleitung nicht korrekt ungesetzt. Du must auf jeden Fall auch Mitglied der gruppe plugdev sein.
Bin Mitglied in plugdev: florian@messpc:~$ groups $USER florian : florian adm uucp dialout cdrom sudo dip plugdev lpadmin sambashare dfu-users Die UDEV rule it genau wie beschrieben in /etc/udev/rules.d/77-mm-usb-device-blacklist.rules, vendor-ID und product-ID passen auch. Zwei Unterschiede sehe ich zu deinem Versuch: Die Arduino-IDE verwendet ein dfu-util, das aus: https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Installation stammt, ist also nicht installiert. Zu finden in: /home/florian/Arduino/hardware/Arduino_STM32/tools/linux/dfu-util Du hast die Version 0.9, ich 0.8. Ich werde jetzt mal versuchen mir eine Version 0.9 zu kompilieren und die Binaries austauschen.
Auf der SourceForge Seite sind doch binaries für die V 0.9?
Johannes S. schrieb: > Auf der SourceForge Seite sind doch binaries für die V 0.9? Das werde ich mir gleich mal anschauen. Kleines Erfolgserlebnis: Über einen USB-Seriell-Adapter hat das Programmieren jetzt funktioniert, die LED blink! Vorgehen: Arduino-core von danieleff in Arduino/hardware kopiert https://github.com/danieleff/STM32GENERIC Einen (vermutlich gefälschten) FTDI-USB-Seriell-Adapter (auf 3,3V umgestellt) an das Board angeschlossen: FTDI STM32f407 GND -> GND VCC -> 3.3V TX -> 1kOhm -> PA10 RX -> 1kOhm -> PA9 (Die 1kOhm-Rs sind nur zur Sicherheit, man weiß ja nie :-) An PC8 hängt über 1kOhm eine LED. Board Black F407VE/ZE/ZG ausgewählt. Specific Board F407VE (V2.0) Upload Method: Serial UART1 BOOT0: HIGH, BOT1: LOW Im Blink-Example aus den Beispielen LED_BUILTIN gegen PC8 ausgetauscht und auf den Hochladen-Pfeil geklickt.
Johannes S. schrieb: > Auf der SourceForge Seite sind doch binaries für die V 0.9? Binaries gibt's nur bis 0.8. Warum auch immer.
FlorenzW schrieb: > Ich werde jetzt mal versuchen mir eine Version 0.9 zu kompilieren und > die Binaries austauschen. Wenn du mit Ubuntu arbeitest, kannst du die aus dem Repository installieren.
1 | sudo apt-get install dfu-util |
:
Bearbeitet durch User
Harry L. schrieb: > Wenn du mit Ubuntu arbeitest, kannst du die aus dem Repository > installieren. Ist auch Version 0.8. Habe jetzt erfolgreich eine Version 0.9 kompiliert und das Binary ausgetauscht. Keine Änderung zu Version 0.8, alles exakt gleich (bis auf die Versionsangabe)
Es geht voran: Nachdem der Upload des kompilierten Programms direkt aus der Arduino-IDE abgebrochen ist, da No DFU capable USB device available, habe ich die Blink.ino.bin-Datei aus /tmp/arduino_build_xxxxxx gefischt und nach Methode Harry L. hochgeladen: sudo dfu-util -a 0 -D Blink.ino.bin -s 0x08000000 Und es hat funktioniert!!! Wenn ich es ohne sudo probiere habe ich wieder: dfu-util: Cannot open DFU device 0483:df11 dfu-util: No DFU capable USB device available Hiermit ist eindeutig bewiesen: Ein rechte-Problem. Bloß welches Recht? Bin total ratlos.
strace -f dfu-util -a 0 -D Blink.ino.bin -s 0x08000000 2>&1 |grep EACCES
strace -f dfu-util -a 0 -D Blink.ino.bin -s 0x08000000 2>&1 |grep EACCES [pid 25384] open("/dev/bus/usb/003/019", O_RDWR) = -1 EACCES (Permission denied) Was bedeutet das?
FlorenzW schrieb: > strace -f dfu-util -a 0 -D Blink.ino.bin -s 0x08000000 2>&1 |grep EACCES > [pid 25384] open("/dev/bus/usb/003/019", O_RDWR) = -1 EACCES (Permission > denied) > > Was bedeutet das? Das ist die Gerätedatei, die es nicht öffnen kann weil es dazu keine Rechte hat. Jetzt ist noch die Frage, warum deine udev-Regel die nicht matcht. Wie sieht die denn aus? Wo liegt sie? udev neu gestartet? Du kannst auch mal lsusb -s 003:019 -v machen, dann kriegst du zum Beispiel die Vendor ID und die Device ID für das Gerät. Da dann auch mal vergleichen ob die mit der übereinstimmt die in der udev-Regel steht.
dann hast du bei der UDEV-Rule irgendwo Mist gebaut. Anders ist das nicht erklärbar.
Entsprechend: https://github.com/redbear/Duo/blob/master/docs/dfu-util_installation_guide.md habe ich in der Konsole: sudo nano /etc/udev/rules.d/77-mm-usb-device-blacklist.rules eingegeben. Diese Datei gab es zu diesem Zeitpunkt nicht. In diese Datei habe ich diese Zeile geschrieben und gespeichert: ATTRS{idProduct}=="df11", ATTRS{idVendor}=="483", MODE="664", GROUP="plugdev" Anschließend: sudo service udev restart Nachdem das nicht funktioniert hat, den PC neu gestartet. lsusb -s 003:019 -v Bus 003 Device 019: ID 0483:df11 STMicroelectronics STM Device in DFU Mode Couldn't open device, some information will be missing Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0483 STMicroelectronics idProduct 0xdf11 STM Device in DFU Mode bcdDevice 22.00 iManufacturer 1 iProduct 2 iSerial 3 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 54 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 254 Application Specific Interface bInterfaceSubClass 1 Device Firmware Update bInterfaceProtocol 2 iInterface 4 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 1 bNumEndpoints 0 bInterfaceClass 254 Application Specific Interface bInterfaceSubClass 1 Device Firmware Update bInterfaceProtocol 2 iInterface 5 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 2 bNumEndpoints 0 bInterfaceClass 254 Application Specific Interface bInterfaceSubClass 1 Device Firmware Update bInterfaceProtocol 2 iInterface 6 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 3 bNumEndpoints 0 bInterfaceClass 254 Application Specific Interface bInterfaceSubClass 1 Device Firmware Update bInterfaceProtocol 2 iInterface 7 Device Firmware Upgrade Interface Descriptor: bLength 9 bDescriptorType 33 bmAttributes 11 Will Detach Manifestation Intolerant Upload Supported Download Supported wDetachTimeout 255 milliseconds wTransferSize 2048 bytes bcdDFUVersion 1.1a
FlorenzW schrieb: > In diese Datei habe ich diese Zeile geschrieben und gespeichert: > ATTRS{idProduct}=="df11", ATTRS{idVendor}=="483", MODE="664", > GROUP="plugdev" Hoffentlich aber wirklich als Einzeiler! Das GROUP="plugdev" gehört an das Ende dieser Zeile und keinesfalls! in die 2. Zeile.
Harry L. schrieb: > Hoffentlich aber wirklich als Einzeiler! Hab's nochmal kontrolliert, steht definitiv in einer einzigen Zeile.
Und das CR am Ende der zeile auch nicht vergessen?
Habe den PC neu gestartet, keine Änderung. Harry L. schrieb: > Und das CR am Ende der zeile auch nicht vergessen? Hab's kontrolliert, da ist ein Return am Ende der Zeile. Zur Sicherheit habe ich noch ein zweites reingemacht und UDEV neu gestartet. Keine Änderung.
Florian W. schrieb: > Hab's kontrolliert, da ist ein Return am Ende der Zeile. > Zur Sicherheit habe ich noch ein zweites reingemacht und UDEV neu > gestartet. > Keine Änderung. Kurios... Welche Ubuntu-Version verwendest du? Ich hab meine Datei mal angehängt.
Hier läuft ein Ubuntu 16.04 LTS. Ich werde in den nächsten Tagen einen anderen Computer mit einem frischen Ubuntu aufsetzen und die Sache auf dem ausprobieren. Vielleicht ist die Installation partiell zerschossen. Auf alle Fälle Danke an alle!
Mach mal udevadm monitor Dann steck das Gerät ein, und dann schau nach der Device-URI, und dann versuch udevadm test /devices/pci0000:00/0000:00:14.0/usb1/1-1 oder so ähnlich. Das sollte dir sagen welche Rules es anwendet und woher.
Wenn UDEV kaputt wäre, hättest du noch ganz andere Probleme. Das muß ein Layer8-Problem sein.
florian@messpc:~$ udevadm monitor monitor will print the received events for: UDEV - the event which udev sends out after rule processing KERNEL - the kernel uevent KERNEL[7300.093528] add /devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2 (usb) KERNEL[7300.094096] add /devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2/3-4.2:1.0 (usb) UDEV [7300.096616] add /devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2 (usb) UDEV [7300.098881] add /devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2/3-4.2:1.0 (usb)
1 | udevadm test /devices/pci0000:00/0000:00:14.0/usb3/3-4/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2/3-4.2:1.0 |
2 | calling: test |
3 | version 229 |
4 | This program is for debugging only, it does not run any program |
5 | specified by a RUN key. It may show incorrect results, because |
6 | some values may be different, or not available at a simulation run. |
7 | |
8 | === trie on-disk === |
9 | tool version: 229 |
10 | file size: 7064122 bytes |
11 | header size 80 bytes |
12 | strings 1764282 bytes |
13 | nodes 5299760 bytes |
14 | Load module index |
15 | timestamp of '/etc/systemd/network' changed |
16 | timestamp of '/lib/systemd/network' changed |
17 | Parsed configuration file /lib/systemd/network/99-default.link |
18 | Created link configuration context. |
19 | timestamp of '/etc/udev/rules.d' changed |
20 | Skipping overridden file: /lib/udev/rules.d/77-mm-usb-device-blacklist.rules. |
21 | Reading rules file: /lib/udev/rules.d/39-usbmuxd.rules |
22 | Reading rules file: /lib/udev/rules.d/40-crda.rules |
23 | Reading rules file: /lib/udev/rules.d/40-usb-media-players.rules |
24 | Reading rules file: /lib/udev/rules.d/40-usb_modeswitch.rules |
25 | Reading rules file: /lib/udev/rules.d/40-vm-hotadd.rules |
26 | Reading rules file: /etc/udev/rules.d/45-maple.rules |
27 | Reading rules file: /etc/udev/rules.d/49-stlinkv1.rules |
28 | Reading rules file: /etc/udev/rules.d/49-stlinkv2-1.rules |
29 | Reading rules file: /etc/udev/rules.d/49-stlinkv2.rules |
30 | Reading rules file: /lib/udev/rules.d/50-apport.rules |
31 | Reading rules file: /lib/udev/rules.d/50-bluetooth-hci-auto-poweron.rules |
32 | Reading rules file: /lib/udev/rules.d/50-firmware.rules |
33 | Reading rules file: /lib/udev/rules.d/50-udev-default.rules |
34 | Reading rules file: /lib/udev/rules.d/56-hpmud.rules |
35 | Reading rules file: /lib/udev/rules.d/59-hamlib.rules |
36 | Reading rules file: /lib/udev/rules.d/60-avrdude.rules |
37 | Reading rules file: /lib/udev/rules.d/60-block.rules |
38 | Reading rules file: /lib/udev/rules.d/60-cdrom_id.rules |
39 | Reading rules file: /lib/udev/rules.d/60-drm.rules |
40 | Reading rules file: /lib/udev/rules.d/60-evdev.rules |
41 | Reading rules file: /lib/udev/rules.d/60-gnupg.rules |
42 | Reading rules file: /lib/udev/rules.d/60-gnupg2.rules |
43 | Reading rules file: /lib/udev/rules.d/60-gr-fcdproplus.rules |
44 | Reading rules file: /lib/udev/rules.d/60-inputattach.rules |
45 | Reading rules file: /lib/udev/rules.d/60-libairspy0.rules |
46 | Reading rules file: /lib/udev/rules.d/60-libairspyhf0.rules |
47 | Reading rules file: /lib/udev/rules.d/60-libgnuradio-fcd3.7.10.rules |
48 | Reading rules file: /lib/udev/rules.d/60-libgphoto2-6.rules |
49 | Reading rules file: /lib/udev/rules.d/60-libhackrf0.rules |
50 | Reading rules file: /lib/udev/rules.d/60-libiio0.rules |
51 | Reading rules file: /lib/udev/rules.d/60-libmirisdr0.rules |
52 | Reading rules file: /lib/udev/rules.d/60-libosmosdr0.rules |
53 | Reading rules file: /lib/udev/rules.d/60-librtlsdr0.rules |
54 | Reading rules file: /lib/udev/rules.d/60-libsane.rules |
55 | Reading rules file: /lib/udev/rules.d/60-pcmcia.rules |
56 | Reading rules file: /lib/udev/rules.d/60-persistent-alsa.rules |
57 | Reading rules file: /lib/udev/rules.d/60-persistent-input.rules |
58 | Reading rules file: /lib/udev/rules.d/60-persistent-storage-tape.rules |
59 | Reading rules file: /lib/udev/rules.d/60-persistent-storage.rules |
60 | Reading rules file: /lib/udev/rules.d/60-persistent-v4l.rules |
61 | Reading rules file: /lib/udev/rules.d/60-serial.rules |
62 | Reading rules file: /lib/udev/rules.d/60-uhd-host.rules |
63 | Reading rules file: /lib/udev/rules.d/60-xdiagnose.rules |
64 | Reading rules file: /lib/udev/rules.d/61-gnome-bluetooth-rfkill.rules |
65 | Reading rules file: /lib/udev/rules.d/61-persistent-storage-android.rules |
66 | Reading rules file: /lib/udev/rules.d/64-btrfs.rules |
67 | Reading rules file: /lib/udev/rules.d/64-limesuite.rules |
68 | Reading rules file: /lib/udev/rules.d/64-xorg-xkb.rules |
69 | Reading rules file: /lib/udev/rules.d/65-libwacom.rules |
70 | Reading rules file: /lib/udev/rules.d/66-snapd-autoimport.rules |
71 | Reading rules file: /lib/udev/rules.d/66-xorg-synaptics-quirks.rules |
72 | Reading rules file: /lib/udev/rules.d/69-cd-sensors.rules |
73 | Reading rules file: /lib/udev/rules.d/69-libmtp.rules |
74 | Reading rules file: /lib/udev/rules.d/69-wacom.rules |
75 | Reading rules file: /lib/udev/rules.d/69-xorg-vmmouse.rules |
76 | Reading rules file: /lib/udev/rules.d/70-debian-uaccess.rules |
77 | Reading rules file: /lib/udev/rules.d/70-mouse.rules |
78 | Reading rules file: /lib/udev/rules.d/70-power-switch.rules |
79 | Reading rules file: /lib/udev/rules.d/70-printers.rules |
80 | Reading rules file: /lib/udev/rules.d/70-resolvconf-initramfs-copy.rules |
81 | Reading rules file: /etc/udev/rules.d/70-snap.core.rules |
82 | Reading rules file: /etc/udev/rules.d/70-snap.meshlab-mardy.rules |
83 | Reading rules file: /etc/udev/rules.d/70-snap.meshlab.rules |
84 | Reading rules file: /lib/udev/rules.d/70-uaccess.rules |
85 | Reading rules file: /lib/udev/rules.d/71-power-switch-proliant.rules |
86 | Reading rules file: /lib/udev/rules.d/71-seat.rules |
87 | Reading rules file: /lib/udev/rules.d/71-u-d-c-gpu-detection.rules |
88 | Reading rules file: /lib/udev/rules.d/73-seat-late.rules |
89 | Reading rules file: /lib/udev/rules.d/73-special-net-names.rules |
90 | Reading rules file: /lib/udev/rules.d/73-usb-net-by-mac.rules |
91 | Reading rules file: /lib/udev/rules.d/75-net-description.rules |
92 | Reading rules file: /lib/udev/rules.d/75-probe_mtd.rules |
93 | Reading rules file: /lib/udev/rules.d/77-mm-cinterion-port-types.rules |
94 | Reading rules file: /lib/udev/rules.d/77-mm-dell-port-types.rules |
95 | Reading rules file: /lib/udev/rules.d/77-mm-ericsson-mbm.rules |
96 | Reading rules file: /lib/udev/rules.d/77-mm-haier-port-types.rules |
97 | Reading rules file: /lib/udev/rules.d/77-mm-huawei-net-port-types.rules |
98 | Reading rules file: /lib/udev/rules.d/77-mm-longcheer-port-types.rules |
99 | Reading rules file: /lib/udev/rules.d/77-mm-mtk-port-types.rules |
100 | Reading rules file: /lib/udev/rules.d/77-mm-nokia-port-types.rules |
101 | Reading rules file: /lib/udev/rules.d/77-mm-pcmcia-device-blacklist.rules |
102 | Reading rules file: /lib/udev/rules.d/77-mm-platform-serial-whitelist.rules |
103 | Reading rules file: /lib/udev/rules.d/77-mm-qdl-device-blacklist.rules |
104 | Reading rules file: /lib/udev/rules.d/77-mm-simtech-port-types.rules |
105 | Reading rules file: /lib/udev/rules.d/77-mm-telit-port-types.rules |
106 | Reading rules file: /etc/udev/rules.d/77-mm-usb-device-blacklist.rules |
107 | Reading rules file: /lib/udev/rules.d/77-mm-usb-serial-adapters-greylist.rules |
108 | Reading rules file: /lib/udev/rules.d/77-mm-x22x-port-types.rules |
109 | Reading rules file: /lib/udev/rules.d/77-mm-zte-port-types.rules |
110 | Reading rules file: /lib/udev/rules.d/78-graphics-card.rules |
111 | Reading rules file: /lib/udev/rules.d/78-sound-card.rules |
112 | Reading rules file: /lib/udev/rules.d/80-debian-compat.rules |
113 | Reading rules file: /lib/udev/rules.d/80-drivers.rules |
114 | Reading rules file: /lib/udev/rules.d/80-ifupdown.rules |
115 | Reading rules file: /lib/udev/rules.d/80-libinput-device-groups.rules |
116 | Reading rules file: /lib/udev/rules.d/80-mm-candidate.rules |
117 | Reading rules file: /lib/udev/rules.d/80-net-setup-link.rules |
118 | Reading rules file: /lib/udev/rules.d/80-udisks2.rules |
119 | Reading rules file: /lib/udev/rules.d/84-nm-drivers.rules |
120 | Reading rules file: /lib/udev/rules.d/85-brltty.rules |
121 | Reading rules file: /lib/udev/rules.d/85-hdparm.rules |
122 | Reading rules file: /lib/udev/rules.d/85-hplj10xx.rules |
123 | Reading rules file: /lib/udev/rules.d/85-keyboard-configuration.rules |
124 | Reading rules file: /lib/udev/rules.d/85-nm-unmanaged.rules |
125 | Reading rules file: /lib/udev/rules.d/85-regulatory.rules |
126 | Reading rules file: /lib/udev/rules.d/88-nuand.rules |
127 | Reading rules file: /lib/udev/rules.d/90-alsa-restore.rules |
128 | Reading rules file: /lib/udev/rules.d/90-comedi.rules |
129 | Reading rules file: /lib/udev/rules.d/90-fwupd-devices.rules |
130 | Reading rules file: /lib/udev/rules.d/90-libgpod.rules |
131 | Reading rules file: /lib/udev/rules.d/90-libinput-model-quirks.rules |
132 | Reading rules file: /lib/udev/rules.d/90-pulseaudio.rules |
133 | Reading rules file: /lib/udev/rules.d/95-cd-devices.rules |
134 | Reading rules file: /lib/udev/rules.d/95-upower-csr.rules |
135 | Reading rules file: /lib/udev/rules.d/95-upower-hid.rules |
136 | Reading rules file: /lib/udev/rules.d/95-upower-wup.rules |
137 | Reading rules file: /lib/udev/rules.d/97-hid2hci.rules |
138 | Reading rules file: /etc/udev/rules.d/99-jlink.rules |
139 | Reading rules file: /lib/udev/rules.d/99-systemd.rules |
140 | rules contain 393216 bytes tokens (32768 * 12 bytes), 37934 bytes strings |
141 | 30741 strings (256204 bytes), 26965 de-duplicated (222047 bytes), 3777 trie nodes used |
142 | unable to open device '/sys/devices/pci0000:00/0000:00:14.0/usb3/3-4/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2/3-4.2:1.0' |
143 | Unload module index |
144 | Unloaded link configuration context. |
Da steht's: Skipping overridden file: /lib/udev/rules.d/77-mm-usb-device-blacklist.rules.
FlorenzW schrieb: > Da steht's: > Skipping overridden file: > /lib/udev/rules.d/77-mm-usb-device-blacklist.rules. Deutet darauf hin, daß es eine weitere Rule gibt, die sich auf das selbe Device bezieht...
:
Bearbeitet durch User
Das ist, weil es dieselbe Datei in /lib und in /etc gibt. Warum hast du den Namen so komisch gewählt, wieso nicht 99-mydevice.rules oder sowas?
Und ich glaube du hast die URI zweimal aneinander gehängt, deshalb gibts nicht mehr sinnvolle Infos ... Ich denke außerdem, dass das Gerät noch eingesteckt sein sollte, wenn du udevadm test ausführst ...
:
Bearbeitet durch User
Sven B. schrieb: > Warum hast du > den Namen so komisch gewählt, wieso nicht 99-mydevice.rules oder sowas? Das ist einfach aus dem howto aus Github übernommen. Ich muß gestehen, daß ich da auch nicht weiter drüber nachgedacht hab. Bei mir gabs allerdings auch keine Konflikte.
Super Sache! Ich kann leider heute nicht weitermachen. Melde mich!
...zu früh gefreut... Jetzt habe ich die Datei /etc/udev/rules.d/77-mm-usb-device-blacklist.rules gelöscht, außer meiner eigenen Zeile ist da nichts drin gestanden. Ich habe mit sudo nano /etc/udev/rules.d/99-stm407.rules mit diesem Inhalt angelegt: ATTRS{idProduct}=="df11", ATTRS{idVendor}=="483", MODE="664", GROUP="plugdev" (alles in einer Zeile, Return am Ende) und den Rechner neu gestartet. Ergebnis: dfu-util: Cannot open DFU device 0483:df11 dfu-util: No DFU capable USB device available Mit sudo funktionierts. florian@messpc:~$ lsusb ... Bus 003 Device 009: ID 0483:df11 STMicroelectronics STM Device in DFU Mode florian@messpc:~$ udevadm monitor monitor will print the received events for: UDEV - the event which udev sends out after rule processing KERNEL - the kernel uevent KERNEL[1352.557548] add /devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2 (usb) KERNEL[1352.560624] add /devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2/3-4.2:1.0 (usb) UDEV [1352.563824] add /devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2 (usb) UDEV [1352.572891] add /devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2/3-4.2:1.0 (usb) florian@messpc:~$ udevadm test /devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2 calling: test version 229 This program is for debugging only, it does not run any program specified by a RUN key. It may show incorrect results, because some values may be different, or not available at a simulation run. === trie on-disk === tool version: 229 file size: 7064122 bytes header size 80 bytes strings 1764282 bytes nodes 5299760 bytes Load module index timestamp of '/etc/systemd/network' changed timestamp of '/lib/systemd/network' changed Parsed configuration file /lib/systemd/network/99-default.link Created link configuration context. timestamp of '/etc/udev/rules.d' changed Reading rules file: /lib/udev/rules.d/39-usbmuxd.rules Reading rules file: /lib/udev/rules.d/40-crda.rules Reading rules file: /lib/udev/rules.d/40-usb-media-players.rules Reading rules file: /lib/udev/rules.d/40-usb_modeswitch.rules Reading rules file: /lib/udev/rules.d/40-vm-hotadd.rules Reading rules file: /etc/udev/rules.d/45-maple.rules Reading rules file: /etc/udev/rules.d/49-stlinkv1.rules Reading rules file: /etc/udev/rules.d/49-stlinkv2-1.rules Reading rules file: /etc/udev/rules.d/49-stlinkv2.rules Reading rules file: /lib/udev/rules.d/50-apport.rules Reading rules file: /lib/udev/rules.d/50-bluetooth-hci-auto-poweron.rules Reading rules file: /lib/udev/rules.d/50-firmware.rules Reading rules file: /lib/udev/rules.d/50-udev-default.rules Reading rules file: /lib/udev/rules.d/56-hpmud.rules Reading rules file: /lib/udev/rules.d/59-hamlib.rules Reading rules file: /lib/udev/rules.d/60-avrdude.rules Reading rules file: /lib/udev/rules.d/60-block.rules Reading rules file: /lib/udev/rules.d/60-cdrom_id.rules Reading rules file: /lib/udev/rules.d/60-drm.rules Reading rules file: /lib/udev/rules.d/60-evdev.rules Reading rules file: /lib/udev/rules.d/60-gnupg.rules Reading rules file: /lib/udev/rules.d/60-gnupg2.rules Reading rules file: /lib/udev/rules.d/60-gr-fcdproplus.rules Reading rules file: /lib/udev/rules.d/60-inputattach.rules Reading rules file: /lib/udev/rules.d/60-libairspy0.rules Reading rules file: /lib/udev/rules.d/60-libairspyhf0.rules Reading rules file: /lib/udev/rules.d/60-libgnuradio-fcd3.7.10.rules Reading rules file: /lib/udev/rules.d/60-libgphoto2-6.rules Reading rules file: /lib/udev/rules.d/60-libhackrf0.rules Reading rules file: /lib/udev/rules.d/60-libiio0.rules Reading rules file: /lib/udev/rules.d/60-libmirisdr0.rules Reading rules file: /lib/udev/rules.d/60-libosmosdr0.rules Reading rules file: /lib/udev/rules.d/60-librtlsdr0.rules Reading rules file: /lib/udev/rules.d/60-libsane.rules Reading rules file: /lib/udev/rules.d/60-pcmcia.rules Reading rules file: /lib/udev/rules.d/60-persistent-alsa.rules Reading rules file: /lib/udev/rules.d/60-persistent-input.rules Reading rules file: /lib/udev/rules.d/60-persistent-storage-tape.rules Reading rules file: /lib/udev/rules.d/60-persistent-storage.rules Reading rules file: /lib/udev/rules.d/60-persistent-v4l.rules Reading rules file: /lib/udev/rules.d/60-serial.rules Reading rules file: /lib/udev/rules.d/60-uhd-host.rules Reading rules file: /lib/udev/rules.d/60-xdiagnose.rules Reading rules file: /lib/udev/rules.d/61-gnome-bluetooth-rfkill.rules Reading rules file: /lib/udev/rules.d/61-persistent-storage-android.rules Reading rules file: /lib/udev/rules.d/64-btrfs.rules Reading rules file: /lib/udev/rules.d/64-limesuite.rules Reading rules file: /lib/udev/rules.d/64-xorg-xkb.rules Reading rules file: /lib/udev/rules.d/65-libwacom.rules Reading rules file: /lib/udev/rules.d/66-snapd-autoimport.rules Reading rules file: /lib/udev/rules.d/66-xorg-synaptics-quirks.rules Reading rules file: /lib/udev/rules.d/69-cd-sensors.rules Reading rules file: /lib/udev/rules.d/69-libmtp.rules Reading rules file: /lib/udev/rules.d/69-wacom.rules Reading rules file: /lib/udev/rules.d/69-xorg-vmmouse.rules Reading rules file: /lib/udev/rules.d/70-debian-uaccess.rules Reading rules file: /lib/udev/rules.d/70-mouse.rules Reading rules file: /lib/udev/rules.d/70-power-switch.rules Reading rules file: /lib/udev/rules.d/70-printers.rules Reading rules file: /lib/udev/rules.d/70-resolvconf-initramfs-copy.rules Reading rules file: /etc/udev/rules.d/70-snap.core.rules Reading rules file: /etc/udev/rules.d/70-snap.meshlab-mardy.rules Reading rules file: /etc/udev/rules.d/70-snap.meshlab.rules Reading rules file: /lib/udev/rules.d/70-uaccess.rules Reading rules file: /lib/udev/rules.d/71-power-switch-proliant.rules Reading rules file: /lib/udev/rules.d/71-seat.rules Reading rules file: /lib/udev/rules.d/71-u-d-c-gpu-detection.rules Reading rules file: /lib/udev/rules.d/73-seat-late.rules Reading rules file: /lib/udev/rules.d/73-special-net-names.rules Reading rules file: /lib/udev/rules.d/73-usb-net-by-mac.rules Reading rules file: /lib/udev/rules.d/75-net-description.rules Reading rules file: /lib/udev/rules.d/75-probe_mtd.rules Reading rules file: /lib/udev/rules.d/77-mm-cinterion-port-types.rules Reading rules file: /lib/udev/rules.d/77-mm-dell-port-types.rules Reading rules file: /lib/udev/rules.d/77-mm-ericsson-mbm.rules Reading rules file: /lib/udev/rules.d/77-mm-haier-port-types.rules Reading rules file: /lib/udev/rules.d/77-mm-huawei-net-port-types.rules Reading rules file: /lib/udev/rules.d/77-mm-longcheer-port-types.rules Reading rules file: /lib/udev/rules.d/77-mm-mtk-port-types.rules Reading rules file: /lib/udev/rules.d/77-mm-nokia-port-types.rules Reading rules file: /lib/udev/rules.d/77-mm-pcmcia-device-blacklist.rules Reading rules file: /lib/udev/rules.d/77-mm-platform-serial-whitelist.rules Reading rules file: /lib/udev/rules.d/77-mm-qdl-device-blacklist.rules Reading rules file: /lib/udev/rules.d/77-mm-simtech-port-types.rules Reading rules file: /lib/udev/rules.d/77-mm-telit-port-types.rules Reading rules file: /lib/udev/rules.d/77-mm-usb-device-blacklist.rules Reading rules file: /lib/udev/rules.d/77-mm-usb-serial-adapters-greylist.rules Reading rules file: /lib/udev/rules.d/77-mm-x22x-port-types.rules Reading rules file: /lib/udev/rules.d/77-mm-zte-port-types.rules Reading rules file: /lib/udev/rules.d/78-graphics-card.rules Reading rules file: /lib/udev/rules.d/78-sound-card.rules Reading rules file: /lib/udev/rules.d/80-debian-compat.rules Reading rules file: /lib/udev/rules.d/80-drivers.rules Reading rules file: /lib/udev/rules.d/80-ifupdown.rules Reading rules file: /lib/udev/rules.d/80-libinput-device-groups.rules Reading rules file: /lib/udev/rules.d/80-mm-candidate.rules Reading rules file: /lib/udev/rules.d/80-net-setup-link.rules Reading rules file: /lib/udev/rules.d/80-udisks2.rules Reading rules file: /lib/udev/rules.d/84-nm-drivers.rules Reading rules file: /lib/udev/rules.d/85-brltty.rules Reading rules file: /lib/udev/rules.d/85-hdparm.rules Reading rules file: /lib/udev/rules.d/85-hplj10xx.rules Reading rules file: /lib/udev/rules.d/85-keyboard-configuration.rules Reading rules file: /lib/udev/rules.d/85-nm-unmanaged.rules Reading rules file: /lib/udev/rules.d/85-regulatory.rules Reading rules file: /lib/udev/rules.d/88-nuand.rules Reading rules file: /lib/udev/rules.d/90-alsa-restore.rules Reading rules file: /lib/udev/rules.d/90-comedi.rules Reading rules file: /lib/udev/rules.d/90-fwupd-devices.rules Reading rules file: /lib/udev/rules.d/90-libgpod.rules Reading rules file: /lib/udev/rules.d/90-libinput-model-quirks.rules Reading rules file: /lib/udev/rules.d/90-pulseaudio.rules Reading rules file: /lib/udev/rules.d/95-cd-devices.rules Reading rules file: /lib/udev/rules.d/95-upower-csr.rules Reading rules file: /lib/udev/rules.d/95-upower-hid.rules Reading rules file: /lib/udev/rules.d/95-upower-wup.rules Reading rules file: /lib/udev/rules.d/97-hid2hci.rules Reading rules file: /etc/udev/rules.d/99-jlink.rules Reading rules file: /etc/udev/rules.d/99-stm407.rules Reading rules file: /lib/udev/rules.d/99-systemd.rules rules contain 393216 bytes tokens (32768 * 12 bytes), 38023 bytes strings 31116 strings (259210 bytes), 27330 de-duplicated (224974 bytes), 3787 trie nodes used value '[dmi/id]sys_vendor' is 'ASUS' value '[dmi/id]sys_vendor' is 'ASUS' IMPORT builtin 'usb_id' /lib/udev/rules.d/50-udev-default.rules:13 IMPORT builtin 'hwdb' /lib/udev/rules.d/50-udev-default.rules:13 MODE 0664 /lib/udev/rules.d/50-udev-default.rules:41 PROGRAM 'mtp-probe /sys/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2 3 17' /lib/udev/rules.d/69-libmtp.rules:1923 starting 'mtp-probe /sys/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2 3 17' 'mtp-probe /sys/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2 3 17'(out) '0' Process 'mtp-probe /sys/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2 3 17' succeeded. handling device node '/dev/bus/usb/003/017', devnum=c189:272, mode=0664, uid=0, gid=0 preserve permissions /dev/bus/usb/003/017, 020664, uid=0, gid=0 preserve already existing symlink '/dev/char/189:272' to '../bus/usb/003/017' ACTION=add BUSNUM=003 DEVNAME=/dev/bus/usb/003/017 DEVNUM=017 DEVPATH=/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2 DEVTYPE=usb_device DRIVER=usb ID_BUS=usb ID_MODEL=STM32_BOOTLOADER ID_MODEL_ENC=STM32\x20\x20BOOTLOADER ID_MODEL_FROM_DATABASE=STM Device in DFU Mode ID_MODEL_ID=df11 ID_REVISION=2200 ID_SERIAL=STMicroelectronics_STM32_BOOTLOADER_386535783037 ID_SERIAL_SHORT=386535783037 ID_USB_INTERFACES=:fe0102: ID_VENDOR=STMicroelectronics ID_VENDOR_ENC=STMicroelectronics ID_VENDOR_FROM_DATABASE=STMicroelectronics ID_VENDOR_ID=0483 MAJOR=189 MINOR=272 PRODUCT=483/df11/2200 SUBSYSTEM=usb TYPE=0/0/0 USEC_INITIALIZED=1352563649 Unload module index Unloaded link configuration context. florian@messpc:~$
Ok, da steht aber dass es die Berechtigungen für die Datei die dfu-util auch verwendet auf 664 setzt. Das ist wirklich komisch. Du kannst dir ja die Attribute mit ls -la /dev/bus/usb/003/017 mal anschauen ...?
:
Bearbeitet durch User
florian@messpc:~$ lsusb ... Bus 003 Device 012: ID 0483:df11 STMicroelectronics STM Device in DFU Mode ... florian@messpc:~$ ls -la /dev/bus/usb/003/012 crw-rw-r-- 1 root root 189, 267 Jun 3 19:29 /dev/bus/usb/003/012 florian@messpc:~$
Hm, es wendet die Gruppe nicht an. Keine Ahnung. Evtl. fehlt die "0" vor der Device ID?
Ja das war das Problem! Jetzt funktioniert's auch ohne sudo! Vielen Dank Sven B. Was aber nicht heißt, dass es jetzt mit der Aruino-IDE funktioniert. ... es ist zum heulen... Opening DFU capable USB device... ID 0483:df11 Run-time device DFU version 011a Claiming USB DFU Interface... Setting Alternate Setting #2 ... Determining device status: state = dfuERROR, status = 10 dfuERROR, clearing status Determining device status: state = dfuIDLE, status = 0 dfuIDLE, continuing DFU mode device DFU version 011a Device returned transfer size 2048 dfu-util: Invalid DFU suffix signature dfu-util: A valid DFU suffix will be required in a future dfu-util release!!! dfu-util: Invalid dfuse address: {upload.dfuse_addr} Waiting for /dev/ttyUSB0 serial...Done Ich vermute dass dfu-util von der Arduino-IDE mit falschen Parametern aufgerufen wird, weil aus der Kommandozeile funktioniert es einwandfrei. Jetzt versuche ich rauszufinden, wo man das ändern kann...
Dabei kann ich glaube ich nicht helfen ;) Aber falls du die Parameter wissen willst, mit denen es aufgerufen wird, hilft dabei wieder strace -- diesmal nach dem "execve" syscall filtern.
Warnung: Beim Versuch dieses STM32F407VGT6-Board mit dem Arduino-core von Roger Clark mit der Methode STM32duino Bootloader zu flashen versetzt man das Board reproduzierbar in einen nicht mehr löschbaren und damit nicht mehr neu programmierbaren Zustand. Fehlermeldung: dfuERROR, clearing status Diese Fehlermeldung bekommt man von diesem Zeitpunkt an immer zu sehen, wenn man Versucht das Board über dfu-util zu programmieren, auch in der Kommandozeile egal ob root oder nicht. Rettung: Sobald man über einen USB-Seriell-Adapter (wie oben beschrieben) mit Hilfe des Arduino cores von danieleff das Board flasht ist es auch über USB/dfu wieder ansprechbar.
Da es inzwischen etwas unübersichtlich geworden ist, eine Zusammenfassung: Ein STM32F407VGT6-Board so wie es ist ohne speziellen Bootloader mit dfu-util über USB zu flashen funktioniert. (Jumper: BOOT0 HIGH, BOOT1 LOW) Aufruf (Quelle Harry L.):
1 | sudo dfu-util -a 0 -D Blink.ino.bin -s 0x08000000 |
Um das Programm auszuführen müssen BOOT0 und BOOT1 auf LOW gejumpert und auf RESET gedrückt werden Damit dfu-util auch ohne sudo funktioniert, muss es das Recht für den Zugriff auf das USB-Device haben. Zu diesem Zweck habe ich eine entsprechnde Regel eingerichtet:
1 | sudo nano /etc/udev/rules.d/99-stm407.rules |
In diese Datei kommt folgende Zeile:
1 | ATTRS{idProduct}=="df11", ATTRS{idVendor}=="0483", MODE="664", GROUP="plugdev" |
Die Product-ID und die Vendor-ID müssen evtl. angepasst werden und unbedingt vierstellig sein (Quelle Sven B.), man erfährt sie durch Aufruf von lsusb. Das Board muss dafür über USB eingesteckt sein und sich im Bootloader-Modus befinden. Es gibt z.Zt. mindestens drei verschiedene "Arduino-cores", die STM32F4-Boards der Arduino-IDE zugänglich machen. - Roger Clark / STM32duino - danieleff - direkt von ST Das direkte Programmieren des Boards über USB aus der Arduino-IDE heraus ist mir bis jetzt noch nicht gelungen. Von den drei getesteten cores bietet z.Zt. für generische Boards nur der von Roger Clark einen dfu-upload, was aber dazu führt, dass nichts mehr geht, Rettung durch seriellen Upload. Was funktioniert ist in der Arduino-IDE ein nicht existentes Programmier-target (z.B. ST-Link) einzustellen, nachdem der Programmiervorgang abgebrochen ist die XXX.ino.bin-Datei aus dem /tmp/arduino_build_xxxxxx-Ordner zu fischen und über einen manuellen dfu-util-Aufruf aus der Kommandozeile zu flashen. Dieses Board über ein FTDI USB-Seriell-Adapterboard direkt aus der Arduino-IDE zu flashen funktioniert sehr gut, aber nur mit dem Arduino-core von danieleff. Diese Methode hat einen großen Vorteil: Man muss nicht rumjumpern. Das Board wird fest auf BOOT0 HIGH und BOOT1 LOW gejumpert und mit RESET in den Bootloader-Modus versetzt. Nach dem Programiervorgang wird das Programm automatisch gestartet. Möchte man wieder Programmieren, drückt man auf RESET. Das FTDI-Board muss auf 3,3V eingestellt sein! FTDI STM32f407 GND -> GND VCC -> 3.3V TX -> 1kOhm -> PA10 RX -> 1kOhm -> PA9 (Die 1kOhm-Rs sind nur zur Sicherheit, man weiß ja nie :-) Board Black F407VE/ZE/ZG ausgewählt. Specific Board F407VE (V2.0) Upload Method: Serial UART1 BOOT0: HIGH, BOOT1: LOW Vermutlich (noch nicht getestet) die sinnvollste Methode ist ein ST-LINK Dongle, da der von allen cores unterstützt wird und schon für <2€ zu haben ist.
:
Bearbeitet durch User
:-) Jetzt geht's :-) Arduino core von Roger Clark Board:"STM32F4Stamp F405" Zum Programmieren: BOOT0 HIGH, BOOT1 LOW, RESET und auf den Upload-Button der Arduino-IDE klicken. Zum Ausführen: BOOT0 LOW, BOOT1 LOW, RESET Genaueres steht in /Arduino/hardware/Arduino_STM32/STM32F4/boards.txt
trotzdem macht es mit dem STLink oder BMP mehr Spass weil man nicht die Jumper (oder Schalter) immer hin und her stecken muss. Dann noch die Arduino IDE durch Eclipse ersetzen zum Debuggen und Arduino durch mbed :-)
Definitiv. Hab mir dfu irgendwie besser vorgestellt :-) Für mich ist jetzt die Lösung Arduino-core von danieleff mit seriellem Upload. Gegen die Arduino-IDE spricht für mich erst mal nichts, weil ich kein Profiprogrammierer bin und mich darüber freue, dass es überhaupt funktioniert. Der danieleff-core hat noch den Vorteil, dass er mehr libraries mitbringt. Mit dem STM32duino-core für STM32F4 bin ich gerade an I2C gescheitert.
Florian W. schrieb: > Von den drei getesteten cores bietet z.Zt. für generische Boards nur > der von Roger Clark einen dfu-upload Die Frage ist halt was mit "generischen Boards" gemeint ist. Vermutlich der Software-DFU-BL auf den BluePills. Florian W. schrieb: > Vermutlich (noch nicht getestet) die sinnvollste Methode ist ein ST-LINK > Dongle, da der von allen cores unterstützt wird und schon für <2€ zu > haben ist. Definitiv. DFU sehe ich höchstens als Möglichkeit, dass ein Kunde seine Firmware updaten kann. Für Entwicklung ist das eher nix. Außerdem kann man damit nicht debuggen, was ebenfalls ein Nachteil ist. Angesichts der ST-Link Preise würde ich mir das wirklich nicht unbedingt antun wollen.
Christopher J. schrieb: > Florian W. schrieb: >> Von den drei getesteten cores bietet z.Zt. für generische Boards nur >> der von Roger Clark einen dfu-upload > > Die Frage ist halt was mit "generischen Boards" gemeint ist. Vermutlich > der Software-DFU-BL auf den BluePills. Das hat sich ausschließlich auf STM32F4-Boards bezogen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.