So, der erste Bugfix Release ist raus.
Hauptänderung ist, dass das Size Tool jetzt auch unter nicht-winAVR
toolchains läuft. Das Plugin testet, welche Format Optionen avr-size hat
und bietet auch nur diese an, mit allen entsprechenden flags.
Weiter Änderungen:
------------------------------------------------------------------------
--------
Version 2.0.1.20071229 [29 December 2007]
The main point of this release is to fix the avr-size bug that made it
impossible to use the Size tool on non-winAVR toolchains (Linux /
MacOSX). Some other fixes minor features are included as well.
Features:
* Assembler Tool
- Added options to use preprocessor and for debug information
* Compiler Tool
- Added option to omit the F_CPU definition from the commandline
- Added options for debug level and debug information format
- Added option to select the language standard (Bug 1783023)
* Size Tool
- Added option to display size in hex
Fixes:
* Assembler Tool
- Changed command from avr-as to avr-gcc to enable the preprocessor
for
assembler sources
- Extended the org.eclipse.cdt.core.asmSource contentType to include
(uppercase) .S files
* Size Tool
- fixed the bug that -mcu was always passed on to commandline,
regardless of format
- Only the size formats applicatable to the platform are shown
* Other
- fixed wrong paths on non-Windows platforms, now looks in /usr/bin
and /usr/local/bin. The whole path managment will be rewritten in
2.1
----------------------------------------------------------------
Download wieder über die Update Site
http://avr-eclipse.sourceforge.net/updatesite/
oder als direkter Download über die sourceforge Projektseite
https://sourceforge.net/projects/avr-eclipse/
brgds und einen guten Rutsch,
Thomas
Gast
#738175
Sehr schön. Fettes Mercy. Diesmal hat auch das Update geklappt. Werds mal testen
Gast
#738180
Ich weiß nicht ob du es schonmal probiert hast, aber wenn ich ein C++ Projekt compilieren will kommt nur die Meldung:
1 | |
2 | |
3 | |
Außerdem funktioniert bei mir der AVR Device Explorer nicht mehr. Ich bekomm die Meldung
1 | |
2 | |
3 | |
Jau, Update ging ohne Probleme.
Markus, C++ habe ich bis jetzt aussen vorgelassen, da ich hier (http://www.mikrocontroller.net/articles/AVR-GCC) gelesen hatte, dass AVR-GCC nur eingeschränkt mit C++ funktioniert. Das kann allerdings schon längst veraltet sein, da doch recht aktiv an der avr gcc Toolchain Entwickelt wird. Ich kann das Thema C++ gerne mit in die Pipeline schieben, aber dann bräuchte ich mal ein paar Beispiel C++ Source Dateien zum testen. Im Netz habe ich so auf die schnelle nichts gefunden. Zum AVR Device View bin ich jetzt erstmal überfragt, weil sich da am ganzen Code nichts geändert hat. Mehr als - Viewer explizit schliessen und wieder neu öffnen - Preferences checken, ob der Pfad zu avr/io.h Datei noch stimmt kann ich im moment nicht bieten. Mal schauen, ob das Problem auch bei Anderen auftritt. Thomas
Gast
#738255
Asche auf mein Haupt. Nach der Neuinstallation hab ich die io.h vergessen. Zu C++ hab ich selbst noch nix. Ich will damit mal anfangen und hatte es getestet. Ich werd mal schauen das ich was schönes zusammenbastle wenn ich so nix finde
Hallo Thomas, vielen Dank für das AVR Eclipse Plugin 2.0.1. benutze es, um bestehende Sourcen eines Elektor-Projekts aus dem Jahr 2004 zu bearbeiten. Die Erweiterungen der Assembler-Unterstützung waren für mich genau richtig. Habe meines Erachtens noch einen kleinen Fehler gefunden: Unter Properties -> C/C++ Build -> Settings lassen sich in der Configuration 'Release' beim winAVR Compiler keine Optionen angeben. Beispiel: In den Subsets wie z.b. Warnings ist per Default -Wall gesetzt. Das Feld all Options des winAVR Compilers ist aber leer. (Für den Assembler funktioniert es) Die Configuration 'Debug' hat das Problem nicht. Dort läuft mein Build durch. Weiteres Problem: wenn ich nach erfolgreichem Build in der Configuration 'Debug' den Debugger starten will, bekomme ich ein Fehlerfenster: Problem occurred Launching measure.elf(1) Exec error:Launching failed Ich denke das Problem liegt, an einer fehlenden Einstellung von mir. Würde mich über Unterstützung sehr freuen. Martin
Gast
#738275
Hi Thomas, schau mal auf http://www.qfix.de/. Im Downloadbereich haben die ein ISO File. Das ist nix anderes als eine angepasste WinAVR Version. Die verwenden da Klassen um ihre Hardware anzusteuern. Vielleicht hilft das
Gast
#738297
>Version 2.0.1.20071229
Das ist geil. Da fällt mir ein, ich muss ja noch den neuen Kernel
Version 8.5.6.78965.34.2.beta.432abc.alpha.beta345.6RC1.alpha3c
kompilieren.
@Markus, die Asche muss ich über mein Haupt streuen. Denn ich hatte den Fall, dass der Viewer die io.h Datei nicht findet nicht bedacht und auch nicht getestet. Das er mit einer nichtssagenden Fehlermeldung abbricht muss ich dringend ändern. ---- @Martin, Man kann zwar grundsätzlich auch aus Eclipse heraus AVR Programme debuggen, aber so einfach mit "Debug As..." geht es leider noch nicht. Da das ganze doch ein etwas komplexeres Thema ist bei dem ich mich auch noch einarbeiten muss, hier nur der grobe Ablauf: 1. Externen gdb server starten (z.B. simulavr) 2. Eclipse "Open Debug Dialog..." auswählen 3. GDB Hardware Debugging auswählen 4. Ausprobieren :-) Schau mal hier als Einstieg: http://www.mikrocontroller.net/articles/AVR-Simulation Ich habe es vor einiger Zeit schon mal ausprobiert und es geht grundsätzlich. Dein anderes Problem mit den fehlenden Einstellungen in der Release Konfiguration kann ich nicht nachvollziehen. Könntest Du noch mal etwas detailierten beschrieben, was genau nicht geht? brgds, Thomas
Meierkurt wrote: >>Version 2.0.1.20071229 > > Das ist geil. Da fällt mir ein, ich muss ja noch den neuen Kernel > Version 8.5.6.78965.34.2.beta.432abc.alpha.beta345.6RC1.alpha3c > kompilieren. Sieht vielleicht komisch aus, ist es aber auch :-) Nee, es gab auch ein paar 2.0.1 Versionen mit einem anderen Datum, die waren aber nur intern für mich zum testen und mit dem Datum kann ich sie auseinanderhalten.
Thomas Holland wrote: > .... > > Dein anderes Problem mit den fehlenden Einstellungen in der Release > Konfiguration kann ich nicht nachvollziehen. Könntest Du noch mal etwas > detailierten beschrieben, was genau nicht geht? > > brgds, > > Thomas Hallo Thomas, danke für die schnelle Reaktion. Was nicht funktioniert, kann ich am besten anhand meines konkreten Problems beschreiben: In der Configuration 'Debug' läuftg mein Build vollständig durch. In der Configuration 'Release' bricht er beim ersten File ab. Grund ist, daß das File io.h aus dem avr-Verzeichnis nicht eingebunden wird. Das Problen hatte ich ursprünglich auch in der Configuration 'Debug' Ich konnte es dort lösen, indem ich unter Properties -> C/C++Build ->Settings ->winAVR Compiler -> Directories den Eintrag "C:\WinAVR\avr\include" gemacht habe. Dieser Eintrag ist dann auch unter 'Properties -> C/C++Build ->Settings ->winAVR Compiler' rechts im Fenster 'all Options' zu sehen. Wenn ich nun in die Configuration 'Release' umschalte, ist unter 'Properties -> C/C++Build ->Settings ->winAVR Compiler' rechts im Fenster 'all Options' alles leer. Dies ist der Fall, obwohl ich auch hier unter 'Properties -> C/C++Build ->Settings ->winAVR Compiler -> Directories' den Eintrag "C:\WinAVR\avr\include" gemacht habe. Anscheinend wird in dieser Configuration die Eingabe nicht gespeichert. Gruß Martin
Gast
#738323
Hallo Thomas, auch von mir erstmal ein großes Danke schön. Bin wirklich begeistert :-) Im übrigen lese ich das Forum viel per "Mailbenachrichtigung", so dass dein Posting in dem Thread zur Vorversion des Plugins durchaus Sinn machte :-) Folgendes kann ich bestätigen: > Wenn ich nun in die Configuration 'Release' umschalte, ist unter > 'Properties -> C/C++Build ->Settings ->winAVR Compiler' rechts im > Fenster 'all Options' alles leer. Dies ist der Fall, obwohl ich auch > hier unter > 'Properties -> C/C++Build ->Settings ->winAVR Compiler -> Directories' > den Eintrag > "C:\WinAVR\avr\include" > gemacht habe. > Anscheinend wird in dieser Configuration die Eingabe nicht gespeichert. Das ist bei mir jetzt auchder Fall. Das war vorher nicht bzw. bei der ersten Version nicht. Bei der letzten hatte ich das garnicht probiert. @Martin: Zum Debuggen unter Eclipse ganz grob: Wenn Du mit echter Hardware arbeitest, also Dragon oder JTAGICE MKII, dann brauchst Du auch AVaRICE zum debuggen. Das stellt die Verbindung zwischen dem ICE und dem (AVR-)GDB her. Versuche erstmal damit eine Verbindung zu deiner Hardware herszustellen. Dann weiter... In Eclipse must Du Dir eine Debugkonfiguration erstellen, wo Du als Debugger "gdbserver debugger" wählst. Dort unter Debugger Options->Main->GDB-Debugger AVR-GDB einstellen. unter Debugger Options->Connection: TCP, localhost, Port number: die die Du beim Start von AVaRICE angegeben willst. Dann must Du in einem Konsolenfenster (DOS) den AVaRICE starten (Portnumber beachten). Danach kannst Du im Eclipse den Debugger aufrufen. Achtung! Wenn der Debugger beendet wird, dann beendet sich auch AVaRICE automatisch. Also vor jeder Debugsession AVaRICE neu starten. Man kann das starten des AVaRICE auch in Eclipse über External Tools einrichten. So dann viel Spaß beim debuggen. Hajo
Hallo Martin, ich habe jetzt über eine Stunde versucht das Problem zu reproduzieren, aber bei mir klappt es immer, egal was ich einstelle. > In der Configuration 'Debug' läuftg mein Build vollständig durch. > In der Configuration 'Release' bricht er beim ersten File ab. > Grund ist, daß das File io.h aus dem avr-Verzeichnis nicht eingebunden > wird. Mich wundert auch, dass Du .../avr/include per Hand einbinden musst. avr-gcc hat den Pfad zu dem avr include Verzeichnis fest eingebaut, so dass man normalerweise nichts eingeben muss. Gibt doch mal in einer Shell "avr-gcc -E -P -v deinFile.c" ein. Irgendwo am Anfang der Ausgabe sollte dann die Zeile
1 | |
sein mit dem Eintrag
1 | |
Wenn nicht ist möglicherweise etwas mit Deiner winAVR Installation nicht in Ordnung. > Das Problen hatte ich ursprünglich auch in der Configuration 'Debug' > Ich konnte es dort lösen, indem ich unter > Properties -> C/C++Build ->Settings ->winAVR Compiler -> Directories > den Eintrag > "C:\WinAVR\avr\include" > gemacht habe. > Dieser Eintrag ist dann auch unter > 'Properties -> C/C++Build ->Settings ->winAVR Compiler' rechts im > Fenster 'all Options' zu sehen. > Wenn ich nun in die Configuration 'Release' umschalte, ist unter > 'Properties -> C/C++Build ->Settings ->winAVR Compiler' rechts im > Fenster 'all Options' alles leer. Dies ist der Fall, obwohl ich auch > hier unter > 'Properties -> C/C++Build ->Settings ->winAVR Compiler -> Directories' > den Eintrag > "C:\WinAVR\avr\include" > gemacht habe. > Anscheinend wird in dieser Configuration die Eingabe nicht gespeichert. Ich habe da mal eine Vermutung: Schau doch mal in Eclipse, ob das Icon Deines Source-Files ein winziges Symbol "<>" in der oberen rechten Ecke hat. Wenn ja, dann hat die Datei eigene Settings, die die Einstellungen in der Gesamtkonfiguration überschreiben. In diesem Fall musst Du die Compiler Settings für diese Datei getrennt ändern. Wenn nein, dann habe ich im Moment keine weiteren Ideen. brgds Thomas
Gast
#738520
Hallo Thomas, nochmal zu den Compileroptionen: die sind bei der Configuration für "Release" einfach weg (All Options unter winAVR Compiler). Ich habe Dir 2 Screenshots angehängt, einmal mit DEBUG und einmal mit Release Configuation. Da ist jetzt irgendetwas faul :-( Gruß Hajo
Gast
#738522
Hier der Anhang 2. Hajo
Hajo, OK... oder besser nicht OK. Schick mir doch mal die ".cproject" Datei aus dem Projektverzeichniss. Darin sind alle Einstellungen gespeichert und vielleicht kann ich daraus erkennen, was da nicht richtig läuft.
Gast
#738551
Da ist die cproject-Datei im Anhang. Gruß Hajo
Hajo, der Fehler lässt sich mit der Deiner .cproject Datei reproduzieren, d.h. wenn ich ein neues Projekt anlege und die .cproject Datei ersetze, dann habe ich den selben Fehler. Ich habe aber noch keine Idee woran es liegen könnte. Werde mich mal heute Abend durch die Datei wühlen um zu sehen ob ich die Ursache für den Fehler lokalisieren kann.
OK, ich habe den Fehler gefunden. Im Moment habe ich noch keine elgante, Plugin-Interne Lösung. Eine Lösungsmöglichkeit ist die, ein neues Projekt anzulegen, alle Dateien rüberkopieren und alle Toolchain Einstellungen noch mal machen. Zweite Möglichkeit: Man kann den Fehler beheben, in dem man die .cproject Datei manuell bearbeitet: 1. Eclipse schliessen 2. In das Verzeichnis des betroffenen Projektes gehen und die Datei ".cproject" mit einem beliebigen Texteditor öffnen. 3. Nach dem folgenden Text suchen (2x):
1 | |
(der Punkt und die fehlenden Anführungszeichen am Ende sind wichtig!) 4. Die gesamte Zeile, also von "<option" bis "/>" löschen. Der Suchtext kommt zweimal vor, einmal für die Debug und einmal für die Release Configuration. 5. Eclipse starten. Die Settings sollten wieder funktionieren. Dritte Möglichkeit: Auf 2.0.2 warten, aber das kann 3-4 Tage dauern bis ich mich in das Thema "projectConverter" eingearbeitet habe. Hier eine kurzer Hintergrundinfo: Jede Option in der Toolchain hat eine eigene ID, die im Plugin definiert ist und die in der Datei .cproject abgespeichert wird. Solange der default Wert der Option nicht geändert wird speichert CDT aber den Wert selbst nicht ab, sondern verweist auf original Toolchain aus dem Plugin und deren Default Value. In den Versionen bis 2.0.0 gab es für den Compiler die Option -g (Debug info an) mit der id "de.innot.avreclipse.compiler.option.debug", die in 2.0.1 entfallen ist und durch "de.innot.avreclipse.compiler.option.debug.level" ersetzt wurde, der Auswahl des Debug-Levels. In Projecten, die mit 2.0.0 oder früher erstellt wurden existiert in .cproject aber noch der Verweis auf die alte Option. Solange diese mit einem Wert versehen ist (Debug Configuration) macht das nichts und CDT ignoriert den gespeicherten Wert einfach. In der Release Configuration ist aber normalerweise kein Wert gespeichert und CDT versucht den Default Wert aus dem Plugin zu holen, welcher aber nicht mehr existiert. Folge -> Interner Fehler und es werden gar keine Optionen mehr verarbeitet.
Hallo Thomas, habe Deinen Lösungsvorschlag 1 umgesetzt. Funktioniert! vielen Dank. @Hajo Danke für die Tips zum debuggen. Ich mache gerade erste Schritte mit dem Controller, habe noch keine Debug-HW. Prorgrammiere mit TwinAVR und mini LPT-Adapter. (Werde mir Dragon anschaffen.) Mein Anwendungsfall ist folgender: Ich habe eine Elektor-Schaltung zur Wasserstandsmessung. Das Projekt ist aus 2004. Beim Compilieren der Sourcen mit modernem GCC hat es Fehlermeldungen gehagelt. Im wesentlchen implizite Typecasts die der neue Compiler anmeckert. Ich wollte das Programm unabhängig von der Target-HW an den geänderten Stellen durchsteppen. Die größte Aufgabe steht mir noch bevor: das Interrupt-Handling wurde von GCC3.x auf GCC4 geändert. Gruß Martin
Gast
#738968
Martin Thomas wrote: > @Hajo > Danke für die Tips zum debuggen. Bitte schön, ich will schon lange mal eine Anleitung schreiben und die in die Artikelsammlung packen, aber..... soviele Dinge mit höherer Priorität. :-( > Ich mache gerade erste Schritte mit dem Controller, habe noch keine > Debug-HW. > Prorgrammiere mit TwinAVR und mini LPT-Adapter. (Werde mir Dragon > anschaffen.) Angebot - Ich hab noch einen neuen Dragon über. Gab es Weihnachten und ich hatte schon einen, was aber keiner wußte. Preisvorstellung: 45 Euro + 6,90 Euro Versand (DHL). Das ganze bitte per Vorkasse oder Nachnahme. Habe sonst vor das Ding bei Ebay reinzusetzen. Also falls Du JETZT einen haben möchtest, dann einfach melden. > Ich wollte das Programm unabhängig von der Target-HW an den geänderten > Stellen durchsteppen. Das kannst Du auch über Eclipse - AVR-GDB machen. Anstatt dem Dragon nimmst Du simulavr. Der Simulator gehört zum zum WINAVR Paket. Jetzt frage mich bitte nicht, wie das geht. KEINE AHNUNG. Mußt DU mal hier im Forum suchen bzw. die Doku zu WINAVR durchstöbern. Ich mag keine Simulatoren. Das ist mir doch zuviel Behelf. > Die größte Aufgabe steht mir noch bevor: das Interrupt-Handling wurde > von GCC3.x auf GCC4 geändert. Das sind doch meines Wissens nur Änderungen der Namen der Interruptroutinen. Das ist sicher nicht sooo schwer. Hat auch eigentlich nichts mit dem GCC zu tun sondern eher mit der verwendeten AVR-LIB. Nehme die Doku dazu: http://www.nongnu.org/avr-libc/ Dann viel Spaß Hajo
Ha Jo wrote: > Angebot - Ich hab noch einen neuen Dragon über. Gab es Weihnachten und > ich hatte schon einen,.... Hätte ich das gewusst, Dragon ist schon bestellt -:( >> Die größte Aufgabe steht mir noch bevor: das Interrupt-Handling wurde >> von GCC3.x auf GCC4 geändert. > > Das sind doch meines Wissens nur Änderungen der Namen der > Interruptroutinen. Das ist sicher nicht sooo schwer. Hat auch eigentlich > nichts mit dem GCC zu tun sondern eher mit der verwendeten AVR-LIB. > Nehme die Doku dazu: http://www.nongnu.org/avr-libc/ > > Dann viel Spaß > Hajo Danke für den Einstieg, mal sehen wie ich vorankomme. Martin
So, die beiden gröberen Fehler des 2.0.1 releases sind gefixed (Verlust der Release Compiler Optionen und die NullPointer Fehler, wenn avr/io.h nicht gefunden wird). Allerdings habe ich es noch nicht so weit testen können, dass es zu einem Release reicht. Im SVN repository sind sie drin, falls jemand es unbedingt austesten muss. Ich gehe jetzt erst mal eine Woche Skifahren und danach werde ich mich dann an Version 2.1 machen. Thomas
Schönen Urlaub :-)
Gast
#747571
Ich habs jetzt auch seit einer Weile installiert, und es läuft (fast) prima. Eine tolle Sache. Ich habe eigentlich nur zwei Probleme, die aber vielleicht mit eclipse, und nicht mit dem avr-plugin zu tun haben: 1.) Genau wie bei Claus speichert eclipse geänderte Dateien nicht vor dem build-prozess. 2.) Die automatisch generierten makefiles berücksichtigen keinerlei dependencies zu den header-Dateien. Ich meine, daß das mit einer älteren Version funktioniert hat, aber mit den aktuellen eclipse CDT und avr-plugin gehts nicht. Beide Probleme können sehr unschöne Auswirkungen haben... Bin ich nur zu blöd, kann man das irgendwo einstellen, oder geht das wirklich nicht? Oliver
ZU 1) Du musst unter Window->Preferences->General->Workspace den entsprechenden Haken setzen. Gruß Sven
Gast
#748992
Ok, Haken gesetzt. Danke. Aber das andere Problem mit den fehlenden Dependencies bleibt. In den makefiles werden nirgendwo welche erzeugt oder ausgewertet. Und jedesmal ein clean vor dem make ist doch fehleranfällig. Oliver
Ich weiß jetzt nicht was Du damit meinst, für welche Header soll das gelten? Sven
Was mir auch aufgefallen ist: im Outline View werden Headerfiles zwar angezeigt, aber wenn man Doppelklickt kann man sie nicht öffnen. Hier gibts anscheinend noch irgendwo ein Problem Ich hab versucht mir das anzuschauen, aber ich kriegs nicht auf die Reihe. Müssen wohl warten bis Thomas wieder da ist
Gast
#749003
Für alle header-Dateien aus dem Projekt. In den makefile(s) fehlt die info, welche .c-Dateien von welchen .h-Dateien abhängig sind, damit nach Änderungen in den header-Dateien alle .c-Dateien neu kompiliert werden, die von der Änderung betroffen sind. Für Projekte mit nur zwei Dateien mag das egal sein, aber wenn es mehr werden, wird es umständlich und fehleranfällig. Oliver
Gast
#749004
>Was mir auch aufgefallen ist: im Outline View werden Headerfiles zwar >angezeigt, aber wenn man Doppelklickt kann man sie nicht öffnen. Stimmt auch. Das hat mit der Vorversion funktioniert. Allerdings, wenn du im sourcefile auf den Headerfilenamne klickst, und dann rechte Maustaste, Open Declaration, auswählst, funktioniert es. Oliver
Hallo! Erstmals herzlichen Dank für das tolle Plugin, Thomas. Ich verwende es unter Linux und es funktioniert soweit toll. >Was mir auch aufgefallen ist: im Outline View werden Headerfiles zwar >angezeigt, aber wenn man Doppelklickt kann man sie nicht öffnen. Wenn sich das z.B. auf die "avr/io.h" bezieht, dann habe ich folgende Lösung gefunden: Ich habe unter den Projektsettings unter "winAVR Compiler", "Directories" den Pfad zu den Dateien angeben müssen (bei mir: "/usr/avr/include". Für eigene Header im gleichen Verzeichnis hat es von Anfang an funktioniert. Debuggen funktioniert soweit auch, ich habe es allerdings nur direkt auf der Hardware getestet. Den Simulator werde ich demnächst noch testen. Ich hätte allerdings den Vorschlag, eine Möglichkeit einzubauen, um avarice bzw. simulavr mittels "Pre debug command" laufen lassen zu können. Das wäre noch einmal eine gute Verbesserung. Gibt es eine Möglichkeit die Standardeinstellungen für das Projekt zu ändern? Ich lasse mir die Hex-Files automatisch generieren, und damit diese vom avrdude-plugin erkannt werden, müssen sie "flash.hex" bzw. "eeprom.hex" heißen, damit ich nicht für jedes Projekt die Einstellungen ändern muss. Hat irgendwer schon probiert, ein Projekt nur mit einer Assembler-Datei zu erstellen und diese auf der HW laufen zu lassen? Das hat bei mir noch gar nicht funkioniert.
Mir ist zum Debuggen noch etwas eingefallen und das Editieren hat nicht geklappt: Eine weitere Verbesserung wäre, die Möglichkeit die Register mittels "AVR Device Explorer" auslesen zu können. Momentan muss man dazu selbstständig die Adresse mittels Startadresse und Offset berechnen und dann in der Debug-Console "p/t *(char *)Adresse" eingeben, was doch etwas umständlich ist (vor allem im Vergleich zum AVR Studio). Debuggen mittels Simulator ("simulavr") funktioniert auch.
Gast
#749497
Hallo, Rainer K. wrote: > Gibt es eine Möglichkeit die Standardeinstellungen für das Projekt zu > ändern? Ich lasse mir die Hex-Files automatisch generieren, und damit Damit paßt es dann bei Dir und bei 100 anderen wieder nicht. Die nächsten anderen hätten gerne noch etwas anderes. Also kann es so bleiben, da es keine Option gibt, die dann bei allen paßt. (meine Meinung). Du mußt doch sowieso bei jedem neuen Project Einstellungen vornehmen (Faulpelz ;-) ). > Eine weitere Verbesserung wäre, die Möglichkeit die Register mittels > "AVR Device Explorer" auslesen zu können. Momentan muss man dazu > selbstständig die Adresse mittels Startadresse und Offset berechnen und Das geht auch bequemer. Im Eclipse Menu: Window->Show View -> Registers kannst Du alle Register anzeigen lassen. Da ist also auch keine Änderung notwendig. Ich meine Thomas muß wissen, was er einbaut an Schnörkel und was nicht. Meine Meinung: Das Plugin so wie es ist erstmal lassen. Es dafür aber von den Bugs befreien. Daran liegt mir wesentlich mehr, als an weiteren Schnörkeln. Das Plugin macht alles, was man braucht um scho sehr bequem Code für die AVRs zu erzeugen. Wenn dann alle Bugs raus sind und es stabil und übersichtlich ist, dann kann man die Wunschliste durchgehen und das einbauen, was die meisten sich gerne zum nächsten Weihnachtsfest wünschen. Happy programming.... Hajo
Hallo! Ha Jo wrote: > Damit paßt es dann bei Dir und bei 100 anderen wieder nicht. Die > nächsten anderen hätten gerne noch etwas anderes. Also kann es so > bleiben, da es keine Option gibt, die dann bei allen paßt. (meine > Meinung). Du mußt doch sowieso bei jedem neuen Project Einstellungen > vornehmen (Faulpelz ;-) ). Anscheinend habe ich mich nicht genau genug ausgedrückt: Ich wollte eigentlich nicht, dass die Standardeinstellungen des Plugins geändert werden, sondern meine Einstellungen im Workspace speichern können, um diese dann quasi als Template zu verwenden. Bis jetzt habe ich dafür noch keine elegante Möglichkeit in Eclipse gefunden. Momentan probiere ich, ein Templateprojekt mit den Einstellungen zu verwenden und dieses dann zu kopieren, vielleicht kennt jemand eine bessere Möglichkeit? @ Faulpelz: Da hast du sicher recht, allerdings sehe ich nicht viel Sinn darin meine Zeit mit Projekteinstellungen, welche bei mir fast immer gleich sind, zu vergeuden. Besonders wenn ich statt dessen schon Programmieren könnte. ;) > Das geht auch bequemer. Im Eclipse Menu: Window->Show View -> Registers > kannst Du alle Register anzeigen lassen. Da ist also auch keine Änderung > notwendig. Bei der Register-View werden (bei mir: ATMEGA128) nur die Register r0-r32, sowie Stackpointer, SREG und PC angezeigt. Ich habe mich auf z.B. PORTS, TMISK usw. bezogen. Gibt es eine Möglichkeit diese Register zu definieren, damit ich sie bei der Register-View hinzufügen kann? > Ich meine Thomas muß wissen, was er einbaut an Schnörkel und was nicht. > > Meine Meinung: Das Plugin so wie es ist erstmal lassen. Es dafür aber > von den Bugs befreien. ... Da stimme ich dir wieder zu 100% zu. Rainer
Gast
#749599
Rainer K. wrote: > Hallo! > Anscheinend habe ich mich nicht genau genug ausgedrückt: > Ich wollte eigentlich nicht, dass die Standardeinstellungen des Plugins > geändert werden, sondern meine Einstellungen im Workspace speichern Upps. So gut kenne ich Eclipse auch noch nicht, um dir das zu beantworten. > Bei der Register-View werden (bei mir: ATMEGA128) nur die Register > r0-r32, sowie Stackpointer, SREG und PC angezeigt. Ich habe mich auf > z.B. PORTS, TMISK usw. bezogen. Gibt es eine Möglichkeit diese Register > zu definieren, damit ich sie bei der Register-View hinzufügen kann? Nein, ich weiß nicht, wo er die Registerdefinitionen hernimmt. Du hast natürlich recht, es wäre auch schön, die anderen Register zusehen. Ich vermute mal, das komm evtl. vom GDB. Man müßte den nochmal studieren. Evtl. gibt der auch nicht mehr her. > >> Ich meine Thomas muß wissen, was er einbaut an Schnörkel und was nicht. >> >> Meine Meinung: Das Plugin so wie es ist erstmal lassen. Es dafür aber >> von den Bugs befreien. ... > > Da stimme ich dir wieder zu 100% zu. Fein :-) Hajo
So, nach einer Woche Party (mit etwas Gleitsport-Rahmenprogramm) bin ich wieder wohlbehalten heimgekehrt. Ich freue mich, dass mein Plugin noch nicht in Vergessenheit geraten ist und immer noch aktiv diskutiert wird :-) Ich bin auch schon wieder aktiv und habe am Plugin gearbeitet (scheint eine art Sucht zu sein :-)) Aber nun zu Euren Problemen und Anregungen: 1. Header Files: CDT benutzt ein sogenanntes "ScannerConfigurationDiscoveryProfile" um die verwendeten Header files zu finden. Die CDT beigelegten Profiles rufen dazu den Compiler mit den Optionen "-E -P -v -dD" auf. Allerdings ist der Compiler per Default "gcc", nicht "avr-gcc". Wer einen "gcc" in seinem Pfad hat, bei dem sollte es auch so funktionieren, ansonsten muss man den Compiler manuell ändern: In den Project-Properties unter "C/C++ Build" -> "Discovery options" den "Compiler invocation command" von "gcc" auf "avr-gcc" setzen. Wenn das Feld "Compiler invocation command" fehlt dann mal ein anderes "Discovery profile" auswählen. Danach sollten im Outline View die kleinen Warndreiecke in der linken unteren Ecke der Headerfiles verschwunden sein und man kann z.B. im C Source mit F3 direkt zu den Headerfiles springen. Ich habe schon mehrfach versucht, ein eigenes Discovery Profile für AVR zu erstellen, aber war bislang noch nicht erfolgreich, da die Erstellung eines eigenen Profiles praktisch nicht dokumentiert ist. Aber vielleicht schaffe ich es ja doch noch irgendwann... 2. Dependencies CDT kennt grundsätzlich Dependencies. Ich war aber für meine mini- und test-Projekte mit einem clean build zufrieden, da ein clean build nur 1-2 Sekunden gedauert hat. Daher habe ich mir noch nicht angeschaut, warum Dependencies derzeit nicht berücksichtigt werden. Vielleicht liegt es an dem Discovery Profile (siehe oben). Werde ich mal bei Gelegenheit weiter nachforschen. 3. AVR Device Explorer zum Debuggen Grundsätzlich würde es schon gehen und ist auch schon angedacht. Aber die gdb-Integration in Eclipse ist für mich noch Terra Incognita und ich werde mich erstmal um ein paar andere Sachen kümmern. Auch ist avr/io.h als Datenquelle nicht optimal dafür geeignet, da zwischen einigen sub-types einer Serie nur per #ifdef unterschieden wird, was der Device Explorer derzeit nicht beachtet. 4. Default Name für flash und eeprom hex files Ich hatte mich entschieden, die defaults "flash.hex" und "eeprom.hex" des alten Plugins durch "Projekt.hex" und "Projekt.eep" zu ersetzen, da dies auch der Standard der meisten sample-makefiles ist, die ich bisher gesehen habe. Ich habe mich auch bewusst dafür entschieden, dies fest zu verdrahten und nicht durch den User änderbar zu machen, um eine mögliche Fehlerquelle für Anfänger auszuschliessen. Dies wird erst richtig zum tragen kommen, wenn avrdude wieder in das Plugin integriert ist. 5. Template Projekteinstellungen Dies ist meines Wissens in CDT nicht vorgesehen und daher ist mir der Aufwand das zu Programmieren derzeit zu hoch, da sich ja jeder sein eigenes Template Projekt anlegen und mit einem schnellen Copy und Paste neue Projekte daraus erstellen kann. So, ich hoffe ich habe jetzt alle offenen Punkte abgedeckt. Ansonsten: Wenn möglich benutzt die "Bugs" und "Feature Requests" der Sourceforge Projektseite. Damit kann ich die offenen Punkte viel besser verfolgen und abarbeiten. Jetzt werde ich als nächstes in das Thema Unit Tests einarbeiten, da das Plugin langsam so komplex wird, dass ich nicht mehr alles manuell testen kann. Danach geht es dann an die Version 2.1 mit neuen Features. brgds Thomas
Nachtrag zu den Dependencies: Ich habe es mir angeschaut und es musste nur eine Zeile in plugin.xml geändert werden. Dependencies funktionieren jetzt und scheinen nach den ersten Tests auch gut zu funktionieren. brgds Thomas
Hallo! Weißt jemand ob man im avrdude plugin einstellen kann dass er kein eeprom.hex überträgt? Ich kann mir nämlich kein eeprom.hex erstellen lassen wenn nichts im EEprom stehen soll. Oder kann ich eine Art Dummy-File erstellen? Vielen Dank Matthias Eder
Direkt aus avr-objsplit.bat vom alten Plugin:
1 | |
Damit hast Du eine Dummy eeprom.hex (Windows / Linux evtl. mit cat statt echo).
Ich habe eine erste Beta der neuen Version 2.1 bei SourceForge bereitgestellt. Hier gibts mehr Details: Beitrag "AVR Eclipse Plugin 2.1 Beta Release"
Und jetzt ist auch die entgültige 2.1 raus. Siehe Beitrag "AVR Eclipse Plugin 2.1 Released"
Gast
#959662
Hallo, ich verwende auch gerade das Plugin in der Version 2.2 Weiterhin nutze ich WINAVR_20080610 und Eclipse 3.4 (Ganymede) inkl. C/C++ Developement. Leider findet er beim compilieren sämtliche Include-Dateien nicht. Sobald ich ein ein neues Projekt starte bindet er die Pfade von WINAVR ein. Ich habe zum testen eine einfache LED blinken lassen. Jedoch bekomme ich nach dem BUILD Vorgang folgende Fehlermeldungen:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
Gibt es bereits brauchbare Lösungen? Gruß Julien
Gast
#1478157
Hi! Obwohl der Thread schon etwas älter ist: Ich verwende das AVR plugin und konnte damit auch bereits übers STK500 uns ISP AVRs problemlos programmieren. Nun konnte ich ein mk II jtag ice auftreiben und damit funktioniert es einfach nicht. Ich bekomme ständig eine Meldung, dass der Port geblockt bzw. von einer anderen instanz von AVR DUde oder einer anderen Anwendung benutzt wird. Habe aber weder AVRStudio noch sonst etwas laufen, was darauf zugreifen könnte. Kann mir jemand sagen, was es mit der Meldung auf sich hat bzw. wie sie zu beheben ist?! Danke bereits im Voraus! Lg; Tom
Um USB Programmer mit avrdude benutzen zu können musst du den libusb Filtertreiber installieren. http://libusb-win32.sourceforge.net/#downloads (der obere).
Gast
#1478341
Danke, das werd ich gleich mal ausprobiern! =)
Gast
#1478923
Hmm , nur blöd, dass das Teil nicht unter Vista läuft. --> für mich leider sinnlos ;-( aber danke! Grüße, Tom
Moin zusammen, ich bin dabei von M$ auf Linuxprogrammierung umzusteigen. Habe jetzt Eclipse, das dazugehörige AVR Plugin sowie avr-gcc besorgt und installiert. Eclipse lässt sich problemlos öffnen, jedoch hab ich das Problem, dass ich kein neues C (und auch kein anderes) Projekt erstellen kann. Ich gehe auf: File-> new -> C-Project (empty Project mit gcc-toolchain) dann einen namen vergeben und auf next (auch schon finish probiert) aber es passiert nichts. Hatte dieses Problem schoneinmal jemand und kann mir helfen? danke Gruß Kim
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.

