www.mikrocontroller.net

Forum: GCC AVR Eclipse Plugin 2.1 Released

Autor: Thomas Holland (innot)
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).
Autor: Oliver (Gast)
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
Autor: Thomas Holland (innot)
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.
Autor: Stefan (Gast)
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
Autor: Thomas Holland (innot)
Datum: 12.02.2008 23:04
Dateianhang: Bug1.gif (14 KB, 92 Downloads)
preview image for Bug1.gif

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
Autor: Stefan (Gast)
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
Autor: Thomas (Gast)
Datum: 18.02.2008 08:54

Hab das jetzt mal getestet, funktioniert ganz gut soweit, Danke!

Die Binarys sind etwas größer als mit Winavr, aber das ist wohl nur ne
Frage der Compilerflags.

Gibt es eigentlich keine Möglichkeit das Binary auf Knopfdruck direkt
aus Eclipse in den AVR zu bekommen?

Gruß,
Thomas
Autor: Ha Jo (Gast)
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
Autor: Peter (Gast)
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
Autor: Ha Jo (Gast)
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
Autor: Thomas Holland (innot)
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
Autor: Ha Jo (Gast)
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
Autor: Thomas Holland (innot)
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
Autor: Peter (Gast)
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
Autor: Ha Jo (Gast)
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
Autor: Peter (Gast)
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?
Autor: Ha Jo (Gast)
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
Autor: Peter (Gast)
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...
Autor: Andreas (Gast)
Datum: 21.02.2008 21:19

Ich verwende das Plugin und auch den AVR Simulator. Beim Debuggen
funktioniert jedoch der "Step Over" nicht korrekt. Er springt immer in
die Funktion, anstatt drüber. Ich weiß nicht ob das ein Problem das
Plugins ist, oder mehr das Problem des AVR Simulators.

Kennt jemand das Problem?
Autor: Thomas Holland (innot)
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
Autor: Ha Jo (Gast)
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
Autor: Sven K. (skasko)
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
Autor: Thomas Holland (innot)
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
Autor: Sven K. (skasko)
Datum: 10.03.2008 17:27

Alles klar und danke für die schnelle Antwort.

Gruß
Sven
Autor: Thomas Holland (innot)
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
Autor: Markus Burrer (_mb_)
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 :(
Autor: Thomas Holland (innot)
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
Autor: Markus Burrer (_mb_)
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
Autor: Thomas Holland (innot)
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
Autor: gast (Gast)
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 ???
Autor: Werner B. (Gast)
Datum: 30.03.2008 09:59

@ Thomas Holland,

>Aber schau Dir mal AVR32 Studio an. Das finde ich noch deutlich
>übersichtlicher und definitiv mehr Eclipse-like.

Kein Wunder,
AVR32 Studio IST Eclipse ;-)
Autor: Robert Höller (Gast)
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
Autor: Thomas Holland (innot)
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
Autor: Thomas Holland (innot)
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
Autor: Gast (Gast)
Datum: 30.03.2008 16:44
Dateianhang: FEHLER.gif (90,4 KB, 49 Downloads)
preview image for FEHLER.gif

.
verfahren nach ...
http://avr-eclipse.sourceforge.net/index.html

Download

There are two ways to download the AVR Eclipse Plugin.
Update Site

ergebnis ....
Autor: Thomas Holland (innot)
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
Autor: Gast (Gast)
Datum: 30.03.2008 18:16
Dateianhang: FEHLER_2.gif (53,3 KB, 23 Downloads)
preview image for FEHLER_2.gif

.
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.  ;-((
Autor: Thomas Holland (innot)
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.
Autor: Gast (Gast)
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 ?  ;-)
Autor: Robert Höller (Gast)
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
Autor: Thomas Holland (innot)
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...
Autor: Thomas Holland (innot)
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
Autor: Robert Höller (rhh)
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
Autor: Gast (Gast)
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.

.
Autor: Gast (Gast)
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 ?
Autor: ARM-Fan (Gast)
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. ;-)
Autor: ARM-Fan (Gast)
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?
Autor: ARM-Fan (Gast)
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
Autor: ARM-Fan (Gast)
Datum: 04.04.2008 11:22

Kurzer Nachtrag: Bei einem Kollegen, der die selbe Workstation hat,
funktioniert es auch nicht..
Autor: Thomas Holland (innot)
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