mikrocontroller.net

Forum: Compiler & IDEs Atmel Studio 7 Linux


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Stefan E. (attiny45) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

: Bearbeitet durch User
Autor: devzero (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das basiert auf Visual Studio von Microsoft, was aber wiederrum mit Java 
nichts zu tun hat.

Autor: Joerg W. (joergwolfram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Niklas G. (erlkoenig) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Wulf D. (holler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die meisten 8-Bitter werden noch von AtmelStudio 4.x unterstützt, das 
problemlos unter wine läuft.

Autor: Stefan E. (attiny45) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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:
user1@pc1:~/lernen/assembler$ cat atmega8-blink.asm
#define __SFR_OFFSET 0
#include <avr/io.h>

LDI R16, 0xFF
OUT DDRB, R16
OUT PORTB, R16

HERE: RJMP HERE ; 

user1@pc1:~/lernen/assembler$ 
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...
dann zweites Terminal oeffnen, und dieses hier eintippen:
user1@pc1:~/lernen/assembler$ avr-gdb atmega8-blink.elf
...
(gdb) target remote :1212
Remote debugging using :1212
?? () at atmega8-blink.asm:4
4  LDI R16, 0xFF
(gdb) si
5  OUT DDRB, R16
(gdb) si
6  OUT PORTB, R16
(gdb) si
HERE () at atmega8-blink.asm:8
8  HERE: RJMP HERE ; 
(gdb) i r r16
r16            0x0  0
(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?

Autor: Stefan E. (attiny45) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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$

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Alexander S. (alesi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Alexander S. (alesi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.
devsupp.c:338: MESSAGE: TODO: attach IO Reg 'TWBR' at 0x0020
devsupp.c:338: MESSAGE: TODO: attach IO Reg 'TWSR' at 0x0021
devsupp.c:338: MESSAGE: TODO: attach IO Reg 'TWAR' at 0x0022
devsupp.c:338: MESSAGE: TODO: attach IO Reg 'TWDR' at 0x0023
devsupp.c:338: MESSAGE: TODO: attach IO Reg 'ADCL' at 0x0024
devsupp.c:338: MESSAGE: TODO: attach IO Reg 'ADCH' at 0x0025
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
Autor: c-hater (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: Niklas Gürtler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: c-hater (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: zitter_ned_aso (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt doch MPLAB X IDE. Der Compiler XC8 (Version 2.05) hat auch 
"arvasm2" dabei. Unter Linux.
/opt/microchip/xc8/v2.05/avr/bin/avrasm2 
AVRASM: AVR macro assembler 2.2.7 (build 69 Jul 26 2017 16:33:55)
Copyright (C) 1995-2017 ATMEL Corporation

usage: avrasm2 [options] file.asm

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

Autor: Peter S. (psavr)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
>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

Autor: Stefan E. (attiny45) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: c-hater (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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!

Autor: Wulf D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: c-hater (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: Stefan E. (attiny45) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: soundgott (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Stefan E. (attiny45) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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."

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.