PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Nutzung von Eclipse



shell
09.11.2008, 11:06
Hallo zusammen,

ich bin gerade dabei meine ganze Umgebung in Eclipse ein zu stellen. Hat da schon jemand Erfahrung oder vielleicht sogar schon so eingerichtet?

Würde dann auch eine komplette Anleitung dafür bauen und mein Wissen teilen. O:)

Gruß

shell

SlyD
09.11.2008, 12:51
Moin,

vielleicht hilft Dir das hier:
http://www.mikrocontroller.net/topic/103174

da gibts auch noch 10 andere Threads zu den jeweiligen Vorgängerversionen ;)

MfG,
SlyD

shell
09.11.2008, 16:31
Na ja, das war schon bekannt. Aber das was ich eigentlich meine ist eine komplette Anbindung im Eclipse. Dort kann ich ja auch direkt angeben das er drüber direkt flasht.

Und das war eigentlich meine Frage. Ich möchte halt nach Möglichkeit fast alles aus dem Eclipse machen.

zerush
09.11.2008, 16:42
Also ich habe in eclipse einfach avrdude als externes Tool angegeben...
Klappt prima.

Was genau musst du denn noch wissen?
Eigentlich musst du ja nur ein standard-make C-Projekt erstellen, den makefile anpassen und fertig.

Das AVR Plugin kenne ich leider nicht, aber dort steht:


Hauptneuigkeit ist natürlich die Unterstützung von avrdude. Damit kann
man jetzt Projekte direkt von Eclipse aus auf eine MCU hochladen.

Pr0gm4n
09.11.2008, 17:15
Hey,

wenn du den RP6 direkt flashen willst wirst du ein kleines Problem damit kriegen, dass du ihn ja über Bootloader programmierst, soweit ich das verstanden habe musst du also entweder selbst die ISP anbauen oder den RP6Loader nehmen...

LG Pr0gm4n

pyr0skull
09.11.2008, 19:09
Das Eclipse-AVR-Plugin funktioniert hervorragend, man hat dann auch entsprechende Projektvarianten zur Auswahl wo man nur noch MCU und Taktfrequenz auswählen muss. Der Rest wird automatisch erstellt.

shell
09.11.2008, 19:49
Welche Taktfrequent muss mann denn dort einstellen?

MSN
09.11.2008, 22:08
die die du brauchst?!

shell
11.11.2008, 20:00
Aha, und wie finde ich das raus? Woher weiß ich welche ich da benötige. Momentan steht da 1.000.000

Da ich mal absolut keine Ahnung habe, weiß ich weder ob das gut oder schlecht ist.

P.S.:
Man bin ich blöd. Da der Atmel mit 16 MHZ getaktet ist muss ich denn doch jetzt auch 16.000.000 HZ stellen oder?

shell
11.11.2008, 21:42
Ok, ich mache jetzt mal einen neuen Post auf, da ich sofort mehrere Frage haben.
Habe heute den RP6 bekommen und auch schon das Testprogramm drauf gepackt. Jetzt geht es mir eigentlich nur noch darum das ich das Eclipse ordentlich ans laufen krieg.

1.) siehe oberer Post. Auf was muss ich die Taktfrequenz einstellen?
2.) Wenn ich in meinem Eclipse eine neues Projekt erstellt habe, muss ich ja auch angeben, wob sich die RP6 Libs befinden, da er sonst nicht sauber kompilieren kann. Wo mache ich das?
3.) Damit ich mit avrdude den rp6 flashen kann muss ich den Hardwareprogrammer angeben. Welchen muss ich da einstellen?
4.) Wenn ich dann die vorhergehenden Probleme alle gelöst habe und mein Programm auf dem RP6 habe. Gibt eine Möglichkeit, das was im Terminal im RP6Loader ausgegeben wird auch im Eclipse zu sehen?

SlyD
12.11.2008, 19:27
1.) 8MHz = 8000000Hz
2.) Kann ich nichts zu sagen, keine Zeit das zu testen
3.) Das wird nicht gehen, der Bootloader im Mikrocontroller ist speziell für den RP6 geschrieben und funktioniert zur Zeit nur mit dem RP6Loader.
Aber so schlimm ist das nun auch nicht zum testen eben in der Taskleiste den RP6Loader in den Vordergrund zu holen und im Terminal STRG+Y zu drücken? ;) :)
(kostet 1 Mausklick und zwei Tastendrücke)

4.) Ich glaube nicht das Eclipse ein serielles Terminal (sowas wie Hyperterminal) intergriert hat?! Könnte evtl. per Plugin gehen.

MfG,
SlyD

shell
13.11.2008, 19:16
So, weitestgehend läuft mein Eclipse jetzt. Die Librarys habe ich auch eingebunden. Allerdings bekommt ich bei meinem erste Programm folgende Fehlermeldung:


**** Build of configuration Release for project bot6 ****

