Forum: Mikrocontroller und Digitale Elektronik (Hilfe!) Was muss ich als Grasshopper-Anfänger beachten?


von Kriz L. (kriz)


Lesenswert?

Hallo, alle zusammen.

Wie ich sehe, arbeiten einige in dem Forum mit dem Grasshopper.

Ich habe einige Fragen und wäre um jede Hilfestellung dankbar.

Ich habe auf einer VM mit Debian mehrmals schon versucht die Toolchain 
(zweimal die ATMEL Buildroot + Grasshopper Patch (hier aus dem Forum) 
und mehrmals schon die Original Buildroot von in-circuit) zu 
installieren, hab aber immer Probleme gehabt. Ich weiss nicht, woran es 
immer lag.
(Beispiele:
- gdb&gcc nicht richtig konfiguriert, so dass die Dateien nicht auf dem 
Grasshopper liefen
- Abbruch des make mit (sinngemäß) "no POSIX threads support" (leider 
keine Lösung um Internet gefunden)

- Hat jemand von euch Tipps, welche Buildroot besser ist 
(normalerweise)? - Welches Betriebssystem sollte bevorzugt werden 
(Debian, Ubuntu, SuSe...)?
- Gibt es irgendwelche Einstellungen, die essentiell sind bzw, die 
getrost ignoriert werden können?

Oder einfach nur: Unter welchem Betriebssystem und mit welchen 
Einstellungen läuft bei euch welche Buildroot (relativ) problemlos?

Vielen Dank schonmal an alle, die bereitwillig helfen!

von Marius W. (mw1987)


Lesenswert?

Hast du alle Pakete, fürs Buildroot installiert? Also flex, bison usw.? 
Liste findest du hier: http://www.atmel.no/buildroot/buildroot-doc.html

Außerdem schreibst du von gcc und gdb. Für den Grasshopper musst du 
avr32-linux-gcc nehmen... Der erstellt dir executables für den AVR32.

MfG
Marius

EDIT: Ich habs selbst alles kompiliert bekommen unter Ubuntu 8.04 und 
8.10. Wenn du die Atmel-Toolchain nehmen wollst (also die 
vorkompilierte), dann nimm Ubuntu 8.04. Mit 8.10 gibts da noch Probleme. 
Aber buildroot läuft auf beiden (mit GCC 4.2!).

von Kriz L. (kriz)


Lesenswert?

Wow, schon die erste Antwort! froi

Ja, also das installieren von libacl und lzo (vielleicht auch zlib) hat 
beim ersten Versuch mit der ATMEL Buildroot funktioniert (über Debian 
Package Manager), aber hat dann irgendwie beim 2. Mal (nachdem ich mein 
Debian nochmal neu aufgezogen hab) nicht geklappt. (Die anderen Sachen 
waren problemlos zu installieren.) Trotz einer angeblich erfolgreichen 
Installation von libacl gab es dann immer Fehler wie (sinngemäß) 
"libacl1 needed for ...", "zlibxxx needed for ..." etc. Da war ich dann 
auch hilflos.

Was ist denn mit dem GDB. Brauch ich den dann gar nicht? Und wie wichtig 
ist, dass ich GCC 4.2 und nicht z.B. GCC 4.3.2 installiere?

Danke für die Antworten. Werde später mal ausprobieren, ob es mir 
weiterhilft...

von Marius W. (mw1987)


Lesenswert?

Also den GDB brauchst du erstmal nur, wenn du Debuggen wollst. Da hab 
ich aber noch nicht so die Erfahrung mit. Bisher habe ich immer den 
vorkompilierten Atmel-gdb benutzt. Aber du kannst im Buildroot angeben, 
dass der gdb auf den Grasshopper aufgespielt wird und du dann übers 
Netzwerk die Linux-Anwendungen debuggen kannst. Die Option im Buildroot 
heißt glaube ich "gdb in target" oder so ähnlich.

Eigentlich sollten die Packages mit apt sehr einfach zu installieren 
sein. Apt sollte sicherstellen, dass alle Abhängigkeiten erfüllt sind. 
Nutze kein Debian und kann das Problem leider im Moment nicht 
nachvollziehen.

Der gcc-4.2 ist wichtig, damit du das Buildroot kompiliert bekommst. Die 
4.3er Version vom gcc eckt da extrem an. (Siehe diesen 
avrfreaks.net-Thread: 
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=70294)

MfG
Marius

von Kriz L. (kriz)


Lesenswert?

Hmmm vielleicht lag es daran.

Ich will ja schon debuggen aber nicht unbedingt auf der Maschine, 
sondern auf meinem PC. Naja, ich bekomm jetzt erstma Ubuntu und dann 
schaun wir ma weiter, wie's dann damit aussieht. Ich hoffe, es klaptt 
endlich mal!

Danke nochmal für deine Hilfe! Werd mich sicherlich nächste Woche 
nochmal melden...

von Kriz L. (kriz)


Lesenswert?

So, nun bin ich (trotz ubuntu 8.04) an der selben Stelle wie vorher:

error "***gdb does not support native target avr32-unknown-linux-uclibc"

Kennt das vielleicht jemand und/oder weiss wie ich dieses Problem 
beheben könnte? Oder vielleicht kann mir jmd sagen, was ich falsch 
mache?

von Kriz L. (kriz)


Lesenswert?

Ach so, hier noch n paar Infos:

Meine Dependencies sind alle OK.
GDB ist Version 6.8.
GCC ist Version 4.2.4.

von Marius W. (mw1987)


Lesenswert?

Nutzt du das Original Atmel Buildroot?

Wenn ja, dann klär uns mal auf, was du im Gegensatz zur 
Default-Konfiguration geändert hast.
Deine Fehlermeldung klingt sehr nach einem fehlendem Patch für den gdb.

Nutzt du das normale Buildroot, dann probier mal das Atmel Buildroot 
aus. Damit hatte bisher noch nie groß Probleme.

MfG
Marius

von Werner B. (werner-b)


Lesenswert?

Vorschlag: Wühle dich erst einmal durch
http://www.avrfreaks.net/wiki/index.php/Documentation:AVR32_Linux_Development/Getting_started_with_AVR32_Linux_Development#Debugging

Bezieht sich zwar auf das ST1000, das macht aber keinen großen 
Unterschied.

von Kriz L. (kriz)


Lesenswert?

So, danke erstmal wieder einmal für die Hilfe. Ich glaube, ich weiss 
jetzt, warum dass mit dem gdb nicht funktioniert. Ich hab versucht gdb 
für den grasshopper mit zu installieren und das wollte der wohl 
irgendwie nicht so gern.

So nun habe ich die toolchain, aber ich soll ja avr32-linux-gcc 
benutzen. Wieso zum Teufel steht das eigentlich in keiner Doku und wieso 
braucht man laut embedded-project "nur" gcc? Naja, wie dem auch sei, ich 
werde mich mal damit auseinandersetzen!

Ich habe aber da noch Probleme mit dem Ansteuern der beiden Ports C und 
D. Nach dem Starten zeigt mir der Grasshopper folgendes an:
1
eth0: link up (100/Half)
2
created gpio0 (port0/0x0000002f) as (254:0)
3
created gpio1 (port1/0x00000001) as (254:1)
4
created gpio2 (port2/0xff800000) as (254:2)
5
created gpio3 (port3/0x0000003f) as (254:3)
6
starting pid 803, tty '/dev/ttyS0': '/sbin/getty'

Nun geh ich davon aus, dass meine Ports funktionieren, aber bsi lang hab 
ich bei C und D keinen Erfolg gehabt. Hier mein Code:
1
#!/bin/sh
2
#PORT C
3
mkdir /config/gpio/gpio2
4
cd /config/gpio/gpio2
5
echo 2 > gpio_id
6
echo 0xFFF800000 > pin_mask
7
echo 0xFFF800000 > oe_mask
8
echo 1 > enabled

Trotzdem kann ich keinen Pin 19 z.B ansteuern! Was mach ich falsch?

von Kriz L. (kriz)


Lesenswert?

Ich bekomme nun beim installieren von AVR32-linux-gcc Fehlermeldungen 
(ganz schön anstrengend das ganze mit Linux zu machen. *schweiß von der 
stirn wisch*). Nachdem ich alles so mache wie in der Anleitung des 
AVRfreaks-Wiki beschrieben, bekomme ich beim make
exec: 2: --pic not found.


Übrigens: Ich hab nun Ubuntu 8.04 und gcc 4.2.4... Liegt's vielleicht am 
gcc 4.2.4?

von Kriz L. (kriz)


Lesenswert?

Hallo,

ich hab's nu hinbekommen. Danke an alle, die mir geschrieben haben. Ihr 
wart eine große Hilfe.

von Robin T. (rotoe) Benutzerseite


Lesenswert?

Hallo,

ich bin auch gerade dabei einen kernel für Grasshopper zu machen. Ich 
lade jedesmal das Gebaute uImage per U-Boot an die Adresse 30000. 
Allerdings endet es fast immer in Kernel-Panic. Ich hoffe jemand kann 
mir sagen warum.

Danke schonmal

von brz4 (Gast)


Lesenswert?

Da http://sr11.sharebase.de/files/grasshopper.tar.gz bzw. 
http://sr11.sharebase.de/files/icnova_base_cd.tar.bz2 ja nicht mehr 
verfügbar ist, stellt sich die Frage wo man die grasshopper files laden 
kann?
Oder muss man doch für 3 EUR + Versand ne CD kaufen?

von Udo S. (udo)


Lesenswert?

was willst du denn mit den alten files?
Man nehme Ubuntu 8.04 und den Buildroot 2.3.0 von hier:
http://www.atmel.no/buildroot/buildroot-src.html
plus den Grasshopper-Patch von hier:
Beitrag "AVR32 grasshopper patch für ATMEL buildroot 2.3.0"
und man hat alles was man braucht.

Gruß
Udo

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.