Hallo, ich programmiere meine AVR atmega und attiny mit Assembler in Linux im Terminal mit nano. und die Programme will ich auch im Simulator debuggen. aber das geht irgendwie nicht. ich benutze da simavr und avr-gdb, da meckert der gdb aber beim load Versucht, dass das target nicht flashbar ist. und wenn ich simulavr nehmen will, dann geht das nicht weil der ein .elf file will, aber mein avra spuckt ein .hex file aus. und da sind wohl keine debug symbols drin. mannomann, muss denn alles so elendige Quaelerei sein, wenn man nicht das saubloede Windows nehmen will? nur weil die Herren Softwarehersteller es nicht fuer noetig halten, das Atmel Studio auch fuer Linux zu portieren? und jetzt meine eigentliche Frage: das kann doch eigentlich nicht so schwer sein, das Atmel Studio fuer Linux zu portieren, oder? Weil: das Atmel Studio laeuft doch mit Java, oder? jab ich wo gelesen. und Java ist doch platformunabhaengig! Also muesste es doch auch auf Linux laufen. ok, die ganze Hardware-Erkennungs-Dingenskirchen muesste halt anders sein, aber es gibt ja auch ein Java fuer Linux und ein Java fuer Windows und ein Java fuer Apple zum Downloaden, da sind dann ja wohl die hardware-access des jeweiligen betriebssystems drin, also somit wieder platformunabhaengigkeit gegeben. also warum machen die das Atmelstudio dann nicht fuer Linux? die muessten dann doch nix anders programmieren, sondern nur das Linux-Java reinpacken. oder wie jetzt? ich hab echt keine Lust, jetzt ein riesen Fass aufzumachen, und mir extra ein Windows 10pro fuer 260eur zu kaufen, nur um meine winzigen Microcontroellerchen simuliert zu debuggen. naja, ich wuerde schon auch gerne mal wieder einen guten RC-Flugsimulator zocken, aber das ist ein anderes Thema. und wie ist das denn allgemein so in der Elektroprogrammier-Branche, wenn man da als Programmierer oder Entwickler arbeiten will, da ist doch auch alles mit Programmen, die nur mit Windows laufen, oder? Also wenn ich da mit Linux arbeiten will, habe ich Pech gehabt in dieser Branche, oder? mit Linux arbeiten macht Spass, mit Windows arbeiten ist eine Qual.
:
Gesperrt durch Moderator
Das basiert auf Visual Studio von Microsoft, was aber wiederrum mit Java nichts zu tun hat.
Wenn Du die AVR-Binutils zum Übersetzen benutzt, kommt auch ein .elf raus. Dafür muss aber ggf. der Quelltext angepasst werden, besonders dann, wenn man mehrere Source-Files verwendet. Jörg
Stefan E. schrieb: > das kann doch eigentlich nicht so schwer sein, das Atmel Studio fuer > Linux zu portieren, oder? Doch. Das ist ein gigantisches Software-Paket. Das baut man nicht mal eben schnell komplett um. Stefan E. schrieb: > Weil: das Atmel Studio laeuft doch mit Java, oder? Nein. Das Atmel Studio basiert auf Visual Studio von Microsoft, und deren Absicht ist es wohl kaum, der Konkurrenz (Linux) zu helfen. Ok, mittlerweile ändert sich das etwas (Visual Studio Core), aber Atmel Studio hilft das nicht. Stefan E. schrieb: > da sind dann ja wohl die > hardware-access des jeweiligen betriebssystems drin Java macht gar nix mit Hardware-Zugriffen. Da muss man immer noch betriebssystemspezifische Treiber mitliefern. Stefan E. schrieb: > da ist doch > auch alles mit Programmen, die nur mit Windows laufen, oder? Nö, es gibt auch vieles für Linux. Das ist dann aber oft nicht ganz so Klicki-Bunti wie die Windows-Äquivalente. Android-System-Programmierung z.B. geht nur unter Linux. Stefan E. schrieb: > und wenn ich simulavr nehmen will, dann geht das nicht weil der ein .elf > file will, aber mein avra spuckt ein .hex file aus. und da sind wohl > keine debug symbols drin. Du könntest mir avr-as kompilieren und mit ld linken, dann erhältst du ein ELF File.
Die meisten 8-Bitter werden noch von AtmelStudio 4.x unterstützt, das problemlos unter wine läuft.
Joerg W. schrieb: > Wenn Du die AVR-Binutils zum Übersetzen benutzt, kommt auch ein .elf > raus. Dafür muss aber ggf. der Quelltext angepasst werden Niklas G. schrieb: > Du könntest mir avr-as kompilieren und mit ld linken, dann erhältst du > ein ELF File. danke fuer eure Hinweise, jetz hats endlich geklappt mit avr-as und simulavr und mit google-Suche. unfassbar. hier mal eine kleine example step-by-step Anleitung, falls Andere auch sich damit grade rumkaempfen:
1 | user1@pc1:~/lernen/assembler$ cat atmega8-blink.asm |
2 | #define __SFR_OFFSET 0 |
3 | #include <avr/io.h> |
4 | |
5 | LDI R16, 0xFF |
6 | OUT DDRB, R16 |
7 | OUT PORTB, R16 |
8 | |
9 | HERE: RJMP HERE ; |
10 | |
11 | user1@pc1:~/lernen/assembler$ |
12 | user1@pc1:~/lernen/assembler$ avr-as -gstabs -o atmega8-blink.elf -mmcu=atmega8 atmega8-blink.asm |
13 | user1@pc1:~/lernen/assembler$ simulavr -d atmega8 atmega8-blink.elf -g |
14 | ... |
15 | main.c:415: MESSAGE: Simulating clock frequency of 8000000 Hz |
16 | Waiting on port 1212 for gdb client to connect... |
dann zweites Terminal oeffnen, und dieses hier eintippen:
1 | user1@pc1:~/lernen/assembler$ avr-gdb atmega8-blink.elf |
2 | ... |
3 | (gdb) target remote :1212 |
4 | Remote debugging using :1212 |
5 | ?? () at atmega8-blink.asm:4 |
6 | 4 LDI R16, 0xFF |
7 | (gdb) si |
8 | 5 OUT DDRB, R16 |
9 | (gdb) si |
10 | 6 OUT PORTB, R16 |
11 | (gdb) si |
12 | HERE () at atmega8-blink.asm:8 |
13 | 8 HERE: RJMP HERE ; |
14 | (gdb) i r r16 |
15 | r16 0x0 0 |
16 | (gdb) |
und auch danke fuer die anderen Hinweise. ich glaubs ja nicht, jetz lauft das Debug simulieren echt im Linux Terminal. perfekt. schoen pur und minimalistisch. keep it simple. und zum Hardware-Debuggen ohne Simulator mit jtag oder debugwire kauf mich mir dann am besten noch so einen avr dragon oder avr ice, oder? funktionieren die unter Linux?
Joerg W. schrieb: > Wenn Du die AVR-Binutils zum Übersetzen benutzt, kommt auch ein .elf > raus. Dafür muss aber ggf. der Quelltext angepasst werden, besonders > dann, wenn man mehrere Source-Files verwendet. > > Jörg also dieses Quelltext Anpassen was du sagst, ist das dann immer nur dieses ersetzen oben in der ersten Zeile oder muss dann auch im weiteren Code was geaendert werden? bei meinem minimal example hier hat es gereicht nur das .include vom avra zu ersetzen mit diesem define und include avr/io fuer den avr-as. user1@pc1:~/lernen/assembler$ diff atmega8-blink-avr-as.asm atmega8-blink-avra.asm 1,3c1 < #define __SFR_OFFSET 0 < #include <avr/io.h> < --- > .include "m8def.inc" user1@pc1:~/lernen/assembler$
Warum muss es denn AvrStudio sein? Es gibt sicher auch IDEs auf Linux, Ich hatte früher den AvrGCC mit Eclipse im Einsatz, lief bestens. Oder wenn es was besseres als C sein darf: LunaAVR, gibt es für Linux und Windows. https://avr.myluna.de/doku.php?id=en:start
Mike schrieb: > Ich hatte früher den AvrGCC mit Eclipse im Einsatz, lief bestens. > Oder wenn es was besseres als C sein darf: Stefan E. (attiny45) programmiert in Assembler. Stefan E. schrieb: > Hallo, ich programmiere meine AVR atmega und attiny mit Assembler in > Linux im Terminal mit nano.
Stefan E. schrieb: > danke fuer eure Hinweise, jetz hats endlich geklappt mit avr-as und > simulavr und mit google-Suche. > unfassbar. > > hier mal eine kleine example step-by-step Anleitung, falls Andere auch > sich damit grade rumkaempfen: > > user1@pc1:~/lernen/assembler$ avr-as -gstabs -o atmega8-blink.elf > -mmcu=atmega8 atmega8-blink.asm > user1@pc1:~/lernen/assembler$ simulavr -d atmega8 atmega8-blink.elf -g > ... > main.c:415: MESSAGE: Simulating clock frequency of 8000000 Hz > Waiting on port 1212 for gdb client to connect... Danke für das Beispiel. Bei mir unter Debian Linux erscheinen in der Ausgabe von simulavr (version 0.1.2.2) jede Menge TODOs. Demnach scheint die Entwicklung 2004 in einem Zwischenstand eingestellt worden zu sein. Z.B.
1 | devsupp.c:338: MESSAGE: TODO: attach IO Reg 'TWBR' at 0x0020 |
2 | devsupp.c:338: MESSAGE: TODO: attach IO Reg 'TWSR' at 0x0021 |
3 | devsupp.c:338: MESSAGE: TODO: attach IO Reg 'TWAR' at 0x0022 |
4 | devsupp.c:338: MESSAGE: TODO: attach IO Reg 'TWDR' at 0x0023 |
5 | devsupp.c:338: MESSAGE: TODO: attach IO Reg 'ADCL' at 0x0024 |
6 | devsupp.c:338: MESSAGE: TODO: attach IO Reg 'ADCH' at 0x0025 |
7 | devsupp.c:338: MESSAGE: TODO: attach IO Reg 'ADCSRA' at 0x0026 |
Komplette Ausgabe siehe Anhang simulavr_out.txt. Aktualisierung: Sehe gerade, dass es unter http://savannah.nongnu.org/projects/simulavr deutlich neuere Versionen gibt.
:
Bearbeitet durch User
Wulf D. schrieb: > Die meisten 8-Bitter werden noch von AtmelStudio 4.x unterstützt, das > problemlos unter wine läuft. Das wäre wirklich schön, ist aber leider nicht der Fall. Genau genommen ist es vollkommen unbenutzbar, weil die lausige Programmierung des AtmelStudio (C++ & MFC) mit der genauso lausigen Programmierung von Wine (auch wieder C++) massiv kollidiert, was zu derartig gräßlichen Grafikartefakten führt, dass die Sache halt schlicht nicht benutzbar ist. Naja, diese Aussage bezieht sich natürlich vor allem auf den Editor, ist also für Leute relevant, die selber aktiv programmieren... Um nur mal irgendwas im Simulator laufen zu lassen, mag das Konstrukt möglicherweise reichen...
c-hater schrieb: > mit der genauso lausigen Programmierung von Wine (auch wieder C++) Welche Windows-Implementation für Linux ist denn sauberer implementiert, und in welcher Sprache?
Niklas Gürtler schrieb: > c-hater schrieb: >> mit der genauso lausigen Programmierung von Wine (auch wieder C++) > > Welche Windows-Implementation für Linux ist denn sauberer implementiert, > und in welcher Sprache? Das wüsste ich auch gerne. Wenn es das gäbe, bräuchte ich endlich kein Windows mehr. Ich warte allerdings schon ~25 Jahre auf diese ultimative Lösung, bisher leider Fehlanzeige...
Es gibt doch MPLAB X IDE. Der Compiler XC8 (Version 2.05) hat auch "arvasm2" dabei. Unter Linux.
1 | /opt/microchip/xc8/v2.05/avr/bin/avrasm2 |
2 | AVRASM: AVR macro assembler 2.2.7 (build 69 Jul 26 2017 16:33:55) |
3 | Copyright (C) 1995-2017 ATMEL Corporation |
4 | |
5 | usage: avrasm2 [options] file.asm |
6 | |
7 | Type 'avrasm2 -h' for help. |
Allerdings läuft er wohl nur über die Konsole. In der IDE kann ich den nicht auswählen. Vielleicht ändert sich das in der Zukunft. (ist ja noch alles beta) https://www.microchip.com/mplab/compilers
>Das wüsste ich auch gerne. Wenn es das gäbe, bräuchte ich endlich kein >Windows mehr. > >Ich warte allerdings schon ~25 Jahre auf diese ultimative Lösung, bisher >leider Fehlanzeige... Für das bischen Windows das ich unter Linux (noch) brauche reicht Wine längstens, ältere Programme laufen sogar besser und schneller als unter Windows-10
Peter S. schrieb: > Für das bischen Windows das ich unter Linux (noch) brauche reicht Wine > längstens, ältere Programme laufen sogar besser und schneller als unter > Windows-10 weisst du zufaellig, was das sein kann, ich will mit wine den fms RC-Flugsimulator starten, aber da sagt er 3d device not found, oder sowas. also dieser hier: https://modelsimulator.com/down.html https://modelsimulator.com/alpha/fms2alpha85.exe
Peter S. schrieb: > Für das bischen Windows das ich unter Linux (noch) brauche reicht Wine > längstens, ältere Programme laufen sogar besser und schneller als unter > Windows-10 Nunja, es ging aber nunmal ganz konkret um das AVRStudio4. Und das läuft nunmal unter Windows10 problemlos, unter Wine aber nur mit extremen Grafikartefakten, also praktisch unbrauchbar. Übrigens war das vor Jahren schonmal besser, da waren die Artefakte noch einigermaßen erträglich. Ich rede hier über aktuelle Inkarnationen von Wine. Da kannst du dir deine Welt zusammenfantasieren, solange du willst. In der Praxis zählen allein Fakten.
>weisst du zufaellig, was das sein kann, ich will mit wine den fms >RC-Flugsimulator starten, aber da sagt er 3d device not found, oder >sowas. Zu den Fakten: Der fms RC-Flugsimulator läuft bei mir auch nicht unter Wine => Memory access violation!
> Peter S. schrieb: > Nunja, es ging aber nunmal ganz konkret um das AVRStudio4. Und das läuft > nunmal unter Windows10 problemlos, unter Wine aber nur mit extremen > Grafikartefakten, also praktisch unbrauchbar. > Ich nutzer auf einem älteren Asus-Notebook (B50A) ein betagtes Ubuntu 14.4.5 LTS mit wine 1.6.2. Da drin läuft AtmelStudio 4.19. Graphik-Artefakte sehe ich nur höchst selten. Stört nicht. Nervig ist nur der fehlende USB-Support, muss meinen JTAGICE mkII mittels serieller Schnittstelle und separatem Netzteil anschließen.
Wulf D. schrieb: > Ich nutzer auf einem älteren Asus-Notebook (B50A) ein betagtes Ubuntu > 14.4.5 LTS mit wine 1.6.2. Hihi, der Support dafür endet noch vor dem für Windows7... Und übrigens: auch bei dieser Version sind die Grafikartefakte schon recht störend. Aber nicht so schlimm, dass die Sache dadurch unbenutzbar würde. Heute aber, mit aktuellen Versionen von Wine ist das definitiv der Fall. Du wirst es ja bald selber erleben. Fazit: Ist schon cool, wenn man auch Windows hat. Kann man immer die beste Software aus beiden Welten benutzen und braucht sich nicht mit Scheiße wie Wine auf der einen oder mingw auf der anderen Seite rumzuärgern, sondern kann sich immer einfach auf das konzentrieren, was man eigentlich tun wollte...
Mike schrieb: >>weisst du zufaellig, was das sein kann, ich will mit wine den fms >>RC-Flugsimulator starten, aber da sagt er 3d device not found, oder >>sowas. > > Zu den Fakten: Der fms RC-Flugsimulator läuft bei mir auch nicht unter > Wine => Memory access violation! ok, danke fuers Testen. ich hab mir jetz einfach paar Windows Lizenzen gekauft, weil die rc-Flugsimulator Spielsucht gesiegt hat. habe naemlich zufaellig entdeckt, dass man die Windows Lizenzen im Internet ganz legal in deutschen Shops zu einem Bruchteil des Preises kaufen kann. ich habe da eine Win10pro Lizenz fuer 30eur bekommen. unglaublich, weil das kostet normal 260eur, halt mit dvd und Schachtel...wers braucht... und win7pro fuer 20eur und win7pro fuer 10eur. also nur Lizenzen Keys per Email und iso selber downloaden und auf dvd brennen. auf usb stick speichern bootet nicht. windows halt. bei Linux geht das schon ewig, iso auf usbstick und booten. dieses avr studio 7 hab ich mir dann auch mal installiert im neuen Windows, o mein Gott, was fuer ein ueberladenes Teil. da bleib ich lieber im Linux Terminal. da is alles schoen uebersichtlich und aufgeraeumt. aufs wesentliche reduziert. und man weiss immer genau was man tut und welche Befehle eigentlich ablaufen. ohne klickibunti.
Alles klar! Bis man mal einen Key erwischt, der schon gesperrt ist Wenn dir jemand einen geklauten Fernseher verkauft, wird der auch funktionieren. Kaufst du ihn dann auch bedenkenlos, obwohl du weißt, dass es Hehlerware ist?
soundgott schrieb: > Alles klar! > Bis man mal einen Key erwischt, der schon gesperrt ist > Wenn dir jemand einen geklauten Fernseher verkauft, wird der auch > funktionieren. Kaufst du ihn dann auch bedenkenlos, obwohl du weißt, > dass es Hehlerware ist? ich konnte es auch nicht glauben, hab mich erst informiert, ob das echt legal ist. also kann es keine Hehlerware sein. google halt mal, dann wirst du es sehen dass es ok Ware ist. schau doch selber nach, das wurde sogar von chip.de empfohlen. lizenzfuchs.de vollversion-kaufen.de softwarebilliger.de bei denen 3en hab ich die Dinger gekauft, also deutsche Internetshops. https://www.chip.de/news/Windows-Key-online-kaufen-Windows-10-Pro-Lizenzen-fuer-unter-13-Euro_92344990.html Zitat: "Es erreichen uns übrigens immer mal wieder Leser-Hinweise auf nicht funktionierende Keys einiger Händler. Da die Zahl der Nutzer, bei denen die gekauften Keys funktionieren, jedoch weit größer ist, würden wir nicht generell vom Key-Kauf abraten."
Hallo, wegen AVR und Linux. Du könntest unter Linux die MPLAB X IDE verwenden. https://www.microchip.com/mplab/mplab-x-ide
Stefan E. schrieb: > lizenzfuchs.de > vollversion-kaufen.de > softwarebilliger.de Diese Händler verkaufen Volumenlizenzen einzeln als "gebrauchte Software". Soviel ich verstanden habe, ist das nach deutschem Recht wohl legal, lasse mich aber gerne belehren. Dabei haben dann zum Beispiel 500 Lizenzen denselben Key. Deshalb können die Händler dann 500 mal denselben Key einzeln verkaufen. Solange die Käufer ehrlich sind, funktioniert das auch. Manche kaufen aber nur eine Lizenz, installieren diese aber dann N-mal auf verschiedenen Rechnern, weil sie wissen, dass das Volumen-Lizenz-Keys sind. Wenn jetzt die Software insgesamt 500 mal installiert wurde, obwohl der Händler den Key nur an 490 Käufer einzeln verkauft hat, schaut der 491ste Käufer in die Röhre: Der erworbene Key ist dann unbrauchbar geworden. In der Regel reicht eine Info an den Händler, der rückt dann einen Key aus der nächsten Volumenlizenz raus. Das muss er dann mit einkalkulieren.
:
Bearbeitet durch Moderator
Stefan E. schrieb: > Weil: das Atmel Studio laeuft doch mit Java, oder? jab ich wo gelesen. > und Java ist doch platformunabhaengig! Klar. Deshalb kann man ja Android-Apps auch einfach so ohne Emulator direkt auf jedem beliebigen System laufen lassen. Die sind schließlich auch in Java geschrieben. Stefan E. schrieb: > ich konnte es auch nicht glauben, hab mich erst informiert, ob das echt > legal ist. also kann es keine Hehlerware sein. Das klingt wie ein Satz aus einer SPAM-Mail.
:
Bearbeitet durch User
Beitrag #6256033 wurde von einem Moderator gelöscht.
Beitrag #6256041 wurde von einem Moderator gelöscht.
Beitrag #6256048 wurde von einem Moderator gelöscht.
Beitrag #6256054 wurde von einem Moderator gelöscht.
Beitrag #6256064 wurde von einem Moderator gelöscht.
Beitrag #6256067 wurde von einem Moderator gelöscht.
Beitrag #6256079 wurde von einem Moderator gelöscht.
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.