Datum: 11.02.2008 00:33
So, nachdem die Beta Version ca. 100 mal runtergeladen wurde und es keinen Aufschrei gegeben hat, gehe ich mal davon aus, dass keinen massiven Bugs mehr drin waren. Gegenüber der Beta 2.1 hat es folgende Änderungen gegeben: - Dokumentation an die Version 2.1 angepasst und als kurzfristig noch aufgenommenes neues Feature: - Ein an avr-gcc angepasstes Discovery Profile. Damit ermittelt Eclipse die in den Compiler fest eingebauten Pfade und Symbole. Bei neuen Projekten wird es automatisch verwendet, bei alten Projekten muss es per Hand über "Project Properties -> C/C++ Build -> Discovery" ausgewählt werden (es ist schon ausgewählt, aber man muss noch per hand auf "Configuration" umstellen damit es auch funktioniert - warum auch immer). Download wie immer entweder über die Update Site: http://avr-eclipse.sourceforge.net/updatesite/ oder direkt bei Sourceforge: https://sourceforge.net/project/showfiles.php?grou... Feedback ist natürlich willkommen. Thomas Anbei noch die Release Notes. Das komplette Changelog ist hier zu finden: http://avr-eclipse.sourceforge.net/changelog.html#changelog
********************************************************************************
* AVR Eclipse Plugin Release Notes *
* *
* A plugin supporting the development of applications for the *
* AVR series of Processors. *
* See details at http://avr-eclipse.sourceforge.net *
********************************************************************************
$Id: releasenotes.txt 199 2008-02-10 21:33:01Z innot $
================================================================================
Version 2.1.0 release date: 10 February 2008
This is an intermediate release with both bug fixes and new features.
This release is not compatible with the 2.0 versions. To update projects created
with a 2.0.x version, a project converter is available.
To execute the converter right click on your project and select the "Convert To..."
item.
Avrdude - one of the most requested features - is still not supported, but there
is already some framework code in place for the integration of avrdude in the next
release.
1. What's new
* C/C++ Support
Just create a new "C++ Project" and select one of the "AVR Cross Target" items.
* Preference Page to manage the paths to the avr-gcc toolchain
Use this if you have problems with the correct paths. The plugin still tries to
determine the paths to the avr-gcc toolchain and some other files itself, but
the discovered paths can now be manually adjusted.
* The MCU type setting is now a project property setting
Right click on an AVR Project and select the AVR Target Hardware item to set the
MCU Type and Frequency.
Note: per configuration selection of the MCU / F_CPU will come back in one of the
next versions, but implemented differently than in the 2.0 version.
* A dedicated "Discovery Profile".
On the project properties go to C/C++ Build --> Discovery Options and select
"AVRGCCManagedMakePerProjectProfileC" or "AVRGCCManagedMakePerProjectProfileCPP".
Then Eclipse will automatically determine the path to the system header filer (e.g. <avr/io.h>)
This is very useful as now an F3 on any #include <....> will open the file. Also the source
editor will color #ifdef (__AVR_yourMCUtype__) sections correctly (see known issues below).
* Additional Options for the Compiler.
A few options have been added that are also the default on mfile generated makefiles.
* Dependencies for the Compiler (and Assembler) work now, so any changes to a header file
will cause all dependent source files to be rebuild.
* List of supported MCUs determined at runtime.
Now the plugin is always in sync with your avr-gcc / winAVR version.
* Numerous improvements "under the hood" and some bugfixes. See the changelog for details.
2. Information
2.1. System Requirements
AVR Eclipse requires JRE 1.5 or higher and supports following versions of CDT:
* CDT 4.0.x (Eclipse 3.3)
older versions of the JRE or of Eclipse / CDT are not supported
It has been tested with
- Windows XP + winAVR 20071221 / 20070525
- Linux X86 (Ubuntu 7.10 + Ubuntu supplied avr-gcc / custom build avr-gcc)
It should run on all platforms meeting the system requirements.
2.2 Known issues
* When changing the MCU Type of a project, Eclipse will add the discovered symbols of
the new MCU to the list of "build-in" symbols, but still keeps the symbols of the
previous MCU Types (Eclipse currently never forgets any discovered symbols).
|
Datum: 11.02.2008 18:57
Der Update über http://avr-eclipse.sourceforge.net/updatesite/ klappt bei mir irendwie nicht. >Update operation has failed > Error retrieving "plugins/de.innot.avreclipse_2.1.0.20080210PRD.jar". >[Server returned HTTP response code: "404 Not Found" for URL: >http://avr-eclipse.sourceforge.net/updatesite/plug....] > Server returned HTTP response code: "404 Not Found" for URL: >http://avr-eclipse.sourceforge.net/updatesite/plug.... Oliver
Datum: 12.02.2008 00:58
Der Fehler war, das noch ein paar Dateien auf der Updatesite fehlten. Ist jetzt behoben und der Update sollte gehen.
Datum: 12.02.2008 17:43
Hallo Thomas Ich habe das Update auf version 2.1 gemacht habe meine Projekte convertiert und nun kommt in der seite AVR Target Hardware "The Currently displayed Page contains invalide Values" schon mal von diesme Fehler berichtet worden ? oder ne idee woran es liegen könnte. Habe auch mal die alte versionen von dem Plug in und dem Projekt hergestellt . das Plugin deinstalliert und die neue version installiert. gleiches ergebniss. weiterhin kommmt wenn ich auf der seite C/C++ Build Discovery options etwas ändern will "An Error has ocurred. See error log for more details" habe da was gefunden, weiß aber nicht obs das is ... !SESSION 2008-02-12 17:34:49.312 ----------------------------------------------- eclipse.buildId=M20071023-1652 java.version=1.6.0_03 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE Command-line arguments: -os win32 -ws win32 -arch x86 !ENTRY org.eclipse.jface 4 2 2008-02-12 17:35:08.953 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface". !STACK 0 java.lang.ClassCastException: org.eclipse.cdt.internal.core.model.CProject cannot be cast to org.eclipse.core.resources.IProject at de.innot.avreclipse.ui.propertypages.AVRHardwarePropertyPage.createContents(AVRHardwarePropertyPage.java:118) at org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:233) at org.eclipse.jface.preference.PreferenceDialog.createPageControl(PreferenceDialog.java:1456) at org.eclipse.jface.preference.PreferenceDialog$13.run(PreferenceDialog.java:1213) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.runtime.Platform.run(Platform.java:857) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:46) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:199) at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1207) at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.showPage(FilteredPreferenceDialog.java:433) at org.eclipse.jface.preference.PreferenceDialog$9.selectionChanged(PreferenceDialog.java:698) at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:842) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.runtime.Platform.run(Platform.java:857) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:46) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:199) at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:840) at org.eclipse.jface.viewers.StructuredViewer.handlePostSelect(StructuredViewer.java:1153) at org.eclipse.jface.viewers.StructuredViewer$5.widgetSelected(StructuredViewer.java:1178) at org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent(OpenStrategy.java:250) at org.eclipse.jface.util.OpenStrategy.access$4(OpenStrategy.java:244) at org.eclipse.jface.util.OpenStrategy$3.run(OpenStrategy.java:418) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296) at org.eclipse.jface.window.Window.runEventLoop(Window.java:820) at org.eclipse.jface.window.Window.open(Window.java:796) at org.eclipse.ui.dialogs.PropertyDialogAction.run(PropertyDialogAction.java:156) at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:546) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219) at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447) at org.eclipse.equinox.launcher.Main.run(Main.java:1173) Ich mach erstmal mit der alten version weiter vielleicht findest du das Problem ... Gruß Stefan
Datum: 12.02.2008 23:04
Hallo Stefan, vielen Dank für Deinen Bug-Report. Du hast da einen echten Bug gefunden, der zwar schon mal reported wurde, den ich damals aber nicht nachvollziehen konnte. Dank Deines Logs konnte ich den Fehler aber sofort finden! Der Fehler tritt dann auf, wenn man die Properties aus der Ansicht "C/C++ Projects" auswählt. Der Workaround ist sehr einfach: Nimm bitte den "Project Explorer" um die Projekte anzuzeigen. Ich habe es zwar nicht ausgiebig getestet, aber es scheint, dass der Project Explorer - abgesehen von einer anderen Reihenfolge des Context Menus - keinen Unterschied zur Ansicht "C/C++ Projects" hat. (Siehe Screenshot) Ich habe den Fehler auch schon im Sourcecode komplett behoben, aber da es einen guten Workaround gibt werde ich den Bugfix erst mit dem nächsten Release veröffentlichen (2.1.1 wenn noch mehr Fehler auftauchen, sonst 2.2) Gruss, Thomas
Datum: 13.02.2008 06:31
Hallo Thomas Vielen dank für die schnelle Hilfe, funktioniert nun wie gewollt. Schön das wir uns so gut geholfen haben ;) Gruß Stefan
Datum: 18.02.2008 08:54
Datum: 18.02.2008 09:03
> Die Binarys sind etwas größer als mit Winavr, aber das ist wohl nur ne > Frage der Compilerflags. Ja. Hat nichts mit dem Plugin zu tun. > Gibt es eigentlich keine Möglichkeit das Binary auf Knopfdruck direkt > aus Eclipse in den AVR zu bekommen? Du mußt Dir AVRDUDE oder auch AVaRICE als external Tool in Eclipse einbinden. Dann tritts Du auf den Button und ab geht es in den AVR. Hajo
Datum: 18.02.2008 09:06
Naja, ich kann nun mein Projekt mit dem neuen Plugin nicht mehr compilieren. Da passiert irgend ein Mist mit F_CPU und MCU-Type im makefile. Wie bzw. wo kann ich die richtige CPU+Frequenz einstellen? Und wie linke ich die AVR-spezifische libm dazu, statt der generischen GNU libm? (Die sollte eigentlich IMMER schon als default mit dabei sein) ------------------------- **** Build of configuration Release for project webserver **** make all Building file: ../3c5x9.c Invoking: winAVR Compiler avr-gcc -Wall -O1 -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -fgnu89-inline -mmcu=atmega16 -DF_CPU=1000000UL atmega128 14745600 -MMD -MP -MF"3c5x9.d" -MT"3c5x9.d" -c -o"3c5x9.o" "../3c5x9.c" avr-gcc.exe: atmega128: No such file or directory avr-gcc.exe: 14745600: No such file or directory make: *** [3c5x9.o] Error 1
Datum: 18.02.2008 10:15
Peter wrote: > wo kann ich die richtige CPU+Frequenz einstellen? Und wie linke ich die > AVR-spezifische libm dazu, statt der generischen GNU libm? (Die sollte > eigentlich IMMER schon als default mit dabei sein) In Eclipse: Project-Properties.C/C++Build.Settings.WinAVRLinker,Libraries: Hier einach die libm (also nur das m) eintragen. Unter Project-Properties.C/C++Build.Settings findest Du ja auch alle anderen Einstellungen (F_CPU, MCU) für Dein Projekt. Hast Du sie dort gesetzt? Hajo
Datum: 18.02.2008 10:21
Peter wrote: > Naja, ich kann nun mein Projekt mit dem neuen Plugin nicht mehr > compilieren. > > Da passiert irgend ein Mist mit F_CPU und MCU-Type im makefile. Hallo Peter, Der Fehler ist normal wenn man ein Project mit Version 2.0.x erstellt und dann die 2.1 installiert. Einfach mal Project->Convert To... aufrufen und das Project auf 2.1 upgraden, dann sollte es wieder normal gehen. > Wie bzw. > wo kann ich die richtige CPU+Frequenz einstellen? Und wie linke ich die > AVR-spezifische libm dazu, statt der generischen GNU libm? (Die sollte > eigentlich IMMER schon als default mit dabei sein) In dem Bereich kenne ich mich nicht so gut aus. Aber es scheint das AVR-LIBC da nicht ganz sauber ist (vulgo Buggy - siehe http://savannah.nongnu.org/bugs/?18169) Ein anderer User hat mir dazu folgendes geschrieben:
The workaround is to 1) add the "-lm" flag in "AVR C Linker >General>Other Arguments" 2) add the "m" library in "AVR C Linker >Libraries>Libraries (-l)" (this is a hack to add the "-lm" flag at the end of the link command) What I don't understand is that 1) nor 2) work by itself, you must use both, wich is weird. |
Wenn ich mal wieder etwas Zeit habe werde ich mich mal intensiver mit dem libm Problem befassen und versuchen zu verstehen, was da passiert und wie ich es im Plugin abdecken kann. brgds Thomas > > ------------------------- > > > **** Build of configuration Release for project webserver **** > > make all > Building file: ../3c5x9.c > Invoking: winAVR Compiler > avr-gcc -Wall -O1 -fpack-struct -fshort-enums -std=gnu99 -funsigned-char > -funsigned-bitfields -fgnu89-inline -mmcu=atmega16 -DF_CPU=1000000UL > atmega128 14745600 -MMD -MP -MF"3c5x9.d" -MT"3c5x9.d" -c -o"3c5x9.o" > "../3c5x9.c" > avr-gcc.exe: atmega128: No such file or directory > avr-gcc.exe: 14745600: No such file or directory > make: *** [3c5x9.o] Error 1
Datum: 18.02.2008 11:03
Thomas Holland wrote: > In dem Bereich kenne ich mich nicht so gut aus. Aber es scheint das > AVR-LIBC da nicht ganz sauber ist (vulgo Buggy - siehe > http://savannah.nongnu.org/bugs/?18169) ???????? Das Plugin deckt das doch ab. So funktioniert es bei mir. Habe es gerade nochmal geprüft. Wenn man 'm' unter Libraries einträgt, dann wird die Linkerzeile mit -lm am Ende erzeugt. Und es gehört ans Ende, wie ich gelernt habe. Siehe mein Posting oben. Hajo
Datum: 18.02.2008 11:44
Frag mich bitte nicht warum, aber bei einem kurzen Test hat der Linker deutlich kürzeren Code erzeugt, wenn -lm zwei mal in der Command Line war. Im Disassembler konnte man sehen, dass andere __fix.... Funktionen für die konvertierung int -> float benutzt wurden. Das ganze könnte von der verwendeten AVR-LIBC abhängen und nicht bei jedem gleich aussehen. Thomas
Datum: 18.02.2008 15:22
Danke für die Feedbacks! >Der Fehler ist normal wenn man ein Project mit Version 2.0.x erstellt >und dann die 2.1 installiert. Einfach mal Project->Convert To... >aufrufen und das Project auf 2.1 upgraden, dann sollte es wieder normal >gehen. Ist nun okey! Ich musste jedoch ein ganze Weile suchen, bis ich das Richtige Project->Convert To... gefunden hatte. Ich hatte es im [Projekt] Dropdown-Menue vermutet und gesucht, bis ich mal zufällig mit der rechten Maustaste auf die Projektdatei im Projekt-Navigator klickte >In Eclipse: >Project-Properties.C/C++Build.Settings.WinAVRLinker,Libraries: >Hier einach die libm (also nur das m) eintragen. Okydoky, -lm geht! Ich hatte es fälschlicherweise mit -libm versucht... >In dem Bereich kenne ich mich nicht so gut aus. Aber es scheint das >AVR-LIBC da nicht ganz sauber ist (vulgo Buggy - siehe Die aktuelle avr-libc 1.4.8 sollte nun wieder sauber sein. Die AVR-libm (-lm) ist soviel ich weiss immer besser als die Standart GNU-libm. MfG Peter
Datum: 18.02.2008 16:17
Peter wrote: > > Die aktuelle avr-libc 1.4.8 sollte nun wieder sauber sein. Die AVR-libm > (-lm) ist soviel ich weiss immer besser als die Standart GNU-libm. Das liegt darn, dass die avr-libc natürlich Funktionen enthält, die an den AVR angepaßt und für diesen optimiert sind. Warum bei Thomas zweimal -lm noch kürzeren Code erzeugt, dass weiß evtl. Jörg Wunsch :-) Die V1.4.8 ist nicht die aktuelle Version. Hajo
Datum: 18.02.2008 16:38
@Hajo Welches ist denn die aktuellste Version? Die V1.4.8 ist vom 28. Januar 2008, ich finde keine neuere: http://download.savannah.gnu.org/releases/avr-libc/?C=M;O=D http://www.avrfreaks.net/index.php?name=PNphpBB2&a... Allerdings werde ich auch nicht schlau daraus, warum einmal von V1.6.x die Rede ist und dann wieder von V1.4.x Jörg, könntest du mir da auf die Sprünge helfen?
Datum: 18.02.2008 17:13
Peter wrote: > @Hajo > > Welches ist denn die aktuellste Version? Die V1.4.8 ist vom 28. Januar > 2008, ich finde keine neuere: Nun bin ich auch etwas verwirrt. Ich dachte die 1.6.1 ist die aktuelle Version. Die 1.4.8 scheint aber nur noch ein Bugfix-Release der 1.4.x Serie zu sein. Die 1.6.1 hat aber Bugs mit den Fließkommafunktionen. Bläht den Code auf u.s.w. Dazu gibt es einen Thread. Wo ist er nur??? Mal sehen ob Jörg mithört und was zur V1.4.8 schreibt ;-) Hajo
Datum: 19.02.2008 07:48
Weitere Infos zu avr_libc V1.6.x <=> V1.4.x http://www.avrfreaks.net/index.php?name=PNphpBB2&a...
Datum: 21.02.2008 21:19
Datum: 21.02.2008 21:36
Hallo Andreas, ich kenne mich mit dem Thema Debugging noch nicht so aus (kommt erst später ins Plugin), aber mir hat mal ein User geschrieben, dass das Zylin GDB for Embedded Plugin besser funktionieren soll als die bei Eclipse/CDT mitgelieferten GDB Debug Profiles. Probier es doch mal aus: http://www.zylin.com/embeddedcdt.html brgds Thomas
Datum: 21.02.2008 22:21
Andreas wrote: > funktioniert jedoch der "Step Over" nicht korrekt. Er springt immer in Das Problem besteht auch, wenn Du echte Hardware verwendest. Mit dem JTAG ICE MKII sowie mit dem Drgaon. Ich glaube sogar mit dem AVR-Studio unter C, bin mir aber nicht mehr sicher. Liegt evtl. am AVR-GDB. Du must einen Breajpoint hinter dem CALL setzen und dann "GO". Einen anderen Workaround kenne ich auch nicht. Hajo
Datum: 10.03.2008 11:08
Hallo Thomas, habe jetzt auch meine Projekte nach 2.1 konvertiert und habe folgende Anmerkungen: - Wo kann ich die Einstellungen der MCU und des Prozessortaktes für ein Library Project vornehmen? - Da ich für meine Bibliothek und teilweise auch für die Anwendung mehrere Build Configurations verwende, um sie für unterschiedliche Prozessoren und Taktfrequenzen zur Verfügung zu haben, bin ich mit der neuen Version leider aufgeschmissen, da dies jetzt global eingestellt wird. Hoffe deshalb, daß die Umstellung bald erfolgt. Solange werde ich dann mit der 2.0 Version weiterarbeiten, die bei mir einwandfrei läuft. Beste Grüße Sven
Datum: 10.03.2008 17:05
Hi Sven, vielen Dank für Deine Infos. > - Wo kann ich die Einstellungen der MCU und des Prozessortaktes für ein > Library Project vornehmen? Gar nicht, da bist Du auf einen Bug des Plugins gestoßen. Du bist anscheinend der erste, der Version 2.1 für eine Library benutzt (mich eingeschlossen). Hab den Fehler aber auch schon gefunden und behoben, es wird also in der nächsten Version wieder richtig funktionieren. > - Da ich für meine Bibliothek und teilweise auch für die Anwendung > mehrere Build Configurations verwende, um sie für unterschiedliche > Prozessoren und Taktfrequenzen zur Verfügung zu haben, bin ich mit der > neuen Version leider aufgeschmissen, da dies jetzt global eingestellt > wird. Die nächste Version wird die Einstellungen für das Target (und für avrdude) optional auch (wieder) pro Build Configuration anbieten. Die Infrastruktur dazu ist zum Teil auch schon in Version 2.1 enthalten, nur der User Interface teil fehlt noch (der leider aber auch nicht ganz trivial ist) > Hoffe deshalb, daß die Umstellung bald erfolgt. Solange werde ich dann > mit der 2.0 Version weiterarbeiten, die bei mir einwandfrei läuft. Ich bin zwar schon fleißig am programmieren, aber ein paar Wochen wird es wohl noch dauern, bis Release 2.2 kommt. Ich möchte avrdude ordentlich integrieren und dazu braucht es noch eine Menge Code. Liebe Grüße, Thomas
Datum: 10.03.2008 17:27
Alles klar und danke für die schnelle Antwort. Gruß Sven
Datum: 11.03.2008 11:50
Hallo, ich habe im Project Wiki jetzt eine Art Development Blog eingerichtet um schon mal Vorab zu zeigen an was ich gerade Arbeite und wie die nächste Version des Plugins aussehen wird. http://avr-eclipse.wiki.sourceforge.net/The+Plugin Ich würde mich über Eure Kommentare freuen, vor allem wenn Ihr der Meinung seit, dass das was ich mache keinen Sinn ergibt - also nicht Euren Erwartungen und Vorstellungen entspricht. Ich möchte nämlich nicht hinterher feststellen, das ich an den Usern vorbeiprogrammiert habe. Ich selbst bin - wie ich sicher schon ein paar mal Erwähnt habe - ein AVR Newbie, d.H. ich habe z.B. avrdude noch nie für ein echtes Projekt benutzt und bin noch nicht sicher, welche der vielen avrdude Optionen nun wirklich Praxisrelevant sind und welche nur für Sonderfälle benötigt werden. Das User Interface des Plugins soll sich natürlich an der gängigen Praxis orientieren und die Sonderfälle in etwas tieferen Einstellungsebenen "verstecken". Cheers Thomas
Datum: 12.03.2008 17:31
Die Programmierung der Fusebits ist denke ich der schwierigste Teil. Die meisten Programme bieten einfach für jedes Fusebit ein Kästchen mit Häkchen. Ich persönlich bevorzuge da das AVR Studio. Allerdings ist die Umsetzung relativ komplex. Ich wollte mich ja eigentlich daran beteiligen, aber ich werd aus Eclipse einfach nicht schlau :(
Datum: 12.03.2008 21:05
Was Fusebits angeht, so bin ich mir im Moment noch unschlüssig, ob es besser ist sie als eigene Files zu speichern oder lieber als Project Properties. Beides hat Vor- und Nachteile. Ersteres hat den Vorteil, das man die Fusebits als File leicht von Projekt zu Projekt kopieren kann und man die Files "leicht" z.B. in ein .obj file umwandeln könnte und in ein .elf file hineinlinken könnte. Nachteil ist, das es schwierig ist, den MCU Type der Fusebits mit dem des Projekts oder einer Bestimmten Build Configuration zu synchronisieren. Bei Fusebits als Project Properties wäre es genau andersrum. Was die Darstellung angeht: Einfach nur eine lange Liste mit Fusebit Settings anzubieten á la AVR Studio finde ich auch nicht optimal. Ich denke da mehr so in die Richtung von AVR32 Studio, wo die Fusebits (als File) in einem speziellen Editor übersichtlich gruppiert werden. Ich glaube, dass man genügend Informationen aus den PartDefinitionFiles ziehen kann um das so oder so ähnlich umzusetzen. brgds Thomas
Datum: 12.03.2008 21:10
Thomas Holland wrote: > Was die Darstellung angeht: Einfach nur eine lange Liste mit Fusebit > Settings anzubieten á la AVR Studio finde ich auch nicht optimal. Die lange Liste gibt es ja nur bei den Clock Settings. Und SOO lang ist die auch wieder nicht. Man könnte es höchstens splitten und Clock Source und Start Up Time getrennt einstellen. Ansonsten finde ich die Fusebit Einstellung vom AVR Studio genau richtig
Datum: 12.03.2008 21:35
Ich habe gerade noch mal nachgeschaut und gesehen, das in der neusten Version von AVR Studio die Darstellung ganz gut ist - ich hatte noch die Darstellung der Vorgängerversion (4.12?) im Kopf. Aber schau Dir mal AVR32 Studio an. Das finde ich noch deutlich übersichtlicher und definitiv mehr Eclipse-like. Aber wie gesagt - erstmal möchte ich die Frage klären ob Projekt Properties (wie in AVR Studio) oder Files (wie in AVR32 Studio). Davon hängt auch die visuelle Gestaltung ab. Thomas
Datum: 30.03.2008 00:02
ich habe suse 10.3 drauf. bei apdateversuch kommt diese meldung. The current configuration contains errors and this operation can have unpredictable results. Eclipse Plug-in Development Environment (3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC) requires feature "org.eclipse.jdt (3.0.0)", or compatible. heisst das, ich muss eine alte eclipse suchen ???
Datum: 30.03.2008 09:59
Datum: 30.03.2008 14:28
Ich habe da auch noch eine Frage, von der ich nicht ganz sicher bin, ob sie vom AVR-Plugin (Vers. 2.1.1) abhängt?! Bei mir werden im Source-Code immer diverse Macros als fehlerhaft unterschlängelt [cli(), sleep_enable(), etc...], obwohl der Compiler alles OK findet. Wer macht eigentlich in Eclipse die Vorab-Syntaxüberprüfung im Editor und kann man das o.g. Verhalten irgendwie ändern (das stört...) Ciao - Robert
Datum: 30.03.2008 14:36
gast wrote: > ich habe suse 10.3 drauf. > bei apdateversuch kommt diese meldung. > > The current configuration contains errors and this operation can have > unpredictable results. > Eclipse Plug-in Development Environment > (3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC) requires feature > "org.eclipse.jdt (3.0.0)", or compatible. > > heisst das, ich muss eine alte eclipse suchen ??? natürlich nicht. Woher die Fehlermeldung kommt kann ich Dir allerdings auch nicht sagen. Weder hat das AVR Plugin irgendwas mit dem "Eclipse Plug-in Development Environment" zu tun (es sei denn man möchte das Plugin selbst compilieren), noch gibt es irgendwelche Referenzen zum Java Development Toolkit (= org.eclipse.jdt). Könntest Du "apdateversuch" etwas näher spezifizieren? Update von was auf was? Gruss, Thomas
Datum: 30.03.2008 16:15
Hallo Robert, > Ich habe da auch noch eine Frage, von der ich nicht ganz sicher bin, ob > sie vom AVR-Plugin (Vers. 2.1.1) abhängt?! > > Bei mir werden im Source-Code immer diverse Macros als fehlerhaft > unterschlängelt [cli(), sleep_enable(), etc...], obwohl der Compiler > alles OK findet. Ich habe es gerade ausprobiert und bei mir sieht alles richtig aus - keine Fehlermarkierungen bei den Makros und wenn ich den Mousecursor auf einen der Macros halte zeigt der Editor die Definition des Macros in einem kleinen Popup an. D.H. es geht grundsätzlich und Dein Problem müsste sich durch irgendeine Einstellung in Eclipse lösen lassen. Fragt sich nur welche! Und da kann ich jetzt nur Vermuten... Schau doch mal im "Outline" View für Deine C Datei nach, ob die Includes (z.B. avr/sleep.h) ein kleines Warndreieck haben. Wenn ja, dann musst Du mal schauen, ob bei den Project Properties unter "C/C++ Build > Discovery options" als "Discovery profile" "AVRGCCManagedMakePerProjectProfileC" eingestellt ist. Ob "per Language" oder "per Configuration" sollte an sich egal sein, es sei denn Du benutzt C++ oder Assembler. Wenn das nicht funktioniert, dann kannst Du versuchen, dem Editor über "Project Properties > C/C++ General > Paths and Symbols" im "Includes" Tab den Pfad zu den AVR Header Dateien manuell mitzuteilen. Ansonsten schau doch mal unter den "Preferences > C/C++ > Indexer" nach, ob dort entweder der "Fast Indexer" oder der "Full Indexer" aktiv ist. Hat zwar der Funktionsbeschreibung nach nichts mit Deinem Problem zu tun, aber schauen kost ja nix :-). Sag mir bitte bescheid, ob eine der Methoden Erfolg hatte oder ob das Problem weiter besteht. > > Wer macht eigentlich in Eclipse die Vorab-Syntaxüberprüfung im Editor > und kann man das o.g. Verhalten irgendwie ändern (das stört...) Der C Editor hat das Problem, dass er zwar C Sourcecode analysieren kann, aber grundsätzlich erstmal nicht weiß, wo sich die Include Dateien befinden und er sie dementsprechend auch nicht laden und analysieren kann. Dazu braucht der Editor das Discovery Profile, welches im Hintergrund den Compiler mit den Optionen "-E -P -v -dD" aufruft, um eine Liste aller im Compiler eingebauten Include Pfade und der vordefinierten Symbole zu generieren. Zum Abschalten der Syntax-Prüfung habe ich leider keine Option in Eclipse gefunden. > > Ciao - Robert Liebe Grüße, Thomas
Datum: 30.03.2008 16:44
. verfahren nach ... http://avr-eclipse.sourceforge.net/index.html Download There are two ways to download the AVR Eclipse Plugin. Update Site ergebnis ....
Datum: 30.03.2008 17:24
Gast wrote: > . > verfahren nach ... > http://avr-eclipse.sourceforge.net/index.html > > Download > > There are two ways to download the AVR Eclipse Plugin. > Update Site > > ergebnis .... OK. Ich bin mir ziemlich sicher, das Dein Problem nicht am AVR Plugin liegt, sondern das Deine Eclipse Installation ein Konfigurationsproblem hat. Die Fehlermeldung "The current configuration contains errors..." bezieht sich auf Deine Eclipse Installation. Ich nehme mal an, dass Du keine Plugins selbst entwickeln möchtest. Dann könntest Du das Plug-in Development Environment - das anscheinend den Fehler auslöst - deaktivieren oder entfernen. Dazu in Eclipse via "Help > Software Updates > Manage Configurations" den "Product Configuration" Dialog aufrufen. Dort den Eintrag "Eclipse Plug-in Development Environment 3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC" suchen, rechts-click und "Disable" wählen. Dann sollte alles wieder normal funktionieren. Hintergrund: So wie ich es sehe ist "Eclipse Plug-in Development Environment 3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC" nicht kompatibel mit neueren Eclipse Versionen (3.3.1 und aufwärts). Ich benutze das PDE natürlich ausgiebig um das AVR Plugin zu entwickeln und bei mir ist diese Version des PDE auch deaktiviert und dafür die Version "3.3.2.R33x...." aktiv. Nur mal interessehalber (weil Du der erste mir bekannte SUSE Nutzer meines Plugins bist): Wie hast Du Eclipse installiert? Direkter Download von eclipse.org oder als RPM package? Bei letzterem - welche Eclipse Version hat das Package? (Versionsnummer über Help > About Eclipse Platform) Thomas
Datum: 30.03.2008 18:16
. nix zum deaktivieren gefunden... das ist alles eine automatische installation aus repository-bremen aber da scheint noch mehr nicht zu stimmen ?? -- muss wohl doch die rpms holen ?? aber da ist wieder die frage verträgt sichs mit suse. ;-((
Datum: 30.03.2008 18:36
Gast wrote: > . > nix zum deaktivieren gefunden... > > das ist alles eine automatische installation aus repository-bremen > > aber da scheint noch mehr nicht zu stimmen ?? Sieht fast so aus. > -- > > > muss wohl doch die rpms holen ?? > aber da ist wieder die frage verträgt sichs mit suse. ;-(( Brauchst Du nicht. Eclipse läuft wunderbar stand-alone, also ohne jede Installation. Du brauchst nur eine halbwegs aktuelle Java Runtime, sonst nichts. Geh auf http://www.eclipse.org/downloads/ und download das Packet "Eclipse IDE for C/C++ Developers". Dann einfach in ein irgendein les- und schreibbares Verzeichnis entpacken (z.B. in Deinem Home directory) und starten. Damit sollte es dann funktionieren.
Datum: 30.03.2008 20:35
Hallo Thomas, DANKE !!!! DAS war der tip des tages. ------------------------------- Eclipse Platform Version: 3.3.2 Build id: M20080221-1800 ------------------------------- habe alles alte runtergeschmissen ... sieht soweit alles gut aus und avrdude meldet sich auch. weiss nicht was in den dateien von bremem da los war. . nun kommt mein nächstes problem wie übersetze ich winavr-quellen nun unter eclipse ? ;-)
Datum: 30.03.2008 21:12
>> Bei mir werden im Source-Code immer diverse Macros als fehlerhaft >> unterschlängelt [cli(), sleep_enable(), etc...], obwohl der Compiler >> alles OK findet. > Ich habe es gerade ausprobiert und bei mir sieht alles richtig aus - > keine Fehlermarkierungen bei den Makros und wenn ich den Mousecursor auf > einen der Macros halte zeigt der Editor die Definition des Macros in > einem kleinen Popup an. DAS funktioniert bei mir auch! [...] > Schau doch mal im "Outline" View für Deine C Datei nach, ob die Includes > (z.B. avr/sleep.h) ein kleines Warndreieck haben. Haben sie nicht! Die Fehlermeldungen werden nur in den Source-Dateien angezeigt (Interessanterweise werden die gleichen Macros in einer Header-Datei also nicht als Fehler angezeigt (dort funktioniert auch das F3 nicht). > Wenn ja, dann musst Du mal schauen, ob bei den Project Properties unter > "C/C++ Build > Discovery options" als "Discovery profile" > "AVRGCCManagedMakePerProjectProfileC" eingestellt ist. Ob "per Language" > oder "per Configuration" sollte an sich egal sein, es sei denn Du > benutzt C++ oder Assembler. > Wenn das nicht funktioniert, dann kannst Du versuchen, dem Editor über > "Project Properties > C/C++ General > Paths and Symbols" im "Includes" > Tab den Pfad zu den AVR Header Dateien manuell mitzuteilen. > Ansonsten schau doch mal unter den "Preferences > C/C++ > Indexer" nach, > ob dort entweder der "Fast Indexer" oder der "Full Indexer" aktiv ist. > Hat zwar der Funktionsbeschreibung nach nichts mit Deinem Problem zu > tun, aber schauen kost ja nix :-). War alles schon so... > Sag mir bitte bescheid, ob eine der Methoden Erfolg hatte oder ob das > Problem weiter besteht. Ist leider noch alles beim alten. Was noch auffällt ist, dass es sich offensichtlich nur um Makros handelt, in denen sich Inline-Assembler Anweisungen befinden:
#define cli() __asm__ __volatile__ ("cli" ::) |
Ciao - Robert
Datum: 31.03.2008 00:27
Gast wrote: > Hallo Thomas, > > DANKE !!!! > > DAS war der tip des tages. > ------------------------------- > Eclipse Platform > > Version: 3.3.2 > Build id: M20080221-1800 > ------------------------------- Das höre ich gerne :-) > habe alles alte runtergeschmissen ... > > sieht soweit alles gut aus und avrdude meldet sich auch. > > weiss nicht was in den dateien von bremem da los war. > > . > nun kommt mein nächstes problem > > wie übersetze ich winavr-quellen nun unter eclipse ? ;-) Gar nicht :-) winAVR ist, wie der name schon andeutet, eine Portierung des avr-gcc compilers und der gesamten toolchain für Windows. Für Suse musst Du entweder die RPMs mit der AVR toolchain installieren (frag mich aber bitte nicht, wo es die gibt - ich benutzt nur Ubuntu, habe aber irgendwann irgendwo mal gelesen, dass es die auch für Suse gibt), oder Du kompilierst sie Dir selbst. Beides (wenn auch nicht Suse spezifisch) ist im Project Wiki beschrieben: http://avr-eclipse.wiki.sourceforge.net/The+AVR-GC...
Datum: 31.03.2008 00:58
Robert Höller wrote: >>> Bei mir werden im Source-Code immer diverse Macros als fehlerhaft >>> unterschlängelt [cli(), sleep_enable(), etc...], obwohl der Compiler >>> alles OK findet. > >> Ich habe es gerade ausprobiert und bei mir sieht alles richtig aus - >> keine Fehlermarkierungen bei den Makros und wenn ich den Mousecursor auf >> einen der Macros halte zeigt der Editor die Definition des Macros in >> einem kleinen Popup an. > > DAS funktioniert bei mir auch! > > [...] > >> Sag mir bitte bescheid, ob eine der Methoden Erfolg hatte oder ob das >> Problem weiter besteht. > > Ist leider noch alles beim alten. Was noch auffällt ist, dass es sich > offensichtlich nur um Makros handelt, in denen sich Inline-Assembler > Anweisungen befinden: >
#define cli() __asm__ __volatile__ ("cli" ::) |
> > Ciao - Robert Versuch doch mal mit den Language Mappings rumspielen. Bei den Project Properties unter "C/C++ General > Language Mappings" kann man einstellen, welchen Sprachstandard der Editor für das Projekt benutzt. Bei mir kann ich da "GNU C" und "C99" (sowie "GNU C++" und "Assembler") auswählen. Da "__asm__" wohl eine GNU spezifische Spracherweiterung ist könnte das vielleicht helfen. (C99 kommt übrigens vom C99 Parser Plugin, zu finden auf der CDT Updatesite ( http://download.eclipse.org/tools/cdt/releases/europa ) unter "CDT Optional Features") Thomas
Datum: 31.03.2008 21:06
Thomas Holland wrote: [...] > Versuch doch mal mit den Language Mappings rumspielen. Bei den Project > Properties unter "C/C++ General > Language Mappings" kann man > einstellen, welchen Sprachstandard der Editor für das Projekt benutzt. > > Bei mir kann ich da "GNU C" und "C99" (sowie "GNU C++" und "Assembler") > auswählen. Da "__asm__" wohl eine GNU spezifische Spracherweiterung ist > könnte das vielleicht helfen. > > (C99 kommt übrigens vom C99 Parser Plugin, zu finden auf der CDT > Updatesite ( http://download.eclipse.org/tools/cdt/releases/europa ) > unter "CDT Optional Features") Habe ich probiert, aber mit "C99" wird fast alles unterschlängelt :-( Interessanterweise bei "Assembler" nicht! (???) Wenn das so kompliziert ist, lasse ich es halt. Eigentlich wollte ich nämlich an meiner Applikation weiterarbeiten und das geht seit gestern (ich hatte da noch ein paar andere Baustellen mit dem avr-gcc und seinen Tools...) Trotzdem vielen Dank - Robert
Datum: 01.04.2008 11:39
. > Für Suse musst Du entweder die RPMs mit der AVR toolchain installieren > (frag mich aber bitte nicht, wo es die gibt - ich benutzt nur Ubuntu, > habe aber irgendwann irgendwo mal gelesen, > dass es die auch für Suse gibt), suse 10.3 hat wohl eine etwas andere strucktur. und da sind die avr sachen als Cross-avr-gcc / Cross-avr-binutil ...usw. in der installation ich habe Cross-avr-gcc / Cross-avr-gcc42 installiert weil mir da noch abhängigkeiten waren die ich mir nicht erklären konnte. der phat wird dann wohl in der config dynamisch verwaltet. nur zu arm giebts bei suse nix zu finden. .
Datum: 01.04.2008 12:42
. die AVR toolchain und avrdude landen bei suseinstallation in /opt/cross .... bei sourcen, kleineren win-avr-projekte sieht die übersetzung erst mal gut aus. bei grossen giebts wohl lib-unterschiede (oder versionsunterschiede) ich fange erst mal klein an.. ;-) übrigends scheint auf dem ersten blick arm nach... http://www.mikrocontroller.net/articles/ARM_GCC_to... auch zu funktionieren. bei gleichnamigen .lib findet er allerdings immer die vom avr ?
Datum: 03.04.2008 14:45
Hi! Versuche gerade von Eclipse Europa 3.3.0 mit AVR-Eclipse 20070623 auf Eclipse Europa Winter 3.3.2 und AVR-Eclipse 2.1.1 upzudaten. "Installation" soweit ok. Jedoch läuft mein altes Projekt damit nicht. Bekomme sowohl "The Currently displayed Page contains invalide Values", als auch "There are no converters available..." wenn ich Convert To.. versuche. Ist das 20070623 Plugin zu alt um das Projekt konvertieren zu können? Muß ich das von Hand wieder neu aufbauen? Sorry für die Fragen, aber bin nicht so der Eclipse Experte. ;-)
Datum: 03.04.2008 15:31
Also auch wenn ich ein neues Projekt mit Ecl 3.3.2 und Plugin 2.1.1 erstelle, habe ich Probleme mit dem MCU Type. Im Wizard kommt eine leere Dropdown-Liste für die MCUs und in den Project Properties bekomme ich die "The currently displayed page... " - Meldung wenn ich das erste mal auf AVR Target Hardware klicke, beim zweiten Versuch bekomme ich auch dort nur ein leeres Dropdown hinter MCU Type. Verstelle ich MCU und FCPU hinterher in den Environment settings, wird das beim Build ignoriert. Jemand eine Idee?
Datum: 04.04.2008 10:44
Ich bekomme die Version 2.1(.1) ums Verrecken auf MEINEM PC nicht zum Laufen. Auf allen anderen scheints zu gehen. Gibt es eine Möglichkeit zu debuggen, woran sich das Plugin bei mir stört? Mein System: XP Pro SP2, Dual Xeon, Java 1.6.0_05-b13 (aber auch ältere Java-Versionen probiert) Der Witz ist: Es läuft nicht mal in VMWare in einem sauberen System auf dem selben Rechner. Muß also irgendwie an der Maschine liegen. Vielleicht die zwei Prozessoren?? Sonst fällt mir nichts exotisches ein. Also das Problem bei mir nochmal: Sowohl im Project-Wizard als auch in den Project-Properties wird der Dialog für die Target Hardware nicht angezeigt. Zuerst kommt die Fehlermeldung (siehe oben) Beim zweiten Klick passiert gar nichts. Beim dritten Klick kommt der Dialog mit leerer Dropodown Liste für die Prozessoren und das Feld für die Taktfrequenz fehlt gänzlich! Grüße, Frank
Datum: 04.04.2008 11:22
Kurzer Nachtrag: Bei einem Kollegen, der die selbe Workstation hat, funktioniert es auch nicht..
Datum: 04.04.2008 11:23
Gast wrote: > > ich habe Cross-avr-gcc / Cross-avr-gcc42 installiert > weil mir da noch abhängigkeiten waren die ich mir nicht erklären konnte. > der phat wird dann wohl in der config dynamisch verwaltet. > > die AVR toolchain und avrdude landen bei suseinstallation > in /opt/cross Falls das Plugin den falschen avr-gcc Compiler erwischt kannst Du den Pfad zum Compiler in den Preferences ändern. Hintergrund zur automatischen Pfadermittlung des Plugins: Unter Linux startet das Plugin zuerst ein "which avr-gcc". Wenn ein "avr-gcc" schon im System Path steht, wird er auf diese Art gefunden. Sollte "avr-gcc" noch nicht im Path sein, dann versucht das Plugin es noch mit einem "find opt -path avr-gcc" und übernimmt die erste Fundstelle. (/opt und noch ein paar andere typische Pfade wie /usr/local etc.) > .... bei sourcen, kleineren win-avr-projekte > sieht die übersetzung erst mal gut aus. > bei grossen giebts wohl lib-unterschiede (oder versionsunterschiede) > ich fange erst mal klein an.. ;-) Ich bin jetzt kein großer GCC Experte, aber ich glaube, dass der Pfad zur libc im Linker fest verdrahtet ist, das also schon bei der Compilierung des gcc festgelegt wird, wo die libc grundsätzlich zu finden ist. (Bitte korrigieren, wenn das nicht stimmen sollte) Gegenbenfalls kann man noch mit dem "Libraries Path" Einstel


