Forum: Mikrocontroller und Digitale Elektronik gui für avr


von glang (Gast)


Lesenswert?

Hallo zusammen?
Wer hat gute Erfahrungen gemacht mit einer gui für Atmels unter Linux.
Ich dachte an kdevelop oder ähnlich.
Gibt es eine gute Anleitung wie man die gui einrichtet?
Ich habe bis jetzt mit avr studio unter windoof gearbeitet. Möchte das
aber unter Linux machen.
Habe bis jetzt nur mit assembler hantiert. Möchte aber mit c Anfangen.
Für alle guten Tips bin ich sehr dankbar.

von Ppp M. (sanic)


Lesenswert?

Bei den ARMs habe ich eBook gelesen, wie man Eclipse mit dem gcc
vertraut macht ( unter Windows ).
Vielleicht geht das ja bei Linux auch.
Das eBook findest du hier:
http://www.hitex.co.uk/arm/lpc2000book/index.html

Grüße

von glang (Gast)


Lesenswert?

Danke Patrick.
eclipse für Linux (Debian unstable) habe ich gefunden.
Ich muß es aber erst mal ausprobieren. Das wird aber noch etwas
dauern.

Hat sonst noch jemand Erfahrungen gemacht?

von Fritz G. (fritzg)


Lesenswert?

Ich nehme Anjuta, gefällt mir besser als der KDE-Kram.
Das einzige was du machen musst:

Dein vorhandenes Makefile und die .c und .h Dateien die du schon hast
in ein neues Verzeichnis kopieren, dann Anjuta ein Projekt importieren
lassen (als generische Konsolenprojekt) , und fertig ist es.

Eigentlich kommt man mit Anjuta recht schnell klar, es ist schnell,
kann CVS usw.

von Fritz G. (fritzg)


Angehängte Dateien:

Lesenswert?

Achja, man kann natürlich schön von Fehler zu Fehler springen, hab extra
einen eingebaut, siehe Screenshot :-)

von glang (Gast)


Lesenswert?

Hallo Fritz!
Ich danke dir!
Unter Debian habe ich die Pakete anjuta gesehen. Ich benutze zwar KDE,
aber das sollte auch mit KDE kein Problem sein hoffe ich.
Dein screenshot sieht gut aus. Wie programmierst du den? Mit uisp oder
avrdude....
Wie machst du das mit debuggen bzw. simulieren?
Du merkst, ich frage viel weil ich nichts bisher ausprobiert habe.
mfg Greg Lang

von Fritz G. (fritzg)


Lesenswert?

Avrdude, mit dem normalen Makefile muss ich halt in der Konsole "make
program" machen.

Ich hab auf (fast) allen Schaltungen RS232 rausgeführt und in einem
seriellen Kabel im Stecker ein Maxerl als Pegelwandler drin. Daher mach
ich das Debugging mit sprintf und usart_puts.

Ich hab auch einen ICE-Debugger hier, aber das dauert viel länger beim
entwickeln als mit der printf Ausgabe. Dank dem guten Wünschjörg geht
auch der MK-II.

Den ICE kannst z.B. mit avr-gcc oder avr-insight benutzen. Es sei denn
du willst optimierten Code debuggen, dann sorgt Murphy dafür dass genau
die Variable du du brauchst nicht im RAM steht sondern nur im Register.
Und dann kannst du sie nicht ansehen.

Eigentlich muss ich ganz selten "richtig" debuggen, meist brauch ich
die  Ausgabe nur zum Überprüfen der Messwerte, Berechnungen usw.

von Mark H. (haemi)


Lesenswert?

Salve,

hab mich hier ja schon des öfteren für Anjuta ausgesprochen und bleibe
auch dabei. :) Auch das Springen zu gesetzten Bookmarks ist praktisch
wenn man mal eben an einer anderen Stelle was ändern will, aber dann
zurück an die aktuelle Position will.

Noch ein Tip:
Als install-Target ins Makefile den avrdude bzw. uisp-Aufruf stellen
und für den Menüeintrag "Build / Install" einen netten Shortcut
festlegen, sowas wie Ctrl+F11. Das geht so (allgemein für Gnome):
gconf-editor starten, den Key
"desktop/gnome/interface/can_change_accels" auf enabled stellen - und
dann ganz einfach über den zu ändernden Menüeintrag in irgendeiner
Gnome-Anwendung(!) hovern und den gewünschten Hotkey drücken. Ich
finde, das ist ein absolut geniales Feature. Macht sich halt gerade bei
Anjuta gut, weil das "make install" dort verständlicherweise keinen
Hotkey hat. Für Crosscompiling (AVR oder Palm) ist es aber sehr
nützlich, diese Funktion schnell griffbereit zu haben. Genauso wie die
Bookmark-Navigation, eigentlich.

Mark

von Hubert (Gast)


Lesenswert?

Meine Güte, dann soll mir mal einer sagen, Windows wäre Buntiklicki.
Anjuta schießt ja echt den Spatz auf der Leine ab. Eclipse kommt auch
nicht in Frage, denn der Start dieser "Software" dauert länger als
das Hochfahren von Windows.

von glang (Gast)


Lesenswert?

Hallo Fritz!
Kannst du mir ein Makefile rüberposten!
Ich schrieb ja schon. Ich bin Totalanfänger.
Debuggen mit sprintf und usart_puts. Kannst du mir da etwas genaueres
schreiben? Ich weiß nichtmal was das ist.

