[SOLVED] Diamex AVR-ISP programmer Einstellungen

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

Hannnes
Beiträge: 127
Registriert: 02.01.2017, 10:51
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wiesbaden
Hat sich bedankt: 40 Mal
Danksagung erhalten: 18 Mal

[SOLVED] Diamex AVR-ISP programmer Einstellungen

Beitrag von Hannnes » 27.12.2020, 16:20

[SOLVED]
Kurze Frage an Euch Profis.
Ich bin gerade dabei mein erstes Mal einen Askin-Test zu flashen.
Habe Atom mit Platformio installiert, die libs dazugepackt. Es läuft ohne Fehler durch.
Dann will ich flashen, aber es kommt keine Verbindung zum Programmer zustande.
Ich vermute da fehlt ein Treiber???
Ich arbeite an einem Mac...
Das ist die Konsolenausgabe:

Code: Alles auswählen

|   |-- <Low-Power> 1.6.0
|-- <Low-Power> 1.6.0
Building in release mode
Compiling .pio/build/pro8MHzatmega328/src/main.ino.cpp.o
Linking .pio/build/pro8MHzatmega328/firmware.elf
Building .pio/build/pro8MHzatmega328/firmware.hex
Checking size .pio/build/pro8MHzatmega328/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [===       ]  32.3% (used 661 bytes from 2048 bytes)
Flash: [======    ]  59.5% (used 18278 bytes from 30720 bytes)
Configuring upload protocol...
AVAILABLE: arduino
CURRENT: upload_protocol = arduino
Looking for upload port...
Auto-detected: /dev/cu.usbmodem14301
Uploading .pio/build/pro8MHzatmega328/firmware.hex
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00
 
avrdude done.  Thank you.
 
*** [upload] Error 1
========================= [FAILED] Took 53.56 seconds =========================
Habt Ihr ne Ahnung, was ich wo und wie einstellen muss? :?: :?:
Zuletzt geändert von Hannnes am 29.12.2020, 00:00, insgesamt 2-mal geändert.
Grüße,
Hannes


------------
Raspberrymatic, ioBroker, Home Assistant
HM, HMIP, Hue, Tradfri, Redmatic, z-wave
CAD ist mein Alltag

Hannnes
Beiträge: 127
Registriert: 02.01.2017, 10:51
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wiesbaden
Hat sich bedankt: 40 Mal
Danksagung erhalten: 18 Mal

Re: PlatformIO Diamex AVR-ISP programmer

Beitrag von Hannnes » 27.12.2020, 22:32

Oder nehmt ihr alle Windows bzw. Linux??
Grüße,
Hannes


------------
Raspberrymatic, ioBroker, Home Assistant
HM, HMIP, Hue, Tradfri, Redmatic, z-wave
CAD ist mein Alltag

TomMajor
Beiträge: 1793
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: PlatformIO Diamex AVR-ISP programmer

Beitrag von TomMajor » 28.12.2020, 16:42

Bist du sicher das usbmodem14301 der Diamex ist?
Mit 2x

Code: Alles auswählen

ls /dev/cu*
bekommst du das raus, 1x ohne Diamex, 1x mit.
Danach würde ich erstmal versuchen manuell per Kommandozeile den AVR zu lesen bzw. zu schreiben.
Viele Grüße,
Tom

Hannnes
Beiträge: 127
Registriert: 02.01.2017, 10:51
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wiesbaden
Hat sich bedankt: 40 Mal
Danksagung erhalten: 18 Mal

Re: PlatformIO Diamex AVR-ISP programmer

Beitrag von Hannnes » 28.12.2020, 18:23

Boah ist das hard - so ein Anfang. Ist echt blutig für mich...

Ich habe im Terminal des Atom diesen Befehl eingegeben: "platformio device list" und damit das hier erhalten:

Code: Alles auswählen

/dev/cu.usbmodem14301
---------------------
Hardware ID: USB VID:PID=16C0:2A9B SER=19380-92402-411 LOCATION=20-3
Description: AVR-ISP2
Meines Verständnisses nach, müsste das passen. Aber WO gebe ich denn an, dass ich DIESEN Programmer auswählen will? Ich finde nix. Und wenn ich ihn über diesen Befehl ansprechen will

