Forum: Compiler & IDEs Atmel Studio 7 Linux


von Stefan E. (attiny45) Benutzerseite


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.

: Gesperrt durch Moderator
von devzero (Gast)


Lesenswert?

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

von Joerg W. (joergwolfram)


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

von Niklas G. (erlkoenig) Benutzerseite


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.

von Wulf D. (holler)


Lesenswert?

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

von Stefan E. (attiny45) Benutzerseite


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

von Stefan E. (attiny45) Benutzerseite


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$

von Mike (Gast)


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

von Alexander S. (alesi)


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.

von Alexander S. (alesi)


Angehängte Dateien:

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.
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
von c-hater (Gast)


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

von Niklas Gürtler (Gast)


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?

von c-hater (Gast)


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

von zitter_ned_aso (Gast)


Lesenswert?

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

von Peter S. (psavr)


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

von Stefan E. (attiny45) Benutzerseite


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

von c-hater (Gast)


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.

von Mike (Gast)


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!

von Wulf D. (Gast)


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.

von c-hater (Gast)


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

von Stefan E. (attiny45) Benutzerseite


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.

von soundgott (Gast)


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?

von Stefan E. (attiny45) Benutzerseite


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

von Veit D. (devil-elec)


Lesenswert?

Hallo,

wegen AVR und Linux. Du könntest unter Linux die MPLAB X IDE verwenden.
https://www.microchip.com/mplab/mplab-x-ide

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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
von Rolf M. (rmagnus)


Lesenswert?

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.