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!
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!).
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...
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
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...
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?
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
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?
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?
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