Code: Alles auswählen

platformio run -t upload --upload-port /dev/cu.usbmodem14301
, klappt es jetzt auch nicht.
Ich habe jetzt irgend ein ganz anderes Problem.
Aktuelle Fehlermeldung:

Code: Alles auswählen

Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/pro8MHzatmega328.html
PLATFORM: Atmel AVR (3.0.0) > Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz)
HARDWARE: ATMEGA328P 8MHz, 2KB RAM, 30KB Flash
DEBUG: Current (avr-stub) On-board (avr-stub, simavr)
PACKAGES:
 - framework-arduino-avr 5.1.0
 - tool-avrdude 1.60300.200527 (6.3.0)
 - toolchain-atmelavr 1.50400.190710 (5.4.0)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 8 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <AskSinPP> 4.1.7
|   |-- <Low-Power> 1.6.0
|-- <EnableInterrupt> 1.1.0
|-- <Low-Power> 1.6.0
Building in release mode
Linking .pio/build/pro8MHzatmega328/firmware.elf
/var/folders/py/7rmbj2vj4md1nw6lbgl_zb2r0000gn/T//ccc6EPNJ.ltrans0.ltrans.o: In function `main':
<artificial>:(.text.startup+0x86): undefined reference to `setup'
<artificial>:(.text.startup+0x8e): undefined reference to `loop'
collect2: error: ld returned 1 exit status
*** [.pio/build/pro8MHzatmega328/firmware.elf] Error 1
============================================================================== [FAILED] Took 0.73 seconds ==============================================================================
Aber inzwischen läuft das Programm auch nicht mehr durch. Da kommt:
2020-12-28_18-21-54.png
Was übersehe ich?
Grüße,
Hannes


------------
Raspberrymatic, ioBroker, Home Assistant
HM, HMIP, Hue, Tradfri, Redmatic, z-wave
CAD ist mein Alltag

Martin62
Beiträge: 681
Registriert: 09.12.2019, 21:24
Hat sich bedankt: 151 Mal
Danksagung erhalten: 61 Mal

Re: PlatformIO Diamex AVR-ISP programmer

Beitrag von Martin62 » 28.12.2020, 19:08

Warum machst du dir das so schwer? Wenn es darum geht einen Sketch auf einen Atmega zu bekommen im besten Fall auf einen Pro Mini dann benutzte doch IDE für Arduino. Dazu brauchst du einen FTDI um die Verbindung USB zum Pro Mimi herzustellen.
Hier gibt es eine Anleitung.
https://asksinpp.de/Grundlagen/02_software.html
Gruß Martin

Hannnes
Beiträge: 127
Registriert: 02.01.2017, 10:51
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wiesbaden
Hat sich bedankt: 40 Mal
Danksagung erhalten: 18 Mal

Re: PlatformIO Diamex AVR-ISP programmer

Beitrag von Hannnes » 28.12.2020, 19:48

Danke Martin. Ich warte noch auf meinen FTDI. Im Moment ist nur der Diamex da. Warum geht es mit dem nicht?
Auch nicht mit der Arduino IDE, die ich ebenfalls teste und die gleichen Fehler kommen. Egal ob Mac oder Win10.
Ich Kram jetzt mal einen anderen arduino raus.
Grüße,
Hannes


------------
Raspberrymatic, ioBroker, Home Assistant
HM, HMIP, Hue, Tradfri, Redmatic, z-wave
CAD ist mein Alltag

jp112sdl
Beiträge: 12115
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

Re: PlatformIO Diamex AVR-ISP programmer

Beitrag von jp112sdl » 28.12.2020, 20:08

Noch mal zusammengfasst und nachgefragt:

1.) Du verwendest den Diamex
- als USB-TTL-Wandler (am FTDI-Anschluss (DTR,RX,TX) des Pro Mini) ?
- als ISP (mit den ISP-Pins (11,12,13,RST,Vcc,GND) am Pro Mini angeschlossen) oder

1. a)
- Wenn als serieller Wandler: Hast du die DIP Switche am Diamex entsprechend gesetzt (3+4 ON) ?
- Wenn als serieller Wandler: Der Diamex führt keinen Reset am Pro Mini über den DTR Pin durch, somit musst du das selbst machen (ist eine frickelige Angelegenheit - Reset Button am Pro Mini drücken und dann sofort Hochladen in der IDE)