make all
Building file: ../hw6.c
Invoking: AVR Compiler
avr-gcc -I/home/hellmann/files/rp6libs -Wall -Werror -Os -fpack-struct -fshort-enums -funsigned-char -funsigned-bitfields -v -mmcu=atmega32 -DF_CPU=8000000UL -MMD -MP -MF"hw6.d" -MT"hw6.d" -c -o"hw6.o" "../hw6.c"
Es werden eingebaute Spezifikationen verwendet.
Ziel: avr
Konfiguriert mit: /var/tmp/cross/avr/portage/cross-avr/gcc-4.1.2/work/gcc-4.1.2/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/avr/gcc-bin/4.1.2 --includedir=/usr/lib/gcc/avr/4.1.2/include --datadir=/usr/share/gcc-data/avr/4.1.2 --mandir=/usr/share/gcc-data/avr/4.1.2/man --infodir=/usr/share/gcc-data/avr/4.1.2/info --with-gxx-include-dir=/usr/lib/gcc/avr/4.1.2/include/g++-v4 --host=i686-pc-linux-gnu --target=avr --build=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-libmudflap --disable-libssp --disable-libgcj --enable-languages=c --enable-shared --disable-threads
Finished building: ../hw6.c

Building target: bot6.elf
Invoking: AVR C Linker
avr-gcc -Wl,-Map,bot6.map -mmcu=atmega32 -o"bot6.elf" ./hw6.o
Thread-Modell: single
gcc-Version 4.1.2 (Gentoo 4.1.2 p1.1)
/usr/libexec/gcc/avr/4.1.2/cc1 -quiet -v -I/home/hellmann/files/rp6libs -MMD hw6.dhw6.o -MFhw6.d -MP -MThw6.d -MQ hw6.o -DF_CPU=8000000UL ../hw6.c -fno-delete-null-pointer-checks -quiet -dumpbase hw6.c -mmcu=atmega32 -auxbase-strip hw6.o -Os -Wall -Werror -version -fpack-struct -fshort-enums -funsigned-char -funsigned-bitfields -o /tmp/cccCzDbQ.s
nicht vorhandenes Verzeichnis »/usr/lib/gcc/avr/4.1.2/../../../../avr/sys-include« wird ignoriert
#include "..." - Suche beginnt hier:
#include <...> - Suche beginnt hier:
/home/hellmann/files/rp6libs
/usr/lib/gcc/avr/4.1.2/include
/usr/lib/gcc/avr/4.1.2/../../../../avr/include
Ende der Suchliste.
GNU C Version 4.1.2 (Gentoo 4.1.2 p1.1) (avr)
kompiliert von GNU-C-Version 4.1.2 (Gentoo 4.1.2 p1.1).
GGC-Heuristik: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 4fcd2811d1ba1df6f28f76c8bac03ce2
/usr/libexec/gcc/avr/as -mmcu=atmega32 -ohw6.o /tmp/cccCzDbQ.s
./hw6.o: In function `main':
hw6.c:(.text+0x0): undefined reference to `initRobotBase'
hw6.c:(.text+0x8): undefined reference to `writeString'
make: *** [bot6.elf] Fehler 1

Das Programm sieht so aus:


#include "RP6RobotBaseLib.h"
int main(void)
{
initRobotBase();
writeString("Hallo Welt!\n");
return 0;
}

Tom137
17.02.2009, 21:59
Hallo,

ich habe dasselbe Problem mit eclipse wie shell. Kann mir jemand sagen wie ich die Library’s für den RP6 einbinden muss.
Im Moment habe ich alle RP6 Library’s unter C:\Program Files\WinAVR-20081205\lib\gcc\avr\4.3.2\include-fixed abgelegt, weil diese Verzeichnis beim erstellen eines neuen Projekts bereits eingebunden wird. Wenn ich dann auf Build drücke bekomme ich diese Fehlermeldung

undefined reference to `initRobotBase'
undefined reference to `writeString'

Das seltsame ist wenn ich die Anfangsbuchstaben von z.B. initRobotBase eingebe und <CTRL><Space> drücke kommt einen Auswahl in der der richtige Befehl vorhanden ist.
Würde mich freuen, wenn mir jemand weiter helfen könnte, da ich eclipse für ein gute Programm halte, besonders für einen C-Anfänger wie mich, da man nicht alle Befehle der Library’s auswendig können muss.

ich verwende:
clipse Platform
Version: 3.4.1
Build id: M20080911-1700
natürlich mit dem aktuellen avr-plugin

Vielen Dank für eure Hilfe
Thomas

Pr0gm4n
18.02.2009, 14:24
Hi,

kann es sein dass die libraries nicht automatisch in den programmcode eingebunden werden, sondern nur schonmal zur verfügung stehen?
also dass man sich das #include blabla sparen kann

LG Pr0gm4n

Tom137
18.02.2009, 15:22
ich habe es mal ohne dem #Include versucht, dann bekomme ich zu den beiden Errors noch jeweils eine Warnung mit undefined reference to initRobotBase. Mich wundert nur, dass die libaries vom AVR ja auch funktionieren, soweit ich das beurteilen kann.

mfg Thomas

meatrn
21.05.2009, 20:52
Hallo Leute,
hab mir auch einen RP6 zugelegt und habe das selbe Problem mit der RP6Lib und eclipse. Habt ihre es nun hinbekommen?

gruß meatrn

Tom137
26.05.2009, 21:12
Hallo meatrn,
bei mir funktioniert das mit dem Eclipse jetzt, wie ich das gemacht habe kann ich dir auch nicht mehr genau sagen, da ich mir eine Vorlage erstellt habe und diese für jedes neue Projekt kopiere. Diese Vorlage habe ich angehängt, du must sie entpacken und von Eclipse aus aufrufen. Vermutlich must du die Pfade unter Project/Properties anpassen. Ich hoffe es funktioniert so.

Gruß
Thomas