Hallo an die Linux bzw. Ubuntu Nutzer. Ich habe bis jetzt immer mit Atmel-Studio 6.2 unter Windows meine Projekte in Assembler programmiert. (Ich sage es auch gleich vorweg, ich kann kein C und meine privaten kleinen Projekte funktionieren auch mit Assembler!) Jetzt bin ich dabei, vollständig ohne Windows zu behalten, auf Ubuntu umzusteigen. Hier habe ich aber das Problem, das es halt kein Atmel-Studio für Linux gibt. Was ich bis jetzt herausgefunden habe: Es gibt für die Assembler Freunde unter Linux den AVRA, der soviel ich weiß, den eingegebenen Programmtext aus einem beliebigen Editor heraus, in eine "hex" Datei in Atmels Assembler konformer Form erstellt. Dann gibt es den AVRDUDE der diese hex Datei über den Programmer in den z.B. ATmega "brennt". ABER... wenn ich einen "normalen" Editor verwende, dann bekomme ich nicht in diesem Editor gleich angezeigt, ob mein Programmtext richtig ist oder nicht und wo sich der Fehler befindet. Das erfahre ich wahrscheinlich erst dann, wenn ich den AVRA über das Terminal in Gang setze. Weil mir Atmel Studio aber gerade mit der Fehleranzeige einen sehr großen Vorteil bietet und das auch der Hauptgrund ist, warum ich ein solch umfangreiches Programm wie das Atmal Studio für "nur" Assembler nutze, finde ich das Ganze mit AVRA und AVRDUDE über Ellenlange Terminal Befehle doch recht umständlich. Nach Suche im Netz konnte ich leider kein Programm finden, womit man die Atmel´s in Assembler programmieren kann, welches wenigstens ähnliche Fehlererkennungen o.ä. wie im Atmel Studio zur Verfügung stellt. Jetzt aber zu meinen eigentlichen Fragen: 1. Kennt jemand ein Programm womit man die Atmel´s unter Ubuntu ähnlich wie im Atmel Studio unter einer grafischen Oberfläche programmieren kann? Wo einem z.B. zumindest ein Fehler im Programmcode schon mal angezeigt wird...??? 2. Zum anderen gibt es unter Ubuntu WINE. Damit soll es ja möglich sein, Windows Programme laufen zu lassen. Aber halt nicht jedes... und ich könnte mir gut vorstellen, das Atmel Studio darunter zählt. Oder hat jemand schon mal das Atmel Studio unter Wine zum laufen gebracht und könnte mir bitte sagen wie man das machen muss? Bin für alle Infos sehr dankbar, was das Programmieren der Atmel´s unter Ubuntu besser und einfacher gestaltet, als immer über das Terminal Ellenlange Befehle eingeben (bzw. wiederholen) zu müssen. Gruß Tom.
:
Verschoben durch Admin
Hmmm Bin mir nicht sicher ob ich meine Frage in die richtige Forumsliste gestellt habe. Eventuell wäre es doch besser unter einer anderen Liste besser platziert... Sorry. Gruß Tom.
dieses Problem habe ich auch, nutze aber einen Raspberry und da ist es noch schwieriger da kein x86 Prozessor zum Einsatz kommt. Wie ist das bei dir. Glaub da gabs noch ein Programm AVR-Simu für Linux.
Tom schrieb: > Jetzt bin ich dabei, vollständig ohne Windows zu behalten, auf Ubuntu > umzusteigen. Hier habe ich aber das Problem, das es halt kein > Atmel-Studio für Linux gibt. Kompromißlose Konsequenz ist halt nicht immer pragmatisch. Eine pragmatische Lösung wäre, Windows in einer VM unter Linux laufen zu lassen, und da drin dann dein geliebtes Atmel-Studio. Alternativ wäre ein Umstieg auf den gcc-Assembler nötig. Die kommt allerdings nicht als Ein-Click-Rundum-Sorglos-IDE-Paket. Da musst du etwas umlernen, dich dazu mit der Kommandozeile und mit makefiles auseinandersetzten, und einiges zu der toolchain lernen. Editoren, die dir dann die Fehler im Quelltext anziegen, gibt's dafür dann in jeder gewünschten Version. Auch die brauchen Einarbeitung. Alles in allem ganz normaler Linux-Alltag. Du wolltest es ja so. Oliver
Tom schrieb: > Bin für alle Infos sehr dankbar, was das Programmieren der Atmel´s unter > Ubuntu besser und einfacher gestaltet, als immer über das Terminal > Ellenlange Befehle eingeben (bzw. wiederholen) zu müssen. Normalerweise gibt man die Befehle ein mal in eine "Makefile" Datei ein und kann dann über einen einzelnen "make" Befehl alles übersetzen. Die meisten IDEs wie Eclipse oder Qt Creator können das auch auf Knopfdruck/Schnelltaste. Da der Assembler ja schnell ist, ist die fehlende Code Analyse nicht so schlimm; einfach schnell auf Ctrl+B tippen und du siehst sofort die Fehler.
Oliver S. schrieb: > Alles in allem ganz normaler Linux-Alltag. Du wolltest es ja so. Dass es für Atmel-AVR keine Linux-IDE gibt liegt aber nicht an Linux an sich. Die Programmierung in C, C++, Java usw. geht auch unter Linux sehr komfortabel. Aber für so etwas exotisches wie AVR Assembler hat sich noch keiner die Mühe gemacht.
Hallo Tom, befinde mich eigentlich in der gleichen Situation, benutze als Editor Geany, habe daneben ein Editorfenster, wo assemblieren/brennen abläuft. Der Assembler zeigt zu jeder Fehlermeldung eine Zeilennummer, die man bei längeren Quelltexten mit Strg-L aufsuchen lassen kann. Man könnte den Assembler auch unter "Erstellen" als eigenes Tool einzubinden, dann würde geany eventuell selbst in die Zeile mit dem Fehler springen, dazu war ich aber bisher zu faul. Als Assembler nutze ich den freien "Alfred Arnold AS": http://john.ccac.rwth-aachen.de:8000/as/ welcher etwas mehr Komfort bietet, als der original ATMEL Assembler oder der freie avrasm. Falls mal ein logischer Fehler im Programm gesucht werden muss, nutze ich diesen Simulator: Beitrag "AVR Simulator mit grafischer Benutzeroberfläche für Linux"
Oliver S. schrieb: > > Kompromißlose Konsequenz ist halt nicht immer pragmatisch. Wenn, dann richtig! Sonnst gibt man zu schnell auf, wenn es früher oder später halt doch komplizierter wird. Das Gute an der Sache sind ja auch die vielen guten Programme die man auch unter Windows kennt. Wie z.B.VLC, Gimp, Audacity, und viele viele andere. Da ist die Umstellung zumindest was die benötigten "normalen" Programme angeht dann doch nicht so groß. Halt für die ganz speziellen Programme muss man sich halt etwas neues suchen. > Eine > pragmatische Lösung wäre, Windows in einer VM unter Linux laufen zu > lassen, und da drin dann dein geliebtes Atmel-Studio. > Von einer Virtuellen Umgebung habe ich in meinem "Ubuntu Buch" auch schon gelesen. Da gibt es auch genug Erklärung zur Installation und Umgang damit. Ist wahrscheinlich auch für den Anfang das Beste was ich machen kann. > Alternativ wäre ein Umstieg auf den gcc-Assembler nötig. Die kommt > allerdings nicht als Ein-Click-Rundum-Sorglos-IDE-Paket. Da musst du > etwas umlernen, dich dazu mit der Kommandozeile und mit makefiles > auseinandersetzten, und einiges zu der toolchain lernen. Editoren, die > dir dann die Fehler im Quelltext anziegen, gibt's dafür dann in jeder > gewünschten Version. Auch die brauchen Einarbeitung. > Ich danke dir für die zusammengefasste Beschreibung, die mir zeigt, das es viel Arbeit bedarf sich da rein zu versetzen. Aber das gehört halt auch mit dazu. Bei neuen Dingen muss man sich halt immer erst einmal ausführlich damit befassen. Hinterher wenn man es verstanden hat, kann man es und es ist dann auch nicht mehr so kompliziert. Werde mir das Ganze auf jeden fall mal ansehen. > Alles in allem ganz normaler Linux-Alltag. Du wolltest es ja so. > > Oliver Tja. Bei meinen ersten "Gehversuchen" mit Ubuntu bzw. Linux, habe ich schon mehr wie einmal feststellen müssen, das man für jedes noch so kleine Problem immer viel Zeit und Geduld benötigt, bis man es gelöst hat. Und manchmal bedarf es auch mehrerer Ansätze... Linux ist halt anders, hat aber auch seine guten Seiten! Und wenn es erst mal läuft wie man es haben möchte, hat man auch wieder genug Zeit für andere Dinge. Gruß Tom
Programmierer schrieb: > Die meisten IDEs wie Eclipse oder Qt Creator können das auch auf > Knopfdruck/Schnelltaste. Kann man mit QT Creator, Assembler für Atmel MC generieren? Das wäre ja perfekt. Denn mit QT habe ich schon mal was gemacht. Da kenne ich mich zumindest ein bisschen aus. Gruß Tom
Tom schrieb: > Bei meinen ersten "Gehversuchen" mit Ubuntu bzw. Linux, habe ich > schon mehr wie einmal feststellen müssen, das man für jedes noch so > kleine Problem immer viel Zeit und Geduld benötigt, bis man es gelöst > hat. Und manchmal bedarf es auch mehrerer Ansätze. Nach nunmehr über zwanzig Jahren Linux kann ich dir aber Mut machen: das geht recht bald erheblich besser. Sobald die Grundlagen erstmal da sind, und man die Zusammenhänge erfasst hat, gehen die meisten Sachen locker von der Hand. Ubuntu macht’s einem da zwar etwas schwerer, aber letztlich kann man auch damit klarkommen. Sorry für OT.
Ingo W. schrieb: > Hallo Tom, > > befinde mich eigentlich in der gleichen Situation, Danke dir Ingo W. für die tolle Erklärung wie du das Problem löst. So wie es aussieht, gibt es halt doch wirklich kein schönes anderes GUI Programm. Werde mir auf jedenfalls den "Alfred Arnold AS" ansehen. Mal sehen was der so mehr bietet. Unter DOS und Windows hat man ja früher (oder auch heute noch möglich) sogenannte BAT Dateien erstellen können, die bestimmte Abläufe beinhalteten und gesteuert haben. Denke so etwas ähnliches sind die Make-Files auch, oder liege ich da falsch? Naja das sind alles noch viele offene Fragen wo ich Schritt für Schritt in nächster Zeit eine Antwort dafür finden muss. Aber zum Glück habe ich die Zeit dafür, was ja auch heutzutage nicht so oft vorkommt. Danke und Gruß Tom
> Halt für die ganz speziellen Programme muss man sich halt etwas > neues suchen. "ganz Speziell" und neuzeitig ist ja nur die Klientel, die unbedingt ausschliesslich per Maus&Fenster programmieren will. (Cross-)Assembler hat man schon vor der DOS/PC Ära praktiziert, auch auf Unix. Eine heute noch gültige und nicht minder veraltete Antwort auf 1. heisst EMACS Man meint es sei bloss ein Editor... > Tja. Bei meinen ersten "Gehversuchen" mit Ubuntu bzw. Linux, habe ich > schon mehr wie einmal feststellen müssen, das man für jedes noch so > kleine Problem immer viel Zeit und Geduld benötigt, bis man es gelöst > hat. Ja, immerhin ist es dann auch gelöst. Meine über div. WinXy Varianten sich erstreckenden Erfahrungsperioden brachten leider allzuoft nichtmal Lösungen hervor, auch nicht unter zuhilfenahme von WinXy-Kennern. Geduld wird dabei nichtmal als Währung akzeptiert... > als immer über das Terminal Ellenlange Befehle eingeben (bzw. wiederholen) zu müssen. In den seit nunmer 30++J unter unix gängigen Kommandozeilenumgebungen können mit wenigen Tastendrücke sämtliche Befehlsketten aus der Vergangenheit exakt identisch beliebig oft wieder abgerufen und ggfs. nacheditiert werden. (out of the Box Feature bei allen nicht nur Ubuntus) Sogar über Neustarts hinweg. Ich hab noch kein Maus&Fenster-System gesehen, dass ohne aufwändige Vorbereitung mir dieselbe Maus+Click-Sequenz von Gestern nochmals abspielt. Auf meinen Wunsch, bei WinXy-systeme mich nach Maus-km zu entlöhnen, ging noch kein AG ein :-( Die automatische Ergänzung (suchstichwort: "tab-completion") in den unixischen Kommandozeilenumgebungen erspart und erleichtert einem mit wenigen Drücke der Tab-Taste bereits auch das erstmalige erstellen von langen Befehle und Befehlsketten. Ich tippe nie so viele Buchstaben ein, wie letztlich auf meinen Kommandozeilen zu sehen sind. --> lerne das wenige richtige zum Umgang mit der Kommandozeile und Du wirst sie vergöttern! ("wenige" habe ich hervorgehoben weil ich selbst derart lernfaul bin, dass ich äusserst selten Lust habe offensichtliche Mausbedienschritte zu wiederholen)
Tom schrieb: > Jetzt bin ich dabei, vollständig ohne Windows zu behalten, auf Ubuntu > umzusteigen. Genau das ist völliger Schwachsinn. Ich benutze seit 25 Jahren Windows und Linux und konnte in der ganzen Zeit keine Probleme feststellen. Eher im Gegenteil: seitdem es brauchbare Virtualisierung gibt, ist es einfacher als je zuvor, beide Systeme parallel zu benutzen.
Tom schrieb: > Kann man mit QT Creator, Assembler für Atmel MC generieren? Du kannst das prinzipiell mit allen Programmiersprachen benutzen, indem du ein Makefile schreibst und da den richtigen Compiler oder eben Assembler aufrufst. Man hat halt nur nicht unbedingt Syntax Highlighting. Mit C und C++ zeigt es übrigens direkt beim Tippen schon Fehler an, das ist enorm praktisch, insbesondere in der Version die bei Ubuntu 20.0 dabei ist, weiß grad nicht welche. Tom schrieb: > Unter DOS und Windows hat man ja früher (oder auch heute noch möglich) > sogenannte BAT Dateien erstellen können, Unter Unix/Linux nennt sich das Shell-Script, das geht da schon länger als es DOS überhaupt gibt und ist auch mächtiger (Windows hat mit der PowerShell aber aufgeholt). Ein Makefile ist gewissermaßen eine Sammlung kurzer Shell Scripte, die mittels eines Regelwerks abgearbeitet werden um immer nur die Dateien zu verarbeiten, die geändert wurden. Sieht am Anfang etwas kryptisch aus aber ist leicht zu erlernen.
c-hater schrieb: > Tom schrieb: > >> Jetzt bin ich dabei, vollständig ohne Windows zu behalten, auf Ubuntu >> umzusteigen. > > Genau das ist völliger Schwachsinn Je nachdem was man braucht kann man durchaus mit Linux alleine gut zurecht kommen. Das muss man nicht so pauschal sehen.
Tom schrieb: > Hallo an die Linux bzw. Ubuntu Nutzer. > Ich habe bis jetzt immer mit Atmel-Studio 6.2 unter Windows meine > Projekte in Assembler programmiert. (Ich sage es auch gleich vorweg, ich > kann kein C und meine privaten kleinen Projekte funktionieren auch mit > Assembler!) > Jetzt bin ich dabei, vollständig ohne Windows zu behalten, auf Ubuntu > umzusteigen. Hier habe ich aber das Problem, das es halt kein > Atmel-Studio für Linux gibt. Atmel ist tot, es lebe Microchip. Microchip hat ja Atmel gekauft, und zwar genau wegen den Atmel ARMs. AVR32 ist tot, AVR8 ist Beiwerk und wird halt solange produziert, wie es Geld bringt. Atmel Studio und die Atmel Tools sind End Of Life und werden nicht mehr weiterentwickelt. Stattdessen baut man Support für AVR und ARM ins MPLABX ein. Das ist zwar noch weit davon entfernt, komplett zu sein, aber der Anfang ist gemacht, und beim XC8 ist jetzt auch ein AVR Assembler und Compiler dabei. MPLABX und die Compiler gibts für Windows, Linux und MacOS. Das wäre so das nächstliegendste, was es so gibt. Und wenn Du Dir das schon anschaust, kannst Du auch gleich mal PIC24 und dsPIC33 anschauen. Die sind von der Architektur recht nah am AVR dran, aber 16 Bit, schneller, haben bessere Peripherie etc. fchk
"Atmel Studio und die Atmel Tools sind End Of Life und werden nicht mehr weiterentwickelt." Ist das bereits offiziell?
AVRler schrieb: > "Atmel Studio und die Atmel Tools sind End Of Life und werden nicht mehr > weiterentwickelt." > > Ist das bereits offiziell? Nein, dazu ist der Atmel-Support im MPLABX noch zu lückenhaft. Außerdem sind die gerade dabei, die Compiler auf 64 Bit umzustellen. Aber andererseits: Denk doch mal nach, warum Microchip recht viel Geld investiert, um AVR und ARM Support in den XC8 und XC32 Compilern nachzurüsten und warum sie neue ICDs und PICKITs mit mehr Pins herausbringen, wo ein wesentliches Feature ist, dass sie mit den 2 Pins mehr auch ISP, (T/U/-)PDI, SWD und JTAG fahren können. Und der EDBG-Chip im Atmel-ICE ist ein AVR32, und ich weiß nicht, wo sie den noch fertigen lassen. Atmel war ja zuletzt fabless. Und die Lizenzvereinbarung für die Visual STudio Shell wird sicher auch nicht ewig laufen. Die Uhr tickt, das ist sicher. fchk PS: Der Controller im ICD4 ist ein Atmel SAM E irgendwas. So viel mal dazu.
@ Frank Dachte mir schon, dass das nur eine Bauchmeinung ist.
Hier hat jemand geschrieben, dass er avrasm mit der Mplab IDE nutzen kann: Beitrag "MPLAB X IDE v5.40" (avrasm2 kann man auch für Linux runterladen) Keine Ahnung wie er das hingekriegt hat.
Hallo Tom, auch LunaAVR, läuft unter Linux und WinOS, kann man über die IDE als Macroassembler verwenden. https://avr.myluna.de/ Man hat nur etwas andere Voreinstellungen, wie andere Compiler. Siehe z.B. https://avr.myluna.de/doku.php?id=de:asm-registerdefines https://avr.myluna.de/doku.php?id=de:asm-commands https://avr.myluna.de/doku.php?id=de:asm-pp Berichte bitte mal, wenn Du den Einstig gefunden hast.
:
Bearbeitet durch User
Tom schrieb: > 1. Kennt jemand ein Programm womit man die Atmel´s unter Ubuntu ähnlich > wie im Atmel Studio unter einer grafischen Oberfläche programmieren > kann? Wo einem z.B. zumindest ein Fehler im Programmcode schon mal > angezeigt wird...??? Wenn du dich mit dem Vim-Editor anfreunden kannst (aber nicht jeder kann das ;-)): Dessen QuickFix-Feature ist ungefähr das, wonach du suchst. Mit dem GNU-Assembler funktioniert das direkt. Ob es auch mit AVRA geht, hängt vom Format der Fehlermeldungen ab. Man kann das aber ggf. leicht anpassen. Idealerweise sollte das Projekt per Makefile gebaut werden, so dass man direkt Vims make-Kommando verwenden kann. Da die QickFix-Kommandos z.T. etwas umständlich zu tippen sind, sollte man dafür passend zum eigenen Arbeitsablauf Hotkeys definieren. Und wenn man schon dabei ist, kann man sich auch gleich noch Hotkeys fürs Flashen und andere Dinge definieren.
:
Bearbeitet durch Moderator
Uwe S. schrieb: > auch LunaAVR, läuft unter Linux und WinOS, kann man über die IDE als > Macroassembler verwenden. > > Man hat nur etwas andere Voreinstellungen, wie andere Compiler. > > Berichte bitte mal, wenn Du den Einstig gefunden hast. Hallo Uwe S. Dein Vorschlag LunaAVR zu nutzen, ist erst mal total klasse! Nachdem ich mir das Ganze erst mal grob angesehen hatte, war ich eigentlich davon überzeugt, ja genau das isses! Dann habe ich mich damit in den letzen Tagen intensiver damit beschäftigt und muss nun leider mitteilen, das ein ganz wichtiger Punkt nicht funktioniert. Das LunaAVR ist ja eigentlich ein Programm um unter der Programmiersprache "Luna" für Atmel´s MC zu programmieren. Assembler ist zwar möglich, aber ist halt nicht die Hauptsprache des LunaAVR. Assembler geht nur zwischen den Anweisungen "Asm" bis "endAsm". Der Assembler Code der hier reingeschrieben wird, wird auch compiliert und funktioniert auch (wenn er korrekt war!). Jetzt kommt aber das große "ABER". Alles was innerhalb der Anweisung "Asm" und "endAsm" steht, wird aber nicht auf Richtigkeit geprüft! Ich kann hier irgendeinen Quatsch rein schreiben, der mit Assemblersprache überhaupt nichts zu tun hat, und LunaAVR "sagt" - "Check OK". Lediglich die Farbe, in der Befehle, Werte usw. angezeigt werden, ändert sich bei Fehleingaben und währe ein Indiz dafür, wenn etwas nicht passt. Bei einem kleinen Projekt wäre das noch hinzunehmen, aber bei größeren hilft das nicht weiter. Es ist wirklich schade! So ein tolles Programm, wass für Assembler vollkommen ausreichend wäre! Und die tollen Tools die da mit eingebaut sind, die immer eine gute Hilfe wären! Auch meinen AVRMKII Programmer hat es sofort erkannt! Aber leider durch die fehlende Assembler-Code-Prüfung nicht wirklich für die Programmierung in reiner Assemblersprache verwendbar. Sehr sehr schade! Gruß Tom
Yalu X. schrieb: > Wenn du dich mit dem Vim-Editor anfreunden kannst (aber nicht jeder kann > das Nach wem Motto: wenn schon Linux, dann hardcore.. Da aber so gut wie jeder anständige Editor das kann, gibt es zum Glück Alternativen. Und sei es Eclipse ;) Oliver
Frank K. schrieb: > aber der Anfang ist gemacht, und beim XC8 ist jetzt auch ein AVR > Assembler und Compiler dabei. > > MPLABX und die Compiler gibts für Windows, Linux und MacOS. > > Das wäre so das nächstliegendste, was es so gibt. > > Und wenn Du Dir das schon anschaust, kannst Du auch gleich mal PIC24 und > dsPIC33 anschauen. Die sind von der Architektur recht nah am AVR dran, > aber 16 Bit, schneller, haben bessere Peripherie etc. Hallo Frank K. Vor ca. 2 Jahren hatte ich mir mal MPLAB IDE auf Windows installiert, einen PIC Programmer "PICKIT3" organisiert und mit PIC24 schon mal was gemacht. Die 16-Bit PIC´s haben schon bessere Performance, aber die MPLAB IDE konnte mich nicht so richtig überzeugen. Da war Atmel Studio einfacher im Aufbau und Bedienung und die Performance der Atmel´s reichen für meine Projekte vollkommen aus. Aber ich habe gestern MPLAB X 5.40 und die XC8 2.20 auf Ubuntu installiert. Hatte auch den AVR Support von Microchip angeschrieben und gefragt, ob mit dieser Kombination die Programmierung der AVR unter Assembler möglich ist. Die Antwort war sinngemäß "Ich sehe keine Probleme, mit MPLAB X 5.40 und XC8 2.20 einen AVR in Assembler zu programmieren." Ich habe dann gestern Abend noch einen kurzen Test mit MPLAB X gemacht. Allerdings mit negativem Erfolg! Ich konnte zwar einen AVR auswählen, aber wo ich auf die Assembler-Sprache auswählen kann, da habe ich leider nichts finden können. Wenn das jemand liest und weiß, wie das geht, dann schreibe bitte hier die Lösung rein. Danke und Gruß Tom
Tom schrieb: > Tja. Bei meinen ersten "Gehversuchen" mit Ubuntu bzw. Linux, habe ich > schon mehr wie einmal feststellen müssen, das man für jedes noch so > kleine Problem immer viel Zeit und Geduld benötigt, bis man es gelöst > hat. Und manchmal bedarf es auch mehrerer Ansätze... Linux ist halt > anders, hat aber auch seine guten Seiten! So ist es. Lebe damit oder steige wieder zurück auf Windows. Ich sehe das so: Der PC ist mein Werkzeug, es muss für meine Aufgaben seine zwecke erfüllen und out-of-the-Box funktionieren. Beide Betriebssysteme haben ihre Vor- und Nachteile. Wenn du die Symbiose beider Betriebssysteme parallel nutzt, hast du die ultimative Kombo. Die Begründung, Linux sei so mächtig wegen der Shell gilt seit der Windows Powershell nicht mehr, die kann genauso viel.
So würde ich es machen: - AVRASM2.EXE unter wine zum Laufen bringen (nicht Atmel Studio) - mit Makefile arbeiten: assemblieren, AVRdude, etc. - genehmen und mächtigen Editor einsetzen, z.B. EMACS. Der kann an die Fehlerstellen springen und Syntax-Highlighting geht auch => braucht keine Kommandozeile
Oliver S. schrieb: > Yalu X. schrieb: > Nach wem Motto: wenn schon Linux, dann hardcore.. > > Da aber so gut wie jeder anständige Editor das kann, gibt es zum Glück > Alternativen. > > Und sei es Eclipse ;) > > Oliver Danke an dich und auch an alle die mir Tips zu verschiedenen Editoren gegeben haben. Egal ob das Eclipse, Vim oder Emacs sind. Ich habe mir Emacs und Vim ebenfalls schon genauer angesehen. Da benötige ich ja erst einmal mindestens ein halbes Jahr, um die Bedienung und den Umgang damit zu erlernen. Ganz davon abzusehen, wie lange es dann noch dauern würde, bevor ich fähig wäre aus diesen Editoren eine halbwegs funktionierende Software zum Assembler Programmieren hinzubekommen. So viel Aufwand für ein bisschen Assembler und speziell für ein paar private Projekte möchte ich dann doch nicht betreiben. Ich möchte auch gerne noch andere Dinge erledigen, als den ganzen Tag vor der Kiste zu sitzen... :-) Ich versuche es jetzt halt wie geschrieben mit MPLAB X. Wenn das nicht geht, dann muss es halt doch einfach nur AVRA und AVRDUDE über Terminal sein. Dann ist es halt so... Vielen Dank an alle die sich hier sehr freundlich und hilfsbereit beteiligt haben. Ich beende jetzt aber diesen Thread.
Ingo L. schrieb: > Die > Begründung, Linux sei so mächtig wegen der Shell gilt seit der Windows > Powershell nicht mehr, die kann genauso viel. Genauso viel wie was? Soweit ich informiert bin, reicht sie vom Funktionsumfang her nicht mal an die Bash heran, um von den gehobeneren Shells mal gar nicht zu reden. Und von den Möglichkeiten auf OS-Ebene? Dann such’ mal unter Win das /dev-Verzeichnis, um da mal eben was direkt in ein Gerät zu pipen. Es ist ein anderes System, die Userinterfaces sind nur ’n kleiner Teil der Unterschiede. Hat im Übrigen auch nix mit „Mächtigkeit“ zu tun. Allerdings schon mit „Macht“, nämlich der des Users über das System. Das ist bei Win nicht gegeben, auch, wenn sie nun mit der PowerShell einen ernsthaften Schritt in Richtung Usability gemacht haben. Mehr Kontrolle über Systeminterna, oder gar vollständige Transparenz, gibt’s auch damit nicht. Sorry für OT.
Tom schrieb: > Die Antwort war sinngemäß "Ich sehe keine > Probleme, mit MPLAB X 5.40 und XC8 2.20 einen AVR in Assembler zu > programmieren." Ja, aber welche Assembler-Syntax meinen sie da? Darum geht es doch. So wie ich es verstehe, wollen hier viele die gleiche Assemblersyntax benutzen, die in den Datenblättern steht.
Thomas R. schrieb: > - AVRASM2.EXE unter wine zum Laufen bringen arvasm2 für Linux war in einer Vorversion von XC8 dabei. Man muss da nichts emulieren. Es gibt davon eine 32-Bit Linuxversion. Einfach ensprechende XC8-Version (ich glaube XC8 2.10) laden, entpacken und in einem Unterordnder findet man das Programm.
Tom schrieb: > Aber ich habe gestern MPLAB X 5.40 und die XC8 2.20 auf Ubuntu > installiert. Hatte auch den AVR Support von Microchip angeschrieben und > gefragt, ob mit dieser Kombination die Programmierung der AVR unter > Assembler möglich ist. Die Antwort war sinngemäß "Ich sehe keine > Probleme, mit MPLAB X 5.40 und XC8 2.20 einen AVR in Assembler zu > programmieren." So, der Trick ist: 1. Du installierst den XC8 Version 2.1. In der 2.2 ist der avrasm nicht mehr dabei. Du kannst verschiedene Versionen des XC8 parallel installiert haben, die stören sich nicht. 2. Du geht im MPLABX unter Tools/Options (ganz unten) 2.1 Du klickst auf Embedded in der Symbolleiste und darunter dann auf Build Tools. 2.2 Unter der Liste der Compiler klickst Du auf "Add..." Das Base Directory muss auf /opt/microchip/xc8/v2.10/avr/bin stehen, im Feld unten musst Du (GANZ WICHTIG!!!) avrasm2 auswählen. dann ok drücken. Dann wieder ok. SO, jetzt kannst Du ein neues "Standalone Project" anlegen, Deinen 8-Bit AVR angeben, und unter Compiler kannst Du dann avrasm2 auswählen. Dann sollte das alles gehen. fchk
zitter_ned_aso schrieb: > Ja, aber welche Assembler-Syntax meinen sie da? Darum geht es doch. So > wie ich es verstehe, wollen hier viele die gleiche Assemblersyntax > benutzen, die in den Datenblättern steht. Wer die paar Fünfzeiler aus den Datenblättern nicht an die gcc-as-Syntax ngepasst bekommt, bekommt eh kein richtiges Assemblerprogramm zusammmen. Da brauchts dann den ganzen Aufwand nicht. Oliver
Oliver S. schrieb: > Wer die paar Fünfzeiler aus den Datenblättern nicht an die gcc-as-Syntax > ngepasst bekommt So kann man es natürlich auch sehen. Ich meine aber was anderes: Wie kann ein Hersteller für die Datenblätter eine Syntax verwenden, aber für die angebotene IDE - wieder was anderes? Das ist doch einfach nur krank. Oder legt man einem Mercedes die Bedienungsanleitung vom BMW bei?
Die Datenblätter verwenden die Syntax vom Atmel-Assembler, der auch im Atmel Studio steckt. Das passt schon. Oliver
Frank K. schrieb: > So, der Trick ist: Danke für die Anleitung. Ich konnte jetzt zumindest was erfolgreich kompilieren :) Tja, wenn es funktioniert dann haben wir jetzt eine IDE, die auch unter Linux läuft. PS: Die inc-Files waren beim XC8 nicht dabei oder?
zitter_ned_aso schrieb: > PS: Die inc-Files waren beim XC8 nicht dabei oder? doch, die sollten auch da irgenwo sein. Da gibts sogar avrasm2 Verzeichnisse für. fchk
Frank K. schrieb: > SO, jetzt kannst Du ein neues "Standalone Project" anlegen, Deinen 8-Bit > AVR angeben,... Hallo Frank K. DEINE HILFE IST GENAU DAS WAS BENÖTIGT WURDE!!! BESTEN DANK DAFÜR!!! Du hast eine ganz tolle Step by Step Erklärung geschrieben. Ohne diese Erklärung wäre ich niemals darauf gekommen! Und wie du schon gesehen hast, gab es bereits einen anderen User der deine Hilfe auch erfolgreich umsetzen konnte.... zitter_ned_aso schrieb: > Danke für die Anleitung. > > Ich konnte jetzt zumindest was erfolgreich kompilieren :) > > Tja, wenn es funktioniert dann haben wir jetzt eine IDE, die auch unter > Linux läuft. > > PS: Die inc-Files waren beim XC8 nicht dabei oder? Die inc-Files müssen aber auch mit dabei sein. Denn der z.B. .include "m32def.inc" Befehl hat funktioniert ohne weitere Installation. Also ich kann somit nun auch bestätigen, das MPLABX 5.50 mit XC8 2.10 für Assembler Programmierung unter Ubuntu 20.04 funktioniert! Auch befindet sich die Datei AVRASM2 im Verzeichnis /opt/microchip/xc8/v2.10/avr/bin und könnte somit ja auch bestimmt ohne MPLABX über das Terminal genutzt werden. Also eine AVRASM2 für Linux und User die gerne über das Terminal arbeiten. Aber letztendlich ist das Programmieren eines AVR in Assembler über MPLABX, das selbe wie es bereits mit Atmel Studio war. Beides ist halt mit "Kanonenkugeln auf Spatzen geschossen". :-) Aber wenn es doch kein kleines einfaches komplettes Programm zum Assembler Programmieren gibt... OK halt per "make" File und Terminal. OK das wäre dann die Lösung, wenn man sich als W... User mit dem Terminal angefreundet hat... ALso nochmals Besten Dank an Frank K. für die wirklich sehr gute Hilfe. Gruß Tom
Bedanke mich bei allen die hier mitgeholfen haben und möchte auch noch eine kleine Info hinzutragen. Aber erst einmal eine Korrektur: Tom schrieb: > Also ich kann somit nun auch bestätigen, das MPLABX 5.50 mit XC8 2.10 > für Assembler Programmierung unter Ubuntu 20.04 funktioniert! Es ist natürlich die MPLABX Version 5.40 gemeint nicht 5.50! Die zusätzliche Info ist über die möglichen AVR Programmer. Der doch sehr beliebte AVRMKII wird leider vom MPLABX nicht unterstützt. Somit wahrscheinlich auch all die anderen Derivate nicht. Ich konnte nur den "ATMEL ICE" und den "JTAGICE3" in der Liste der möglichen zu aktivierenden Programmer für die AVR´s finden. Ich habe nur noch den JTAGICE3 hier mit dem ich das Ganze ausprobieren konnte. Dieses funktioniert aber sehr gut und einfach. Ich habe keinerlei weitere Software mehr installieren müssen. Einfach den JTAGICE3 anstecken und unter den Properties des Projektes (erster Button im kleinen Fenster/Feld unten links) auswählen. Die Übertragungsgeschwindigkeit war automatisch auf 0,200 MHz gesetzt. Diese lässt sich aber auch durch Eingabe eines anderen Wertes wie z.B. 1.000 auf 1 MHz o.a. ändern. Ich gehe mal davon aus das dieses für den ATMELICE genauso einfach funktioniert. Somit ist MPLABX 5.40 mit XC8 2.10 und Programmer JTAGICE3 eine vollständig funktionierende Programmierumgebung für AVR´s unter Ubuntu 20.04 bzw Linux, wenn man die AVR´s auch in Assembler programmieren möchte. Schönen Gruß an alle Mitwirkenden.
Und: PICKIT4 hat ARM und AVR-Support. Der ICD4 ist hardwaremäßig auch dazu in der Lage, aber hier ist Microchip noch nicht so weit, das dauert noch. PICKIT3 hat nicht die geeignete Hardware und ist nur für PIC ICSP geeignet. fchk
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.