2.) Wählst in der Arduino IDE den Punkt "Hochladen" oder "Hochladen mit Programmer" ?

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Hannnes
Beiträge: 127
Registriert: 02.01.2017, 10:51
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wiesbaden
Hat sich bedankt: 40 Mal
Danksagung erhalten: 18 Mal

Re: PlatformIO Diamex AVR-ISP programmer

Beitrag von Hannnes » 28.12.2020, 21:14

Hi Jérôme,

toll, dass Du Dich meldest. Jetzt kommen die richtigen Fragen, wie mir scheint.
jp112sdl hat geschrieben:
28.12.2020, 20:08
Noch mal zusammengfasst und nachgefragt:

1.) Du verwendest den Diamex
- als USB-TTL-Wandler (am FTDI-Anschluss (DTR,RX,TX) des Pro Mini) ?
- als ISP (mit den ISP-Pins (11,12,13,RST,Vcc,GND) am Pro Mini angeschlossen) oder
ich wusste nicht, dass man den Diamex als USB-TTL-Wandler am FTDI nehmen kann. Kann mein Diamex, vielleicht auch gar nicht??
Ich habe diesen hier: https://www.diamex.de/dxshop/USB-ISP-Pr ... -Atmel-AVR
ja, ich nutze ihn als ISP (11,12,13,RST,Vcc,GND)
jp112sdl hat geschrieben:
28.12.2020, 20:08
1. a)
- Wenn als serieller Wandler: Hast du die DIP Switche am Diamex entsprechend gesetzt (3+4 ON) ?
- Wenn als serieller Wandler: Der Diamex führt keinen Reset am Pro Mini über den DTR Pin durch, somit musst du das selbst machen (ist eine frickelige Angelegenheit - Reset Button am Pro Mini drücken und dann sofort Hochladen in der IDE)
Da ich keine DIP Switches 3 und 4 habe, vermute ich eben, dass ich einen anderen Programmer habe. Meine Switches stehen auf 1=OFF und 2=ON
Nochmal zur Sicherheit nachgefragt, mit meiner Methode als ISP zu brennen, bedarf NICHT des Drückens des Reset-Buttons auf dem Arduino? So richtig verstanden?
jp112sdl hat geschrieben:
28.12.2020, 20:08
2.) Wählst in der Arduino IDE den Punkt "Hochladen" oder "Hochladen mit Programmer" ?
Ah, diesen Unterschied kannte ich noch gar nicht. Ich drücke auf den Knopf.
Ich habe jetzt mal beides ausprobiert.
-> "Hochladen mit Programmer" beendet sofort an Win10 und am Mac wie der Fehler bei "hochladen"
-> "hochladen" (an Win10) erzeugt das hier:

Code: Alles auswählen

Arduino: 1.8.13 (Windows 10), Board: "Arduino Pro or Pro Mini, ATmega328P (3.3V, 8 MHz)"

