Forum: Mikrocontroller und Digitale Elektronik Arduino IDE und STM32F103 blue pill - dfu-util Fehler


von Christoph K. (chriskuku)


Lesenswert?

Ich habe einen kleinen Ausflug in die Programmierung eines Arduino Nano 
unter dem Arduino IDE hinter mir. Wollte dann mal kurz einen STM32F103 
blue pill unter dem Arduino IDE programmieren, weil mir beim Nano die 
I/O-Pins ausgingen. Hatte dazu den Arduino USB Bootloader installiert 
und bekomme aber beim Hochladen einer kleinen blinky-App einen Fehler 
vom dfu-util 0.8:
1
dfu-util 0.8
2
3
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
4
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
5
This program is Free Software and has ABSOLUTELY NO WARRANTY
6
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
7
8
dfu-util: Invalid DFU suffix signature
9
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
10
Opening DFU capable USB device...
11
ID 1eaf:0003
12
Run-time device DFU version 0110
13
Claiming USB DFU Interface...
14
Setting Alternate Setting #2 ...
15
dfu-util: Invalid dfuse address: /private/var/folders/kc/foofoo_w0000gn/T/AppTranslocation/XXXXXXX-XXXX_XXXXX_XXXX/d/Arduino.app/Contents/Java
16
Beim Hochladen des Sketches ist ein Fehler aufgetreten
17
Determining device status: state = dfuIDLE, status = 0
18
dfuIDLE, continuing
19
DFU mode device DFU version 0110
20
Device returned transfer size 1024

Bevor ich jetzt auf STM32CubeIDE zurückschalte, wollte ich noch mal 
einen Versuch machen, ob jemand mit dem Fehler was anfangen kann.


EDIT: ich bekam von anderswo den Hinweis, ich solle in der boards.txt 
die richtige DFU signature eintragen. Aber was ist die bzw. wie 
identifiziere ich den Eintrag?

Z.B. gibt es eine

/Users/kuku/Library/Arduino15/packages/stm32duino/hardware/STM32F1/2021. 
5.31/boards.txt  mit Einträgen zu dem Board, das ich gewählt habe,
STM32F103C:
1
###################### Generic STM32F103C ########################################
2
3
genericSTM32F103C.name=Generic STM32F103C series
4
genericSTM32F103C.vid.0=0x1EAF
5
genericSTM32F103C.pid.0=0x0004
6
genericSTM32F103C.build.variant=generic_stm32f103c
7
genericSTM32F103C.build.vect=VECT_TAB_ADDR=0x8000000
8
genericSTM32F103C.build.core=maple
9
genericSTM32F103C.build.board=GENERIC_STM32F103C
10
genericSTM32F103C.build.error_led_port=GPIOC
11
genericSTM32F103C.build.error_led_pin=13
12
genericSTM32F103C.upload.use_1200bps_touch=false
13
genericSTM32F103C.upload.file_type=bin
14
genericSTM32F103C.upload.auto_reset=true
15
genericSTM32F103C.upload.tool=maple_upload
16
genericSTM32F103C.upload.protocol=maple_dfu

Und bei den Upload-Methods:
1
#---------------------------- UPLOAD METHODS ---------------------------
2
3
genericSTM32F103C.menu.upload_method.DFUUploadMethod=STM32duino bootloader
4
genericSTM32F103C.menu.upload_method.DFUUploadMethod.upload.protocol=maple_dfu
5
genericSTM32F103C.menu.upload_method.DFUUploadMethod.upload.tool=maple_upload
6
genericSTM32F103C.menu.upload_method.DFUUploadMethod.build.upload_flags=-DSERIAL_USB -DGENERIC_BOOTLOADER
7
genericSTM32F103C.menu.upload_method.DFUUploadMethod.build.vect=VECT_TAB_ADDR=0x8002000
8
genericSTM32F103C.menu.upload_method.DFUUploadMethod.build.ldscript=ld/bootloader_20.ld
9
genericSTM32F103C.menu.upload_method.DFUUploadMethod.upload.usbID=1EAF:0003
10
genericSTM32F103C.menu.upload_method.DFUUploadMethod.upload.altID=2
11
12
genericSTM32F103C.menu.upload_method.serialMethod=Serial


Hab's hinbekommen:

/Users/kuku/Library/Arduino15/packages/stm32duino/tools/stm32tools/2021. 
5.31/macosx/maple_upload

ist ein shell-Skript. Habe darin dfuse_addr leer gesetzt:
1
#if [ $# -eq 5 ]; then
2
#    dfuse_addr="--dfuse-address $5"
3
#else
4
    dfuse_addr=""
5
#fi

und dann konnte ich den dfu-util Upload machen.

: 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.