Hallo,
nach zähem Kampf hab ich es geschafft meinen Atmel-ICE auf einem Mac
(macOS Catalina 10.15.7) mit AVRDude zum laufen zu bekommen.
https://github.com/ThFischer/Getting-ATMEL-ICE-to-work-on-macOS
(AVRDude Ausgabe siehe unten)
Ich möchte aber eigentlich mittels VS-Code/PlatformIO den Upload und das
Debugging durchführen. Leider wird aber dort mein Atmel-ICE nicht
erkannt (siehe unten).
Hat vielleicht jemand ein solches Setup zum Laufen bekommen?
platformio.ini:
1
[env:megaatmega2560]
2
platform = atmelavr
3
framework=arduino
4
board = megaatmega2560
5
upload_protocol = atmelice_isp
6
upload_port = usb
Ausgabe beim Upload-Versuch:
1
> Executing task in folder Atmel-ICE Arduino MEGA 2560: pio run --target upload --environment megaatmega2560 <
Thomas F. schrieb:> nach zähem Kampf hab ich es geschafft meinen Atmel-ICE auf einem Mac> (macOS Catalina 10.15.7) mit AVRDude zum laufen zu bekommen.
Homebrew oder Macports benutzt? Nein?
Schade um die Mühe. Von obdev.at gab es auch das AVR-Mac-pack, das ließ
sich als package installieren und ging sofort.
Thomas F. schrieb:> Leider wird aber dort mein Atmel-ICE nicht erkannt (siehe unten).
Das kann ich nicht erkennen dass da nix erkannt wurde, das Ding kann ja
sogar was lesen...
Thomas F. schrieb:> Reading | ################################################## | 100%> 0.00s> 4647avrdude: Device signature = 0x1e9801 (probably m2560)
...also ich sehe da kein "erkennt den Programmer nicht".
mfg mf
Hallo Achim,
der AvrDude wurde mit brew installiert. AvrDude erkennt auch den
Atmel-ICE. Das Problem ist, dass PlatformIO den Programmer nicht erkennt
(er taucht auch nicht als USB device (ls /dev/tty.*) auf.
salute
Thomas
PS: So kann ich den Atmel-ICE auch "sehen", aber wie erkläre ich es
PlatformIO?
1
$ ioreg -p IOUSB
2
+-o Root <class IORegistryEntry, id 0x100000100, retain 22>
Aaaha. So wird ein Schuh draus.
Kannst du in Platformio irgendwo je Projekt Umgebungsvariablen
einstellen?
Im $PATH fehlt, wo brew seine binaries hinwirft. Musste ich bei Eclipse
CDT auch so machen, das hat auch nicht einfach den $PATH vom
terminal.app übernommen. Andere Idee wäre alias im Standard-system-bin
auf den avrdude im brew-bin zu setzen...
mfg mf
PS.
Thomas F. schrieb:> (er taucht auch nicht als USB device (ls /dev/tty.*) auf.
Äh, das tut mein USBASP auch nicht, weswegen ich mir nur dachte, dass
Platformio den avrdude nicht findet.
Thomas F. schrieb:> Zur Not wäre ich auch mit anderen Lösung glücklich,
Ich mache den Kram mit makefile und generischem Makefile-Projekt in
eclipse.
Geht das in Platformio auch?
Das Problem ist nicht, das PlatformIO den AVRDude nicht finden würde.
Wenn ich einen Arduino via ArduinoISP als Programmer nutze (wird als
"/dev/tty.usbmodem14201" eingebunden), gibt es keinerlei Probleme.
Das Problem ist, dass der Atmel-ICE weder von PlatformIO automatisch
erkannt wird noch von macOS als "/dev/tty.*" eingebunden wird, so dass
ich ihn nicht in der platformio.ini spezifizieren kann :-/
Thomas F. schrieb:> Das Problem ist, dass der Atmel-ICE weder von PlatformIO automatisch> erkannt wird noch von macOS als "/dev/tty.*" eingebunden wird, so dass> ich ihn nicht in der platformio.ini spezifizieren kann :-/
All diese Atmel-Tools emulieren auch kein tty, daher kann man sie dort
nicht finden. Die ursprünglichen USB-Geräte (AVRISPmkII, JTAGICEmkII,
anfängliche Firmware der JTAGICE3) hatten alle eine vendor specific
class, die konnte man nur über generische USB-Zugriffe ansprechen.
Später (aktuelle Firmware vom JTAGICE3, Atmel-ICE, *EDBG) haben sie dann
die von Keil propagierte Variante übernommen, dass die Dinger sich als
HID melden (ist doch ganz klar und deutlich ein "Human Interface", oder?
:-}) und das CMSIS-DAP-Protokoll implementieren. Das ist zwar erstmal
für ARM konzipiert, aber der AVR-Teil ließ sich darin auch noch
unterbringen.
Wir haben @Job AtmelICE (allerdings für ARMs) in platformIO benutzt,
aber ich weiß aus'm Hut nicht, wie man denen das beibiegen musste. Durch
die Keil-Definition der CMSIS-DAP ist das ja bei ARM an sich nicht
ungewöhnlich.