Der Sketch verwendet 18742 Bytes (61%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.

Globale Variablen verwenden 657 Bytes (32%) des dynamischen Speichers, 1391 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.

Beim Hochladen des Sketches ist ein Fehler aufgetreten

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x60

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x60

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x60

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x60

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x60

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x60

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x60

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x60

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x60

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x60



Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.
am Mac gerne auch mal mit

Code: Alles auswählen

resp=0x00
Was muss ich bei Arduino IDE bei "Werkzeug > Programmer" auswählen? Erfolglos probiert hatte ich "AVR ISP" und "AVR ISP mkII"
Ich habe echt das Gefühl, dass irgendwelche Grundeinstellungen falsch sind.
Ich habe es bisher in keiner einzigen Konfiguration geschafft, dass der Diamex AVR-ISP rot blinkt, was er ja eigentlich beim Schreiben tun soll.
Grüße,
Hannes


------------
Raspberrymatic, ioBroker, Home Assistant
HM, HMIP, Hue, Tradfri, Redmatic, z-wave
CAD ist mein Alltag

jp112sdl
Beiträge: 12115
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

Re: PlatformIO Diamex AVR-ISP programmer

Beitrag von jp112sdl » 28.12.2020, 21:28

Hannnes hat geschrieben:
28.12.2020, 21:14
ich wusste nicht, dass man den Diamex als USB-TTL-Wandler am FTDI nehmen kann. Kann mein Diamex, vielleicht auch gar nicht??
Stimmt, deiner kann das nicht.
Der Prog-S2 kann das (kostet 2 EUR mehr als deiner) :wink:
Hannnes hat geschrieben:
28.12.2020, 21:14
Nochmal zur Sicherheit nachgefragt, mit meiner Methode als ISP zu brennen, bedarf NICHT des Drückens des Reset-Buttons auf dem Arduino? So richtig verstanden?
Richtig.
Hannnes hat geschrieben:
28.12.2020, 21:14
Ah, diesen Unterschied kannte ich noch gar nicht. Ich drücke auf den Knopf.
Ja das ist falsch. Das startet den "seriellen Upload".
Nur bei "Upload mit Programmer" wird ein ISP Upload ausgeführt.
Hannnes hat geschrieben:
28.12.2020, 21:14
Was muss ich bei Arduino IDE bei "Werkzeug > Programmer" auswählen? Erfolglos probiert hatte ich "AVR ISP" und "AVR ISP mkII"
Steht bei mir auf "Atmel STK500"

Hannnes hat geschrieben:
28.12.2020, 21:14
Ich habe es bisher in keiner einzigen Konfiguration geschafft, dass der Diamex AVR-ISP rot blinkt, was er ja eigentlich beim Schreiben tun soll.
Probier sonst erstmal eine einfache Übung: Fuses auslesen
Ich nutze am Mac das Tool "AVRFuses" -> https://vonnieda.org/software/avrfuses
Die Settings (CMD+,) sehen bei mir so aus:
Bildschirmfoto 2020-12-28 um 21.26.51.png
Musst mal schauen ob bei dir der Pfad zu avrdude passt. Kannst du sonst glaub ich auch recht fix per Terminal mit "brew install avrdude" installieren

Bei Device stellst du den "ATmega328P" ein, wechselst oben auf den Tab "Fuses" und klickst dort den Button "Read".

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Hannnes
Beiträge: 127
Registriert: 02.01.2017, 10:51
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wiesbaden
Hat sich bedankt: 40 Mal
Danksagung erhalten: 18 Mal

Re: PlatformIO Diamex AVR-ISP programmer

Beitrag von Hannnes » 28.12.2020, 23:09

jp112sdl hat geschrieben:
28.12.2020, 21:14
Hannnes hat geschrieben:
28.12.2020, 21:14
Was muss ich bei Arduino IDE bei "Werkzeug > Programmer" auswählen? Erfolglos probiert hatte ich "AVR ISP" und "AVR ISP mkII"
Steht bei mir auf "Atmel STK500"
DAS WAR DIE LÖSUNG! :P

Das Folgende habe ich jetzt gar noch nicht ausgetestet, da es "so" endlich klappt!!!! (Teste ich aber gleich noch)
genial. Vielen, vielen Dank!!!
Askin, ich komme! :mrgreen:
jp112sdl hat geschrieben:
28.12.2020, 21:14
Hannnes hat geschrieben:
28.12.2020, 21:14
Ich habe es bisher in keiner einzigen Konfiguration geschafft, dass der Diamex AVR-ISP rot blinkt, was er ja eigentlich beim Schreiben tun soll.
Probier sonst erstmal eine einfache Übung: Fuses auslesen
Ich nutze am Mac das Tool "AVRFuses" -> https://vonnieda.org/software/avrfuses
Die Settings (CMD+,) sehen bei mir so aus:
Bildschirmfoto 2020-12-28 um 21.26.51.png
Musst mal schauen ob bei dir der Pfad zu avrdude passt. Kannst du sonst glaub ich auch recht fix per Terminal mit "brew install avrdude" installieren

Bei Device stellst du den "ATmega328P" ein, wechselst oben auf den Tab "Fuses" und klickst dort den Button "Read".
Grüße,
Hannes


------------
Raspberrymatic, ioBroker, Home Assistant
HM, HMIP, Hue, Tradfri, Redmatic, z-wave
CAD ist mein Alltag

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“