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