Hallo Forum,
ich habe eine Frage an euch. Ich habe die ganze Zeit bei mir zu Hause
mit einem IAR- Dongle meiner Firma gearbeitet. (IAR Embedded Workbench
vor AVR) Naja dieser wird jetzt allerdings benötigt und ich muss mich um
eine alternative kümmern. Habe dazu auch schon viel im Netz gesucht. Es
gibt bestimmt einige Möglichkeiten. Es gibt aber etwas was ich sehr
wichtig finde und ich nicht weiß bei welcher Software ich das auch
finde.
Wenn man in IAR z.B. mit der rechten Maustaste auf einen Funktionsaufruf
geklickt hat, konnte man direkt zu diesem Aufruf springen. Das ist super
hilfreich!
Ich weiß das es von IAR auch eine Kick-start Version gibt aber die ist
auf 4k begrenz und das ist bei mir zu wenig. Gibt es denn da nicht noch
eine andere Möglichkeit? Wieso gibt es denn da keine Abstufung auf z.B.
8k oder so für etwas weniger Geld wie die Vollversion? Wenn man einmal
damit gearbeitet hat kommt man schwer davon los!
Hat von Euch jemand einen Tip?
Viele Grüße,
IAR’ler
Najaaa...hab mit IAR für den MSP430 gearbeitet. Aber dann auf Eclipse
und GCC umgestiegen. Eclipse bietet einfach wesentlich mehr Komfort und
Möglichkeiten. Und gerade für den AVR gibts doch ein tolles
Eclipse-PlugIn, wo auch der Debugger richtig gut unterstützt wird. Um
bei deinem Beispiel zu bleiben: Wenn du die Maus etwas länger auf dem
Funktionsaufruf lässt, kommt ein kleines PopUp, was die ersten Zeilen
der Funktion anziegt, wenn du dann mit der Maus auf das Poup gehst, wird
es zu einer Editor-Box erweitert, mit Scrollen, bearbeiten usw. Von den
tausenden PlugIns, die das Leben erleichtern mal ganz abgesehen. Und der
GCC ist völlig kostenlos, also lohnt sich der Umstieg.
Hallo zusammen,
danke erstmal für eure Infos!
Ich muss ja zugeben dass die Software gar nicht so schlecht aussieht.
Wie ist denn das aber mit dem debuggen? Ich habe bei IAR einfach auf
kompilieren gedrückt und dann mit AVR-Studio den Controller geladen und
anschließen damit dann auch debuggen können. Wie läuft denn das bei
eclipse? Ich habe etwas von „avr-gdb“ gelesen. Kann man dann kein (ich
glaube .90 oder so) file für AVR-Studio erzeugen? Ich habe zwar unter
einem Link des AVR Eclipse-Tutorial "Anleitung zum Debuggen mit Eclipse
unter Windows" gelesen das es irgendwie gehen soll aber das sieht schon
sehr kompliziert aus!
Viele Grüße :o)
Wenn man alles richtig konfiguriert hat, muss man nur auf den Käfer in
der Symbolleiste drücken, dann wird das Programm kompiliert, per JTAG
auf den Prozessor geladen und die Debug-Perspektive geöffnet, der
Prozessor bei main() angehalten, und alle Register und die nächsten x
Bytes herunter geladen und angezeigt. Allerdings muss man fairerweise
dazu sagen, dass die Konfiguration etwas aufwendiger ist, als setup.exe
ausführen. Du musst halt die ganze Toolchain in Eclipse einbinden, also
GCC, GDB und den JTAG-Proxy....avarice heißt der glaube. Wenn das aber
einmal getan ist, gehts wunderbar. Das PlugIn von Thomas Holland nimmt
dir jede Menge Arbeit ab.
Christian R. schrieb:
>Wenn man alles richtig konfiguriert hat,.....
Ja das ist der Nachteil an Eclipse + Plugins, die Konfiguration ist kein
Kinderspiel, aber danach ist es so ziemlich unschlagbar. Und das für
lau.
Joachim
Ich habe noch ne Frage! :o)
Wie sieht es denn mit Fehlermeldungen aus? Ich meine wenn ich im Code ne
Fehler habe. Wie wird der angezeigt? (vielleicht mit
Verbesserungsvorschlag g)
Nein im ernst! Bekomme ich nur ne Meldung das etwas nicht stimmt oder
auch warum ein Fehler existiert?
Danke für eure Antwort!
Viele Grüße,
Na sicher doch. Eclipse ist eine vollwertige IDE für alle möglichen
Sprachen. Fehler zeigt der sogar gleich während des Schreibens an, wenn
man das will. Da wirds sofort rot unterstrichen. Oder eben die vom
Compiler, dann auch direkt mit Markierung im Quelltext.
Ich suche nach Gründen aber bald finde ich keine mehr ;o)
Wenn ich Heim komme werde ich wirkich mal das ganze ausprobieren! Bin
echt sehr gespannt!
Danke erstmal an euch alle!! Wer dann noch ein feedback geben!
Bis dahin euch ein schönes Wochenende...
viele Grüße,
IAR'ler schrieb:
>Wenn ich Heim komme werde ich wirkich mal das ganze ausprobieren!
Nimm dir wirklich Zeit zum installieren und konfigurieren oder du bist
enttäuscht. Es läuft nicht nach 3-mal "Install" klicken. Ich habe dir ja
den Link zum Manual vom AVR-Plugin zu Eclipse gepostet. Schön daran
halten und alles wird gut ;-)
Gruß Joachim
IAR'ler wrote:
> Ich suche nach Gründen aber bald finde ich keine mehr ;o)>> Wenn ich Heim komme werde ich wirkich mal das ganze ausprobieren!
Das arme Wochenende. Jetzt ist es futsch. Hoffentlich gibts keinen Ärger
mit der Chefin des Hauses ;)
Um hinter die Denkweise von Eclipse zu steigen, brauchts schon paar
Tage.
Chefin ist dieses WE auser Haus biggrins
Hilfe, ich habe alles installiert. Klappt bis jetzt auch aber ich habe
beim starten von Eclipse den Hacken beim geöffneten Fenster rein
gemacht. (beim öffen nicht mehr nachfragen) Wie blöd von mir!!!! jetzt
werden alle Projekte unter:"C:\Dokumente und Einstellungen......"
abgespeichert. Das will ich aber nicht!! :o( Das kann man bestimmt
wieder deaktivieren, aber wo?? Weiß von euch jemand wo??
Das kommt davon wenn man zu "hodisch" ist >LOL<
Viele Grüße,
Hallo zusammen,
also ich bin schon beeindruckt von Eclipse. Hätte ich nicht gedacht! Ich
kann jetzt bereits mit meinem STK500 und ein JTAG-ICE- Nachbau meinen
Mega16 programmieren. Komischerweise klappt es nicht mit de JTAG ICE
MKII! Was auch noch nicht klappt ist das debuggen :o( Das will ich noch
unbedingt hin bekommen. Ich habe nicht all so viele Hilfe im Netz
gefunden!
Gibt es für WINAVR auch so ein Art Befehlshandbuch? Bei manchen Sachen
muss ich mich schon umgewöhnen. Z.B. bei IAR ging es so:
[while(!(UCSRA_UDRE));] bei WINAVR geht das so [while(!(UCSRA &
(1<<UDRE)) );] Darauf muss man erst mal kommen! Aber so lernt man ja
automatisch wieder etwas neues dazu gg
Viele Grüße,
Hallo zusammen,
ich habe es gestern Mittag geschafft alles zum laufen zu bekommen. Ich
muss ehrlich gestehen dasss ich sehr beeindruckt bin. Es war echt ne
lange "fummelarbeit" aber jetzt wo alles läuft bin ich echt sehr
zufrieden.
Eine Frage habe ich aber noch...
Kann der Compiler irgendwie ein "mapfile" anzeigen lassen? Ich würde
gerne den Assembler- Code anschauen! Gibt es diese Möglichkeit??
Viele Grüße und danke nochmal an die tollen, hilfreichen Tipps :o)
>Kann der Compiler irgendwie ein "mapfile" anzeigen lassen? Ich würde>gerne den Assembler- Code anschauen! Gibt es diese Möglichkeit??
Du verwexelst da was. Mapfile wird vom Linker erzeugt und enthält
die Programmadressen.
Der Compiler kann ein Listfile erzeugen, das den Assemblercode
u. ggfs. auch den C-Code enthält.
Betreffende Compiler- und Linkeroptionen in der WiNAVR Doc.
nachschauen und in den Eclipse Project Properties oder
im Makefile, falls Du eines benutzt nachschlagen.
> Gibt es für WINAVR auch so ein Art Befehlshandbuch? Bei manchen Sachen> muss ich mich schon umgewöhnen. Z.B. bei IAR ging es so:> [while(!(UCSRA_UDRE));] bei WINAVR geht das so [while(!(UCSRA &> (1<<UDRE)) );] Darauf muss man erst mal kommen! Aber so lernt man ja> automatisch wieder etwas neues dazu gg
Ich kenn die IAR-Umgebung nicht so gut, aber ich bin sicher es steckt
das gleiche dahinter: ein Headefile mit den Definitionen einer C-Library
für den AVR...
Leider gibt es nicht nur beim AVR (sondern auch auch bei ARM, XC2000,
Trcore, MSP430, ... Toolpakete) unterschiedlicher Implementierung der
zur verfügung gestellten Bibliotheken (Library-Files) und
Registerdefinitionen bzw. Codevereinfachungen. Hat aber nix mit WinAVR,
Eclipse oder GCC an sich zu tun.
Abhilfe: Du kannst
a) versuchen aus der IAR-Umgebung diese(s) Headefile(s) zu finden (ist
hinter eines/mehreren der #includes Deines C-Codes) und daraus ein
eigenes Headerfile mit den ganzen #defines stricken, die Du brauchst.
Beim obigen Beispiel reicht ein
// Headerfile for IAR compatibility
#ifdef _GNUC_
#define UCSRA_UDRE UCSRA&(1<<UDRE)
//Hier weitere Defines anfügen
#endif
in einer Datei "iar_compatibility.h" gespeichert, die Du in deinem
C-Code mit
#include "iar_compatibility.h"
einbindest. Ich schätze so eine #define-Zeile in der Art wirst Du auch
irgendwo in einem Header der IAR-Bibliothek finden... Ev. gibt es so
eine "compatibility-Headerdatei" auch schon fertig irgendwo im Netz.
Vorteil: einmal (mühsam) durchexerziert, geht Dein C-Code dann mit GCC
und IAR (der IAR macht das _GNUC_ define hoffentlich nicht...:-). Dann
kannst den Code bei Bedarf auch in der Firma mit dem IAR kompilieren,
was manchmal recht nütlich sein könnte.
b) du gehst auf http://www.nongnu.org/avr-libc/ und holst Dir das Manual
zur AVR-LIBC, dass ist die C-Library die im WinAVR-Paket mitgeliefert
wird und passt Deinen Code entsprechend an.
Das wären meine Ideen. Wenn Deine Probleme nur auf dieser Ebene sind,
die Du genannt hast und du keine Compiler-Intrinsics verbiegst (z.B. die
C-Initialisierungssequenz u.s.w. verbiegen möchtest --> ist
Compilerabhängig) oder ganz spezielle Libraries (irgendwelche
vorkompilierten FFT-Algorithmuslibs aus dem IAR-Paket etc. braucht),
würde ich Dir zu a) raten.
Die Formatierung in meinem Beitrag ist kaputt, habe nicht aufgepasst.
Die #define Zeile muss "underscore underscore GNU underscore underscore"
heissen.