Hallo Mark!
Ich bedanke mich auch bei dir!
Hast du vielleicht auch ein makefile für mich? Das liest sich sehr
interessant.

Hallo Hubert!
Ist der eclipse so riesig das der PC so lange braucht?
Aber ich sehe schon das anjuta favorisiert ist.
Ich danke dir.

mfg Greg Lang

von Fritz G. (fritzg)


Lesenswert?

Das Makefile kannst du mit mfile erstellen, ist glaub ich bei der
avr-libc dabei.

Ich hab von irgendwoher die usart.c und usart.h, dann sieht es bei mir
so aus:

sprintf (string80, "%d %d %d\n", k, peaks[k], gleit[k]);
usart_puts (string80);


string80 ist z.b. char string80[80];

Hmm, da wollt ich noch was probieren....

von Mark H. (haemi)


Lesenswert?

Salve,

@glang:
das sind z.B. Ausschnitte vom Makefile meines Dimmers. Das komplette
findest Du in der Firmware auf http://semitone.sf.net/diamond/ .

----8<----

BINDIR          = bin
BASENAME        = semitone_diamond
MCU_TARGET      = atmega32
MCU_AVRDUDE     = m32
PROGRAMMER      = avr910

# @glang: dieses target lädt die firmware in den controller
install: $(BINDIR)/$(BASENAME).bin
        avrdude -c $(PROGRAMMER) -p $(MCU_AVRDUDE) -U
flash:w:$(BINDIR)/$(BASENAME).bin:r

# @glang: "make setup" muß man für einen neuen controller einmalig
aufrufen, damit die fuses konfiguriert werden
setup:
        avrdude -c $(PROGRAMMER) -p $(MCU_AVRDUDE) -e
        avrdude -c $(PROGRAMMER) -p $(MCU_AVRDUDE) -U hfuse:w:0xC1:m -U
lfuse:w:0x9F:m
        avrdude -c $(PROGRAMMER) -p $(MCU_AVRDUDE) -e

----8<----

@Hubert: Dir ist Anjuta zu bunt? Zuviele praktische Buttons? Zuviele
Features? Tja, wenn Du keine Lust hast, sie abzustellen und/oder
unnötige Toolbars auszublenden, dann kann ich Dir auch nicht
weiterhelfen... ich meine, ein bißchen guter Wille gehört schon dazu.
Out-of-the-box ist wohl keine Anwendung genau so konfiguriert, wie man
sie am liebsten hätte. Ich habe die Features von Anjuta sehr zu
schätzen gelernt. Für den 1024x768 Notebook-Bildschirm (eine alte
600MHz-Maschine, und ich kann mich performancemäßig nicht über Anjuta
beklagen) mußte ich die eine oder andere selten benutzte Toolbar
natürlich ausblenden. Mit Ctrl-Scrollrad kann man auch die Schriftgröße
schnell mal ändern.
Gib dem Programm ne Chance. :)

Mark

von Fritz G. (fritzg)


Lesenswert?

So, habs das probiert was ein Mann immer schon probieren wollte:
1
  fdevopen (usart_putc,  usart_getc, 0);
2
  printf ("Fritz ist klug!\n");

funktioniert genauso. Siehe avr-libc-Doku.
Dann erspart man sich das herumgetue mit sprintf und danach usart_puts.

von Fritz G. (fritzg)


Lesenswert?

>Mit Ctrl-Scrollrad kann man auch die Schriftgröße
>schnell mal ändern.

Das sagst du mir erst jetzt?

Sag mal, frisst bei dir der X-Server über die Tage hinweg auch viel
Speicher wenn mit Anjuta tagelang mit vielen Files gearbeitet wird?

von Mark H. (haemi)


Lesenswert?

Salve,

@Fritz:
>>Mit Ctrl-Scrollrad kann man auch die Schriftgröße
>>schnell mal ändern.
>Das sagst du mir erst jetzt?

Ja, war dumm von mir. Entschuldige. Ich hätte es Dir wirklich früher
sagen sollen... ;) Daß man die Schriftgröße allgemein einstellen kann,
wußtest Du aber hoffentlich.

Das mit dem X-Server hab ich so noch nicht beobachtet. Ich hab nicht
soo viele Dateien offen. Also nicht mehr als 10 oder 12 gleichzeitig.
Das Notebook leg ich eigentlich auch immer nur schlafen (also hohe
uptimes). Aber mangels RAM beende ich Anjuta sowieso meistens wenn ich
länger was anderes mache. Das merkt sich den Zustand ja ausreichend
genau.

Mark

von Daniel S. (danst0)


Angehängte Dateien:

Lesenswert?

Hi,

ich versuche gerade Anjuta unter Linux zum laufen zu bringen. Vieleicht
könnte mir hier jemand behilflich sein. Ich hab gerade eines meiner
Projekte importiert und versucht es zu kompilieren (Option mit
Makefile)
Dabei bekomme ich den Fehler "Mehrfache Target Muster".
Leider bin ich ein bisschen neu unter Linux und weiß nicht weiter...
Woher weiß eigentlich Anjuta welchen Compiler (normal gcc oder avr gcc)
es nehmen soll?

Vielen Dank,

Daniel

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
Noch kein Account? Hier anmelden.