Forum: Mikrocontroller und Digitale Elektronik Grasshopper Inbetriebnahme


von phi (Gast)


Lesenswert?

Wie wäre es eigentlich mit einem Artikel im Wiki zum Grasshopper? Dann 
könnte man mal so nach und nach alle bisherigen Erkenntnisse 
zusammenfassen...

von Christian (Gast)


Lesenswert?

@phi:

Schreibst Du den Rahmen des Wiki-Artikels? Ich setze meine Tipps usw. da 
gerne rein, nur, um das allgemeine Blah-Blah vorweg ("Der Grasshopper 
ist ein Board ...") zu schreiben habe ich keine Zeit (und keine Lust).

von Numen B. (numen)


Lesenswert?

Ich würde mich, soweit es mein wissen zulässt auch an dem wiki artikl 
beteiligen.

Gruss Flo

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Christian wrote:
> Ich setze meine Tipps usw. da
> gerne rein, nur, um das allgemeine Blah-Blah vorweg ("Der Grasshopper
> ist ein Board ...") zu schreiben habe ich keine Zeit (und keine Lust).

Sowas brauchst du gar nicht, das Wiki soll ja kein Lexikon sein. Fang 
doch einfach an zu schreiben was dir einfällt: AVR32 Grasshopper

von SiO2 (Gast)


Lesenswert?

Ich moechte mein rootfs im uboot flashen (im linux geht nich :( )
Aber:
Load address: 0x10400000
Loading: 
#################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #######################################
done
Bytes transferred = 8192000 (7d0000 hex)
ICNova> erase 30000 800000
Erasing sector  10...Erasing sector  11...Erasing sector  12...Erasing 
sector  13...Erasing sector  14...Erasing ses
ICNova> cp.b 10400000 30000 $(filesize)
Copy to Flash... Flash write error at address 0xa0030296: 0x94ce
General Flash Programming Error
ICNova> cp.b 10400000 30000 $(filesize)
Copy to Flash... Flash write error at address 0xa00301da: 0x24a4
General Flash Programming Error

Wie kann ich das Lösen?

von Christian Z. (christianz)


Lesenswert?

@SiO2:
> Wie kann ich das Lösen?

Ein heiles U-Boot verwenden. Siehe auch 
http://www.mikrocontroller.net/articles/AVR32_Grasshopper im Abschnitt 
"Flashen des JFFS2-Dateisystems mit U-Boot".

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Hei der Christian hat sich ja angemeldet... cool ;)

von Christian Z. (christianz)


Lesenswert?

@Werner B.:
> Das "setenv" hat generell ein Problem mit langen Zeilen.

Ab welcher Zeilenlänge? Ich scheine bisher noch nicht an das Limit 
gestoßen zu sein.

von Werner B. (Gast)


Lesenswert?

> Ab welcher Zeilenlänge?

Das habe ich nicht genauer ausprobiert. Bin mal mit einem ARM-Board auf 
das Problem gestossen und verwende set dem fast nur noch askenv.

Du brauchst nur Herrn Goggle nach "setenv askenv" zu fragen. Die ersten 
zwei Teffer gleich auf AVRFREAKS mit STK1000 und NGW100.

von Christian Z. (christianz)


Lesenswert?

@Werner B.:

Und es kann nicht sein, dass das mittlerweile mal gefixt wurde? Die 
Zeile, die in 
http://www.avrfreaks.net/wiki/index.php/Documentation:AVR32_Linux_Development/Filesystem_over_NFS_for_AVR32_Linux 
mit askenv eingegeben wird, akzeptiert mein U-Boot problemlos auch mit 
setenv. Ich hatte auch schon längere "bootargs", kein Problem.

von Werner B. (Gast)


Lesenswert?

A) Problem von Numen B. kling nach dem Problem #-|
B) Eine Umschreibung meiner Einstellung dazu: Wenn ich weiss dass dass 
ich über die Landstrasse genauso schnell an meinem Ziel bin wie über die 
(freie) Autobahn auf der vor einer Stunde ein Stau gemeldet war, biege 
ich auf die Landstrasse ab. Egal ob die Autobahn 'möglicherweise' frei 
sein könnte.

von Christian Z. (christianz)


Lesenswert?

Ich wollte eher darauf hinaus: Wenn der Bug noch vorhanden wäre (was er 
ja offenbar nicht mehr ist), dann wäre es sinnvoll, ihn zu suchen, zu 
fixen und einen Patch dafür zu veröffentlichen.

von Numen B. (numen)


Lesenswert?

problem war bei mir das falsche zusammensetzten durch copy & paste.

Gruss Flo

von 900ss (900ss)


Lesenswert?

Hallo,
eine Frage habe ich.
Hat von Euch Linuxgeeks ;-) evtl. Dropbear auf dem Grasshopper zum 
laufen bewegt? Wenn ja würde ich mich über ein HowTo freuen.
Geht das überhaupt?

Danke schön.

von Christian Z. (christianz)


Lesenswert?

@900ss:

Ich habe Dropbear einfach im Build-Root mit ausgewählt, compiliert und 
die entsprechenden Dateien auf den Grasshopper kopiert. Wo hakt es denn 
bei Dir?

von 900ss als Gast (Gast)


Lesenswert?

Ich habe noch garnichts versucht. Ich wollte erstmal wissen, ob es 
grundsätzlich geht. Dann muß ich mich wohl mal ransetzen und versuchen, 
eine Version zu erstellen (ufff.... Linux.. da hab ichzwei linke Hände). 
Habe noch nie mit configure, automake, etc..... gearbeitet. Mit MAKE 
schon :-)

Nun ja, werde es die nächste Woche ab DO evtl. mal probieren.

Evtl. könntest Du mir Dein Image zur Verfügung stellen? Allerdings habe 
ich keinen CP2102 auf meinem Board. D.h. die Ausgaben laufen dann 
irgendwo hin. :-(

Danke erstmal.
900ss

von Christian Z. (christianz)


Lesenswert?

Es muss ja nicht gleich das Root-FS-Image sein, ich kann Dir auch auch 
das Binary von Dropbear zur Verfügung stellen, wenn Dir das lieber wäre.

von 900ss (900ss)


Lesenswert?

Christian Z. wrote:
> Es muss ja nicht gleich das Root-FS-Image sein, ich kann Dir auch auch
> das Binary von Dropbear zur Verfügung stellen, wenn Dir das lieber wäre.

Als ich mein letztes Posting abgeschickt hatte, ging es mir auch durch 
den Kopf. Ich brauche sicher nur ein binary.

haben wollen :-))

Ja wenn Du es mir zu Verfügung stellst, evtl. ein kleines HowTo, wie ich 
es in Betrieb nehmen muß?
Ich bin in der Lage, Dateien per wget auf mein Grasshopper zu laden. 
Habe mal spaßeshalber eine kleine Webpage nach.../www kopiert um sie zu 
testen. Das hat geklappt. Also soviel zu meinen Vorkenntnissen :-)

Danke schon mal.
900ss

von Christian Z. (christianz)


Lesenswert?

Das dropbear-Binary ist momentan unter 
http://www.chzsoft.com.ar/storage/dropbearmulti verfügbar. Du musst es 
irgendwo hin (z.B. nach /usr/bin) kopieren und dann Softlinks ("ln -s 
...") anlegen. Im Binary vorhanden ist Code für den SSH-Client, scp, den 
SSH-Server und die Key-Verwaltung.

Eine Anleitung zu dropbear findest Du sicher im Netz.

von 900ss (900ss)


Lesenswert?

Super, ich werde am WE mal versuchen, ob ich es zum rennen bekomme.
Vielen Dank dafür. Echt nett :-)
900ss

von Ich (Gast)


Lesenswert?

So nun habe ich versucht, DROPBEAR in Betrieb zu nehmen.
Ich habe die Links angelegt und dann die Keys (SA,DDS) mit dropbearkey 
erzeugt.
Mit dropbearkey -f keyfile -y habe ich mir den private key ausgeben 
lassen.
Diesen habe ich dann PUTTY mitgegeben.

dropbear starte ich dann mit "dropbear -E -s". Das klappt, er meckert
auch nicht, dass er die Keyfiles nicht findet.

Wenn ich PUTTY dann starte fragt er nach Login name, ich sage 'root' und 
dann bricht putty ab mit
1
=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2008.04.29 23:02:39 =~=~=~=~=~=~=~=~=~=~=~=
2
root
3
No supported authentication methods left to try!

Wo ist denn der Fehler? Hat jemand ein Tip?
Vielen Dank.

von 900ss (900ss)


Lesenswert?

Hmmm... ich sollte schlafen gehen. Hatte mich garnicht angemeldet :-)

Nun, die Fehlermeldung sieht anders aus als oben angegeben:
1
=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2008.04.29 23:09:58 =~=~=~=~=~=~=~=~=~=~=~=
2
root
3
Unable to use key file "C:\private_key.ppk" (not a private key)
4
No supported authentication methods left to try!

Den ppk-File habe ich gefüttert mit den Daten, die mir dropbearkey
mit Option -y ausgegeben hat.

Irgendwas mache ich falsch, aber was?

von SiO2 (Gast)


Lesenswert?

Kommst Du wenigstens als user "default" rein?

von SiO2 (Gast)


Lesenswert?

PS: ich weis euch nicht wie es ist, wenn kein Passwort vergeben ist, ob 
man sich da remote anmelden kann. Sollte eigentlich aus 
Sicherheitsgründen nicht zulässig sein (Ausser bei w2k, dort gings 
afaik). Zur Not kannste ja, wenn auch default nicht geht nen 
Passworthash in den Grasshopper (etc/shadow???) kopieren, bei default, 
aber beachte die Syntax.

von Werner B. (Gast)


Angehängte Dateien:

Lesenswert?

Im Anhang ist das dropbear Start-Script vom NGW100. Da kann man 
rauslesen welche Schritte zum Start notwending sind.
Noch ein Hinweis.
/usr/sbin/dropbear, /usr/bin/dropbearconvert und /usr//bin/dropbearkey 
sind Softlinks auf /usr/sbin/dropbearmulti .

von 900ss (900ss)


Lesenswert?

Guten Morgen,
gähn :-)

Schon Antworten. Danke. Also als default geht es auch nicht.
Danke für das Startscript, es hilft ein wenig, die Installation dann bei 
mir zu vervollständigen. Allerdings das Starten u.s.w. von dropbear hab 
ich schon richtig gemacht denke ich. Wenn ich mir das Script so ansehe, 
dann habe ich wohl keine Fehler gemacht.

Ich habe nur ein Problem mit den Keys. Die liegen zwar an der richtigen 
Stelle im Grasshopper, allerdings hab ich da wohl was falsch gemacht mit 
den public/private keys die ich dann bei Putty verwende.

Nun vielleicht gibt es da ein schönes Howto? Hab gestern noch viel 
Google gefragt aber so wirklich schlau bin ich nicht draus geworden.

Schönen Tag.

von 900ss (900ss)


Lesenswert?

Hmmm... nun geht es. Habe es noch nicht so ganz verstanden, aber ich 
habe mir jetzt noch einen Key mit puttyge generiert. Den private Key für 
Putty genutzt, den Public Key auf den Grasshopper in 
root.ssh/authorized_keys gespeichert (als openssh Format). Die 
Dateirechte noch auf 744 gesetzt und nun funktioniert es. Ich bin platt.
dropbearkey habe ich auch vorher genutzt um den rsa und dss key zu 
erzeugen.

Die Geschichte mit den Keys habe ich nich nicht begriffen. Ich dachte 
EIN public key und EIN private key genügen. Kann mir evtl. jemand 
erklären, wozu die von dropbear generierten keys sind und dann noch 
zusätzlich die von putty generierten keys?

Danke schön.

Edit: Ach ja, danke schön für das dropbear binary an Christian. Sehr 
nett :-)

von Christian Z. (christianz)


Lesenswert?

@900ss:

Das ist schon länger her, aber meine Erinnerung sagt mir: Sowohl die 
Clients als auch der Server haben jeweils eigene Keys, damit sie sich 
gegenseitig authentifizieren können.

von SiO2 (Gast)


Lesenswert?

Kannst ja auch erstmal die Ports scannen, ob ssh überhaupt läuft.

von 900ss (900ss)


Lesenswert?

SiO2 wrote:
> Kannst ja auch erstmal die Ports scannen, ob ssh überhaupt läuft.

Geht doch schon (s.o.). Bin ganz begeistert. Wollte es hauptsächlich für 
Port-Weiterleitung nutzen. Hier wo ich sitze ist der SSH-Port offen :-)
und der Rest außer HTTP/FTP zu.
Und sonst habe ich immer meinen PC laufen lassen. Das kann jetzt der
Grasshopper erledigen.

Frage:
Ist eigentlich /etc/inittab der richtige Ort, um dropbear automatisch zu 
starten? Oder ist eine andere Stelle geeigneter?

von Christian Z. (christianz)


Lesenswert?

> Ist eigentlich /etc/inittab der richtige Ort, um dropbear automatisch zu
> starten? Oder ist eine andere Stelle geeigneter?

Der saubere Weg wäre ja über ein Skript /etc/init.d/ und einen Link in 
/etc/rc.d/.

von 900ss (900ss)


Lesenswert?

Danke für de Hinweis. Das inittab ist beim graben nach Infos das erste 
gewesen, was mir über den Weg gelaufen ist. Inzwischen bin ich genau da 
angekommen, was Du auch geschildert hast. Da ich aber absoluter Linux 
Neuling bin, muß ich das Ganze immer doppelt prüfen, damit es dann auch 
richtig wird.
Nun, ich werde das mal so probieren. Den Startablauf von Linux habe ich 
noch nicht so verinnerlicht.

Der dropbear haut gut hin. Hab ihn heute schon mehrmals von der Ferne
genutzt :-)

Jetzt hab ich auch eine sinnvolle Aufgabe für den Grasshopper und mein 
PC darf tagsüber schlafen :-)

von Sebastian (Gast)


Lesenswert?

Hallo Christian,
Könntest Du bitte etwas genauer beschreiben, wie Du den JTAG Programmer 
verbunden hast ?

Netterweise hab ich mir meinen Grasshopper geschossen, sodaß ich keinen 
Zugang mehr habe :-(

Gruß Sebastian

von Christian Z. (christianz)


Lesenswert?

@Sebastian:

Einen Schaltplan meines JTAG-Adapters habe ich leider nicht. Ich habe 
aber die Pinbelegung des Wiggler verwendet (siehe z.B. Abschnitt 
"Wiggler" in http://www.mikrocontroller.net/articles/JTAG). Ich habe nur 
die Leitungen TMS, TCK, TDI, TRST und TDO verwendet, auf einen Buffer 
verzichtet und stattdessen 82 Ohm in Serie geschaltet. GND ist natürlich 
durchverbunden.

Den Link zur Software hatte ich ja bereits gepostet, allerdings habe ich 
damit den Grasshopper noch nicht beschrieben. (Mit meiner eigenen 
JTAG-Software schon, aber die ist nicht veröffentlichungsreif.)

von Sebastian (Gast)


Lesenswert?

Hallo Christian,
Vielen Dank, das reicht mir an Infos, Ich habe nur die 20 Polige JTAG 
Version gefunden und war mir nicht sicher, was ich alles Verbinden muß 
...
Die Software hab ich mir schon runtergeladen und werde mal mein Glück 
versuchen.

Ich hoffe, daß ich damit meinen Hopperchen wiederbeleben kann.

Gruß Sebastian

von 900ss (900ss)


Lesenswert?

Ansonsten hab ich einen JTAG ICE MkII. Ich weiß nur nicht ob Du in
in der Nähe von Bremen wohnst. Dann würde ich ihn Dir wiederbeleben.
Oder per Post.
Falls es mit dem Wiggler klappt, sag mal Bescheid. Finde ich auch
interessant.

von Christian Z. (christianz)


Lesenswert?

Wie gesagt: Ich habe mit meinem Simpelst-Adapter und meiner Software den 
Flash des Grasshoppers gelesen, gelöscht und geschrieben. Das klappt. 
Wenn man jetzt auch noch das Debug-Interface darüber zum Laufen 
bekäme...

von Sebastian M. (izaseba)


Lesenswert?

Hallo,
ES GEHT !
Der Grasshopper läßt sich bei mir mit avr32prog und dem "MinimalJTAG" 
flashen

Es hat zwar etwa 45 Minuten gedauert aber egal...

Das war die gute Nachricht, die schlechte, irgendwas ist dabei 
schiefgegengen :-(

Ich wollte den U-Boot, den Christian weiter oben am 18.04.2008  um 18:06 
gepostet hat draufladen, der startet auch, funktioniert leider nicht

Hier ist die Kermit ausgabe:
1
U-Boot 1.3.1 (Apr 18 2008 - 11:55:48)
2
3
U-Boot code: 00000000 -> 0000e3e0  data: 00013c68 -> 0001a1f0
4
SDRAM: 64 MB at address 0x10000000
5
Testing SDRAM...OK
6
malloc: Using memory from 0x13fa5000 to 0x13fe5000
7
DMA: Using memory from 0x13fa1000 to 0x13fa5000
8
Flash:  8 MB at address 0x00000000
9
DRAM Configuration:
10
Bank #0: 10000000 64 MB
11
In:    serial
12
Out:   serial
13
Err:   serial
14
Net:
15
 *** Unhandled exception 8 at PC=0x13fe5186
16
   pc: 13fe5186    lr: 13ffa598    sp: 13fa0ec8   r12: 13fa2000
17
  r11: 13fb91e0   r10: 13fa1000    r9: 13fa1000    r8: a0000000
18
   r7: 13fb91c0    r6: 13ff9984    r5: 13fa0fa0    r4: 00000000
19
   r3: 13fb91f0    r2: fff01800    r1: 00000000    r0: 13ffa58c
20
Flags: qvnzC
21
Mode bits: hrje....g
22
CPU Mode: Supervisor
23
24
Stack: (0x13fa0ec8 to 0x13fa0fa0)
25
0ec0:                   13ff2d08 13fb91c0 13ff9984 13fa0fa0 00000000 13ff007c
26
0ee0: 13fa0fcc 13ff9984 13fa0fa0 13ff85b4 13fa0fcc 13fa0fcc 13ffa590 13ffa58c
27
0f00: 13fe6d20 13fa0fcc 13ff9984 13fa0fa0 13ff85b4 13ffa6a8 13fa0fcc 13ffa590
28
0f20: 13ffa58c 13fe771c 13ff3507 13ff9984 13fa0fa0 13ff85b4 13fec192 13fa0fcc
29
0f40: 13ff9984 13fa0fa0 13ff85b4 13fec228 13fe5362 13fa0fcc 13ff9984 13fa0fa0
30
0f60: 13ff85b4 13fa0fcc 13ffa594 13ffa590 13ffa58c 13fe50c4 04000000 13ff9984
31
0f80: 24007fb4 13ff85b4 0e9c2fed 13ff0800 00000000 13ffa590 00000000 00000000
32
Unhandled exception

Das ganze wiederholt sich, bis ich den Grasshopper vom Netz trenne.

Jetzt stellt sich die Frage, ist da beim Flashen was schiefgelaufen ?
Sollte ich es nochmal versuchen ?

Kann es sein, daß da irgendwelche Bits gekippt sind ?

@900ss D.,
vielen Dank für das Angebot, leider wohne ich am Niederrhein etwa 350 km 
von Bremen entfernt, sonst würde ich das Angebot sofort annehmen.


Gruß Sebastian

von Sebastian M. (izaseba)


Lesenswert?

Hallo,
Ich habe gerade nochmals versucht den Bootloader draufzuspielen.

Es geht!
Irgendwas muß beim erstem Mal falsch gelaufen sein, das spielt jetzt 
keine Rolle mehr, hauptsache ich kann jetzt mit dem Grasshopper 
connecten :-)

Vielen dank an Euch, den JTAG Adapter werde ich mir gut aufheben, man 
weißt ja nie !

Gruß Sebastian

von 900ss (900ss)


Lesenswert?

Hey das ist ja cool. Gut zu wissen. Ich kann mir zwar helfen, aber es 
ist immer gut, eine Alternative zu haben. Und ich mag auch solch 
einfache Interface.

von Sebastian M. (izaseba)


Lesenswert?

>Und ich mag auch solch
>einfache Interface.

Ja , es taugt aber wirklich nur als Notlösung.
Ich könnte wetten, daß Du mit Deinem JTAG ICE MkII weniger als 40 
Minuten fürs U-Boot flashen brauchst ;-)

Gruß Sebastian

von 900ss (900ss)


Lesenswert?

Leider nicht, vielleicht sind es 30 Min. hab noch nicht so genau drauf 
geachtet. Auf jedenfall kann man sich 'n Kaffee kochen.

von Christian Z. (christianz)


Lesenswert?

Hm, ich schaffe mit dem Simpelst-Adapter beim Schreiben ca. 200 Bytes/s, 
damit dürfte U-Boot (128kiB) in gut 10 Minuten geschrieben sein (zzgl. 
vorherigem Löschen der Sektoren). Das wäre dann sogar schneller als ein 
JTAGICE mkII? Kann ich kaum glauben.

von 900ss (900ss)


Lesenswert?

Wie gesagt, habe nicht direkt auf die Uhr geschaut, aber ich meine es 
dauerte so lange. Im Moment habe ich gerade andere Prioritäten.
Sonst würde es mal ausprobieren.

von gast (Gast)


Lesenswert?

Mal ne andere Frage: Was brauche ich eigentlich für einen Stecker für 
die externe Spannungsversorgung? Leider ist auf dem Plan mit der 
Bemaßung kein Durchmesser angeben...

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Hier geht ganz schoen was ab ;)
Ah das erinnert mich... ich wollt das ja alles noch wegsichern :D

von Christian Z. (christianz)


Lesenswert?

Spannungsversorgung: Bei mir passt ein Hohlstecker mit r_a=5,5mm und 
r_i=2,5mm. r_i=2,1mm dürfte auch gehen, so dick scheint mir der Stift in 
der Buchse nicht. Polarität steht ja auf dem Board drauf.

Vorsicht: Wer noch eines der ersten Boards hat, bei dem C42 bestückt 
ist, darf keinesfalls mehr als 10V anlegen.

von Sebastian (Gast)


Lesenswert?

Hallo,

Da mein Board wieder läuft habe ich mich ans Programmieren gemacht.

Leider muß ich feststellen, daß mein Wissen doch etwas beschränkt ist.

Als Übung wollte ich mal den Boardinternen Taster abfragen...

Und da fangen die Probleme schon an.

Ich habe das Demoprogramm etwas umgeschrieben, damit mir der Status von
Port A ausgegeben wird.
das klappt wiederum nicht, der Zugriff auf Port A wird 
verweigert(Resource Busy) es kolidiert wahrscheinlich mit den LEDs 
Treibern...

Dann habe ich den Kernel etwas geändert, so wie Christian hier 
geschrieben hat http://forum.embedded-projects.net/viewtopic.php?id=338

Beim laden der Module wird aber nichts in /dev/input eingetragen und 
mknod ergibt für mich auch keinen Sinn, wenn ich nicht weiß welche Major 
u. Minor Nummer ich eintragen muß.

Kann mir jemand einen Tip geben, wo ich mich etwas einlesen kann ?

Gruß Sebastian

von Christian Z. (christianz)


Lesenswert?

/dev/input/event0 ist ein "char"-Device mit Major 13, Minor 64.

von Sebastian (Gast)


Lesenswert?

Hallo Christian,

danke, zwischendurch hab ich das auch selber rausgelesen, es steht 
irgendwo in der Doku bei Input.

Wird die denn automatisch beim Laden der Treiber erstellt ?
Ich musste sie mit mknod erstellen.

Ein
ls -all /dev/input
ergibt dann
1
crw-r--r--    1 root     root      13,  64 Dec 31  2006 event0

Ich habe dann ein Miniprogramm geschrieben um es zu testen :
1
#include <linux/input.h>
2
#include <stdio.h>
3
#include <stdlib.h>
4
#include <unistd.h>
5
#include <fcntl.h>
6
#include <errno.h>
7
8
int main(void) {
9
  int fd = -1;
10
  char name[256] = "unknown";
11
  if ((fd = open("/dev/input/event0",O_RDONLY)) < 0){
12
    perror("event0 open");
13
    exit(1);
14
  }
15
  if(ioctl(fd,EVIOCGNAME(sizeof(name)),name) < 0) {
16
    perror("event0 ioctl");
17
  }
18
  printf("The device on /dev/input/event0 is %s\n",name);
19
  close(fd);
20
  return 0;
21
}

leider ergibt das folgende Ausgabe
1
event0 open: No such device

Also stimmt hier irgendwas nicht :-(

Woran könnte das liegen ?

Gruß Sebastian

P.S. Ich hoffe, ich nerve nicht mit meinen Fragen,
Ich habe zwar Linuxerfahrungen, aber so "systemnah" hab ich noch nie 
gearbeitet.

von Sebastian (Gast)


Lesenswert?

Nochwas
1
lsmod

ergibt dann
1
Module                  Size  Used by    Not tainted
2
evdev                  10496  0
3
gpio_keys               4032  0

von Christian Z. (christianz)


Lesenswert?

Also, /dev/input/event0 wird bei mir auch nicht automatisch erzeugt, 
soweit kein Problem. Taucht denn in /sys/class/input nach dem Laden der 
Module etwas auf?

von Sebastian (Gast)


Lesenswert?

Hallo Christian,
leider nicht,
ich hänge noch die Ausgabe in /var/log/messages nach dem Einbinden der 
Module an :
1
Dec 31 17:04:03 icnova user.debug kernel: kobject: 'gpio_keys' (c0854e88): kobject_add_internal: parent: 'module', set: 'module'
2
Dec 31 17:04:03 icnova user.debug kernel: kobject: 'holders' (93d7da60): kobject_add_internal: parent: 'gpio_keys', set: '<NULL>'
3
Dec 31 17:04:03 icnova user.debug kernel: kobject: 'gpio_keys' (c0854e88): kobject_uevent_env
4
Dec 31 17:04:03 icnova user.debug kernel: kobject: 'gpio_keys' (c0854e88): fill_kobj_path: path = '/module/gpio_keys'
5
Dec 31 17:04:03 icnova user.debug kernel: bus: 'platform': add driver gpio-keys
6
Dec 31 17:04:03 icnova user.debug kernel: kobject: 'gpio-keys' (93d2a140): kobject_add_internal: parent: 'drivers', set: 'drivers'
7
Dec 31 17:04:03 icnova user.debug kernel: kobject: 'gpio-keys' (93d2a140): kobject_uevent_env
8
Dec 31 17:04:03 icnova user.debug kernel: kobject: 'gpio-keys' (93d2a140): fill_kobj_path: path = '/bus/platform/drivers/gpio-keys'
9
Dec 31 17:04:14 icnova user.debug kernel: kobject: 'evdev' (c085a748): kobject_add_internal: parent: 'module', set: 'module'
10
Dec 31 17:04:14 icnova user.debug kernel: kobject: 'holders' (93d77360): kobject_add_internal: parent: 'evdev', set: '<NULL>'
11
Dec 31 17:04:14 icnova user.debug kernel: kobject: 'evdev' (c085a748): kobject_uevent_env
12
Dec 31 17:04:14 icnova user.debug kernel: kobject: 'evdev' (c085a748): fill_kobj_path: path = '/module/evdev'

haben die Zeilen mit <NULL> was zu sagen ?

Ach so meine rootfs Datei ist die, die nach dem bauen vom Toolchain 
entstanden ist, allerdings mit der Änderung in btn.c

Gruß Sebastian

von Christian Z. (christianz)


Lesenswert?

Ist vor dem Laden der Module schon ein Verzeichnis 
/sys/devices/platform/gpio-keys vorhanden? Dann sollte angelegt werden, 
nachdem btn.c modifiziert wurde.

von Sebastian (Gast)


Lesenswert?

Hallo Christian,

Nein so ein Ordner habe ich nicht erstellt, es geht auch nicht ein mkdir 
erzeugt "no such file or directory" ???
Darf man da überhaupt was erstellen?
Ich dachte diese Struktur wird beim booten erzeugt ?

Naja, ich habe Event interface und GPIO Buttons fest in den Kernel 
einkompiliert und es wird scheinbar alles richtig gestartet

beim booten:
1
input: gpio-keys as /class/input/input0

in  /sys/devices/platform/ sieht es dann so aus:
1
at32_eic.0        atmel_usart.0     leds-gpio.0       pio.2
2
at32_pm.0         atmel_usart.1     macb.0            pio.3
3
at32_wdt.0        atmel_usba_udc.0  pdc.0             pio.4
4
at32ap700x_rtc.0  dmaca.0           physmap-flash.0   smc.0
5
atmel_pwm.0       gpio-keys         pio.0             systc.0
6
atmel_twi.0       intc.0            pio.1             uevent

und der Zugriff auf die erstellte /dev/input/event0 erzeugt keine Fehler 
mehr.

Hier nochmal der Ausschnitt aus /var/log/messages
1
Jan  1 01:00:02 icnova user.debug kernel: bus: 'platform': add driver gpio-keys
2
Jan  1 01:00:02 icnova user.debug kernel: kobject: 'gpio-keys' (93d46aa0): kobject_add_internal: parent: 'drivers', set: 'drivers'
3
Jan  1 01:00:02 icnova user.debug kernel: bus: 'platform': driver_probe_device: matched device gpio-keys with driver gpio-keys
4
Jan  1 01:00:02 icnova user.debug kernel: bus: 'platform': really_probe: probing driver gpio-keys with device gpio-keys
5
Jan  1 01:00:02 icnova user.debug kernel: device: 'input0': device_add
6
Jan  1 01:00:02 icnova user.debug kernel: kobject: 'input0' (93d59eb0): kobject_add_internal: parent: 'input', set: 'devices'
7
Jan  1 01:00:02 icnova user.debug kernel: kobject: 'input0' (93d59eb0): kobject_uevent_env
8
Jan  1 01:00:02 icnova user.debug kernel: kobject: 'input0' (93d59eb0): fill_kobj_path: path = '/class/input/input0'
9
Jan  1 01:00:02 icnova user.debug kernel: kobject: 'gpio-keys' (90205598): fill_kobj_path: path = '/devices/platform/gpio-keys'
10
Jan  1 01:00:02 icnova user.debug kernel: kobject: 'input0' (93d59eb0): fill_kobj_path: path = '/class/input/input0'
11
Jan  1 01:00:02 icnova user.info kernel: input: gpio-keys as /class/input/input0
12
Jan  1 01:00:02 icnova user.debug kernel: device: 'event0': device_add
13
Jan  1 01:00:02 icnova user.debug kernel: kobject: 'event0' (93d5aad4): kobject_add_internal: parent: 'input0', set: 'devices'
14
Jan  1 01:00:02 icnova user.debug kernel: kobject: 'event0' (93d5aad4): kobject_uevent_env
15
Jan  1 01:00:02 icnova user.debug kernel: kobject: 'event0' (93d5aad4): fill_kobj_path: path = '/class/input/input0/event0'
16
Jan  1 01:00:02 icnova user.debug kernel: kobject: 'gpio-keys' (90205598): fill_kobj_path: path = '/devices/platform/gpio-keys'
17
Jan  1 01:00:02 icnova user.debug kernel: driver: 'gpio-keys': driver_bound: bound to device 'gpio-keys'
18
Jan  1 01:00:02 icnova user.debug kernel: bus: 'platform': really_probe: bound device gpio-keys to driver gpio-keys
19
Jan  1 01:00:02 icnova user.debug kernel: kobject: 'gpio-keys' (93d46aa0): kobject_uevent_env
20
Jan  1 01:00:02 icnova user.debug kernel: kobject: 'gpio-keys' (93d46aa0): fill_kobj_path: path = '/bus/platform/drivers/gpio-keys'

Was mit jetzt auffällt, es sind keine Zeilen mit <NULL> mehr drin ?

Es stellt sich nur die Frage, warum es bei mir mit Modulen nicht klappt 
?

Heut Abend habe ich etwas mehr Zeit, dann versuche ich endlich 
vernünftig die Taste auszuwerten.

Gruß Sebastian

von Christian Z. (christianz)


Lesenswert?

Du darfst in /sys/* natürlich keine Dateien/Verzeichnisse erzeugen, 
meine Frage war ja, ob sie schon da sind. Der Code in btn.c erzeugt z.B. 
/sys/devices/platform/gpio-keys.

Dein zuletzt geposteter Auszug aus /var/log/messages liest sich auf alle 
Fälle ganz gut.

von Sebastian (Gast)


Lesenswert?

>Du darfst in /sys/* natürlich keine Dateien/Verzeichnisse erzeugen,
>meine Frage war ja, ob sie schon da sind. Der Code in btn.c erzeugt z.B.
>/sys/devices/platform/gpio-keys.

Ja /*Hust*/, dann habe ich Dich falch verstanden ;-)
Hab mich schon etwas gewundert...

Es scheint aber so zu funktionieren, wenn ich cat /dev/input/event0 
ausführe
und auf die Taste drücke erscheinen im Terminal kryptische Zeichen, das 
ist schon ein "gutes Zeichen" ;-)

Andere Frage, klappt das bei Dir mir dem nachladen der Module ?

Gruß Sebastian

von Christian Z. (christianz)


Lesenswert?

Ja, bei mir klappt das mit den Modulen.

von Sebastian (Gast)


Angehängte Dateien:

Lesenswert?

Die Auswertung funktioniert :-)

Im Anhang ein Programm, das je nach dem , ob innerhalb einer Sekunde die 
Taste gedrückt wurde eine 1 oder eine 0 auf der Konsole schreibt.

Jetzt muß ich das ganze nur noch sinvoll in ein Script packen, und schon 
kann man per Tastendruck den httpd starten/stopen usw.

@Christian,

>Ja, bei mir klappt das mit den Modulen.

Hmm, dann ist bei mir was nicht richtig.

Gruß Sebastian

von Sebastian (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

Ich denke jetzt bin ich mit meiner Tastenproblematik Fertig.
Und zwar hab ich das Programm so abgeändert, daß es in einer 
Endlosschleife läuft und bei jedem Tastendruck ein Program/Shellscript 
ausführt.

Im Anhang der Quellcode

Ich freue mich über weitere Anregungen/Kritik (bin leider kein Profi auf 
diesem Gebiet)

Gruß Sebastian

von Sebastian (Gast)


Angehängte Dateien:

Lesenswert?

Hier nochmal das Kompilierte Programm für eben ausprobieren.

Es muß eine ausführbare Datei mit dem Namen button in /etc erzeugt 
werden, die bei jedem Tastendruck ausgeführt wird.

Zum probieren hab ich solch ein Script gemacht
1
#!/bin/sh
2
3
i=`cat /sys/class/leds/pwrled\:red/brightness`
4
5
if [ $i -eq 1 ]
6
then
7
`echo 0 > /sys/class/leds/pwrled\:red/brightness`
8
else
9
`echo 1 > /sys/class/leds/pwrled\:red/brightness`
10
fi

Damit läßt sich schön die Powerled toggeln.

Nochwas es müssen die Module

gpio-keys
evdev

geladen werden.

Eigentlich soll das Problemlos funktionieren, bei mir hat das leider 
nicht geklappt und ich habe die Treiber fest in den Kernel eingebunden.

Noch ein Tip :

Hat man den Hopper am Router mit Internetzugang dran kann man sich mit

/usr/sbin/rdate time.fu-berlin.de

die Systemzeit einstellen.
Leider stimmt die Zeitzone noch nicht.
Das wird erledigt, indem man

CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00

in /etc/TZ

einträgt



Gruß Sebastian

von gast (Gast)


Lesenswert?

Hallo,
ich habe mal ein paar Fragen zum Grasshopper:
Hat schon mal jemand den U-Boot von Christian getestet? Ich möchte 
nämlich einen neuen U-Boot ohne Bug aufspielen, falls das Linux nicht 
mehr booten sollte...
Und wie kann ich die mit 'make' erstellte AVR32 Toolchain zum 
Kompilieren eigener Programme nutzen?
Was benutzt ihr für ein Netzteil für euren Grasshopper?

von Sebastian (Gast)


Lesenswert?

Hallo gast (Gast),

ja ich nutze den U-Boot von Christian, der funktioniert problemlos, 
leider mußte ich mir dafür den minimal JTAG bauen, weil ich mir den 
ganzen Flash geschossen habe ;-)

>Und wie kann ich die mit 'make' erstellte AVR32 Toolchain zum
>Kompilieren eigener Programme nutzen?

Unter ICnova_base/build_avr32/staging_dir/bin findest Du alles was Du 
brauchst.
Ich hab mit noch das AVR32Studio installiert.

>Was benutzt ihr für ein Netzteil für euren Grasshopper?

Ich habe hier ein Steckenetzteil von der Müllkippe, achte aber darauf, 
daß Du nicht mehr als 10 V anlegst.

Gruß Sebastian

von gast (Gast)


Lesenswert?

[quote]Unter ICnova_base/build_avr32/staging_dir/bin findest Du alles 
was Du
brauchst.
Ich hab mit noch das AVR32Studio installiert.[/quote]
Hast du vielleicht ein funktionierendes Makefile? Schließlich müssen ja 
auch der Pfad für die Libraries und Includes stimmen...

von Sebastian (Gast)


Lesenswert?

Nein, Makefile habe ich nicht.
Ich habe mir einfach die $PATH Variable um den Pfad zu den avr32-gcc 
erweitert und schon findet avr32Studio alles, was es braucht ;-)

Gruß Sebastian

von gast (Gast)


Lesenswert?

Ich habe mir mal das AVR32 Studio für Linux heruntergeladen, aber leide 
rfindet er die nötigen Executables nicht, obwohl ich 
ICnova_base/build_avr32/staging_dir/bin zum Pfad hinzugefügt habe. In 
ICnova_base/build_avr32/staging_dir/bin sind bei mir folgende Dateien:
1
avr32-linux-addr2line               avr32-linux-uclibc-addr2line
2
avr32-linux-ar                      avr32-linux-uclibc-ar
3
avr32-linux-as                      avr32-linux-uclibc-as
4
avr32-linux-cc                      avr32-linux-uclibc-cc
5
avr32-linux-c++filt                 avr32-linux-uclibc-c++filt
6
avr32-linux-cpp                     avr32-linux-uclibc-cpp
7
avr32-linux-depmod26                avr32-linux-uclibc-gcc
8
avr32-linux-gcc                     avr32-linux-uclibc-gcc-4.0.4-atmel.0.99.0
9
avr32-linux-gcc-4.0.4-atmel.0.99.0  avr32-linux-uclibc-gccbug
10
avr32-linux-gccbug                  avr32-linux-uclibc-gcov
11
avr32-linux-gcov                    avr32-linux-uclibc-ld
12
avr32-linux-ld                      avr32-linux-uclibc-nm
13
avr32-linux-ldconfig                avr32-linux-uclibc-objcopy
14
avr32-linux-ldd                     avr32-linux-uclibc-objdump
15
avr32-linux-nm                      avr32-linux-uclibc-ranlib
16
avr32-linux-objcopy                 avr32-linux-uclibc-readelf
17
avr32-linux-objdump                 avr32-linux-uclibc-size
18
avr32-linux-ranlib                  avr32-linux-uclibc-strings
19
avr32-linux-readelf                 avr32-linux-uclibc-strip
20
avr32-linux-size                    makedevs
21
avr32-linux-strings                 mkimage
22
avr32-linux-strip
Und hier ist die Fehlermeldung vom AVR32 Studio:
1
avr32program: <not found> (Need version 3.0 or newer)
2
avr32gdbproxy: <not found> (Need version 3.0 or newer)
3
avr32-gdb: <not found> (Need version 6.7 or newer)
4
avr32-g++: <not found> (Need version 4.2 or newer)
5
avr32-gcc: <not found> (Need version 4.2 or newer)
6
avr32-as: <not found> (Need version 2.17 or newer)
7
avr32-nm: <not found> (Need version 2.17 or newer)
8
9
You are using the Linux version of the AVR32 Utilities and AVR32/GNU Toolchain.
10
11
There are multiple problems with dependent executables or path settings. Please consult the user guide for details.
12
13
The actual search path used is: /usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin:/opt/kde3/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin:/usr/lib/qt3/bin:/mount/share/bin:/usr/sbin/:/sbin/:xxxxxx/icnova_base_cd/ICnova_base/build_avr32/staging_dir/bin/
Wo liegt das Problem? Warum findet er die Toolchain nicht?

von Christian Z. (christianz)


Lesenswert?

Swiw ist avr32-gcc die Variante für Standalone-Anwendungen und 
avr32-linux-gcc die für Linux-Anwendungen. Nun kenne ich mich mit dem 
AVR32 Studio nicht aus, aber kann man das konfigurieren, ob es Linux- 
oder Standalone-Anwendungen bauen soll?

von Sebastian (Gast)


Lesenswert?

Hallo  gast (Gast),

Christian hat recht, die Dateien, die angemeckert werden brauchst Du 
nicht.

Klicke die Fehlermeldung einfach weg, erzeuge Dir ein neues Linuxprojekt 
und schreib zum Testen ein "Hello World" Programm .

Gruß Sebastian

von gast (Gast)


Lesenswert?

Danke für eure Antworten! Das Kompilieren funktioniert mit AVR32 Studio 
völlig problemlos, die fehlenden files werden anscheinend wirklich nur 
für standalone Applikationen benötigt...

von gast (Gast)


Lesenswert?

Hallo,
könnte bitte jemand eine Kopie von dem U-Boot ohne Bug von Christian 
anhängen? Der Link oben (http://www.chzsoft.com.ar/storage/u-boot.bin) 
funktioniert leider nicht mehr :-(

von Christian Z. (christianz)


Lesenswert?

Ah, sorry, URLs mit storage sind bei mir immer nur eine begrenzte Zeit 
gültig. Der aktuelle Link stand im Wiki-Artikel, ist aber bei einer 
Bearbeitung offenbar verloren gegangen. Ich habe den Abschnitt wieder 
eingefügt:

http://www.mikrocontroller.net/articles/AVR32_Grasshopper#Flashen_des_JFFS2-Dateisystems_mit_U-Boot

Der direkte Link zum Download ist 
http://www.chzsoft.com.ar/grasshopper/u-boot.bin

von Mathias U. (doomsday77)


Lesenswert?

Hallo Leute!

Also ich hab mein Grasshopper Board gestern bekommen, und versuche seit 
dem verzweifelt es in Betrieb zu nehmen. Ich habe gelesen, daß ich nicht 
der einzige bin, bei dem die Virtuelle Schnittstelle auf USB nicht 
funktioniert.
Mein Computer findet zwar einen USB Controller aber wie soll ich mich 
jetzt mit Putty mit dem Board verbinden?
Ich weiß ja noch nicht einmal, wie die IP des Boards ist!
Zitat : "....hier kann direkt nach dem Einschalten der Boot-Vorgang 
beobachtet werden"
Wie denn bitte?
Eine Serielle Schnittstelle bekomme ich auch nicht angezeigt!
Gibt es irgentwo ein Tutorial, das sich mit dem Thema beschäftigt, oder 
könnt ihr mir vielleicht helfen?

von Sebastian M. (izaseba)


Lesenswert?

Hallo,
Ist Putty nicht telnet,ssh Ersatz für Windows ?

Du brauchst ein Terminalprogramm, das auf 115200 Baud 8/N/1 eingestellt 
ist.

Dein Computer muß einen Com Port erkennen, nachdem Du den Hopper 
angeschlossen hast, und damit verbindest Du Dich auch.

Sonst schau mal unter diesem Link nach

http://www.embedded-projects.net/index.php?page_id=237

viel Glück Sebastian

von Christian Z. (christianz)


Lesenswert?

PuTTY kann auch als serielles Terminalprogramm verwendet werden. 
Voraussetzung ist natürlich, dass die serielle Schnittstelle des 
Grasshoppers erkannt wird.

Wimre musste ich den Treiber für die USB-seriell-Bridge von Silabs 
installieren, damit der Com-Port zur Verfügung gestellt wurde.

von Mathias U. (doomsday77)


Lesenswert?

Wunderbar! Das Grasshopper läuft! Nachdem ich die Virtual Serial Port 
Adapter Software von Eltima aufgespielt habe, kann ich über Putty mit 
den in der oberen Beschreibung angegebenen Einstellungen wunderbar auf 
das Board zugreifen. Danke leute!

von Mathias U. (doomsday77)


Lesenswert?

Hat von euch schon jemand einen SD-Kartenslot an das Grasshopper 
angebaut oder kann in Bezug auf Erweiterungen etwas empfehlen?

Die Pinleisten an meinem Board sind noch nicht drin, d.h. ich muß die 
wohl nachträglich einlöten. Leider.

Ich will außerdem versuchen, das gesamte Board über Hochkapazitätsakkus 
am laufen zu halten, am besten wäre es, wenn man die auch gleich über 
USB mitaufladen könnte. Hat damit jemand schon Erfahrungen gesammelt?

von Sebastian M. (izaseba)


Lesenswert?

Hallo Mathias,

Ich habe eine SD Karte am Grasshopper angeschlossen, leider funktioniert 
sie noch nicht :-(

Hier Beitrag "Re: I2C am Grasshopper mit 5V" haben wir kurz 
drüber gesprochen, vielleicht hilft es Dir weiter, ich bin noch nicht 
dazu gekommen weiter zu machen.

Gruß Sebastian

von Werner B. (Gast)


Angehängte Dateien:

Lesenswert?

Grasshopper mit SD-Karte funktioniert, aber nicht mit Kernel den das 
mitgelieferten Buildroot erzeugt. Das habe ich auch versucht, bin aber 
über das laden des Kernels mit dem aktualisierten U-Boot nicht 
hinausgekommen. Das Linux erkennt die SD-Karte nicht.
Also habe ich mir den aktuellen Release Cadidate vom "offizellen" Atmel 
Buildroot 2.2.0-RC4 ( http://www.atmel.no/buildroot/source/ ) 
installiert, für das NGW100 konfiguriert und dann bauen lassen. Dann im 
Verzeichnis 
buildroot-avr32-v2.2.0-rc4/project_build_avr32/atngw100/linux-2.6.25.6/a 
rch/avr32/boards/atngw100  "nur" noch die Änderungen für den Grasshopper 
eingepflegt (Ok, das ICNova Verz. aus dem ICNova Buildroot genommen und 
Änderungen für das andere Buildroot reingefummelt). Nach einem "make 
linux26-menuconfig" (ohne Änderungen, nur um den rebuild anzustoßen) 
baut man sich dann den neuen Kernel.
Da der Grasshopper nur 8MB Flash hat, habe ich das gesamte System auf 
der SD Karte liegen.

Im U-Boot

set bootcmd 'mtdparts default;chpart nor0,2;mmcinit;ext2load mmc 0:1 
0x10400000 /boot/uImage;bootm'

set bootargs 'console=ttyS0 root=/dev/mmcblk0p1 rootdelay=1 
mtdparts=physmap-flash.0:128k(boot)ro,64k(env)ro,-(root)'

Die bootargs sind so kompliziert weil das Layout des Boot-Flash beim 
Grasshopper anders ist als beim NGW100 (U-Boot:ENV:Root statt 
U-Boot:Root:ENV).

Das "neue" Board-Verzeichnis habe ich angehängt.

Ein "Diry Hack" aber es geht hervorragend.

von Sebastian M. (izaseba)


Lesenswert?

Hallo Werner,

Super, danke für die Antwort.
Könntest Du vielleicht noch kurz beschreiben, wie man "Änderungen für 
das andere Buildroot reinfummelt" ?
Das wäre sehr hilfreich und vor allem was hast Du mit Card detect und 
Write Enable Pins von der Karte gemacht ?

Ich will mein System garnicht auf der Karte ablegen, sondern die Karte 
nur in System mounten als fat oder ext2, sollte doch machtbar sein oder 
?

Gruß Sebastian

von Mathias U. (doomsday77)


Lesenswert?

Also ich werde jetzt erst einmal alle verfügbaren Informationen über das 
Grasshopper zusammenzutragen, auch Threadinformationen. Ich will 
versuchen, alles zu bündeln, um eine Umfassende Dokumentation zu 
erzeugen, damit hier das Rad nicht zwanzigmal erfunden wird.
Ich glaube es würde viele User freuen, wenn sie nicht endlos stöbern 
müßten, um an geeignete Infos dranzukommen.
Sozusagen die Essenz über das Grasshopper-Wissen zusammenzutragen.

Das kleine Projekt wird mich jetzt erst mal auslasten, wenn ich fertig 
bin, werd ich den Link mal posten.
Mfg

von 900ss (900ss)


Lesenswert?

Mathias Unknown wrote:
> Ich will
> versuchen, alles zu bündeln, um eine Umfassende Dokumentation zu
> erzeugen, damit hier das Rad nicht zwanzigmal erfunden wird.
> Ich glaube es würde viele User freuen, wenn sie nicht endlos stöbern
> müßten, um an geeignete Infos dranzukommen.

SUPER! Ich freue mich drauf, auch wenn ich erst im Herbst dazu komme, 
mit dem Grasshopper weiterzumachen. Vorher steht leider viel anderes auf 
dem Zettel :-(

Jetzt schon mal ein großes DANKE dafür.

von Werner B. (Gast)


Lesenswert?

Der wp- und detect Pin bleiben unbenutzt.
1
static struct mci_platform_data __initdata mci0_data = {
2
  .detect_pin = GPIO_PIN_NONE,
3
  .wp_pin = GPIO_PIN_NONE,
4
};

Das "alte" Buildroot und das Atmel Buildroot 2.2 verwenden verschiedene 
uClibc Versionen. Diese sind leider inkompatibel zueinander. Mit einem 
aus dem Atmel Buildroot 2.2 gebauten uImage werden die im Flash 
existierenden Programme vermutlich nicht zusammenarbeiten. darum 
benötigt man das zugehörige Root Image. Das vom Buildroot 2.2 gebaute 
Root Image enthält aber kein /usr Dateisystem, da das beim NGW100 in 
einem anderen Flashbaustein liegt den es auf dem Grasshopper nicht gibt. 
Das Umzubauen erfordert viel mehr Auswand als einfach die paar 
Anpassungen an den Konfigurationsfiles  auf der SD Karte, so wie es 
meine momentane "Lösung" macht.

P.S.
Wie man dem U-Boot die SD Karten beibringt findet ihr in
http://forum.embedded-projects.net/viewtopic.php?id=401

von Mathias U. (doomsday77)


Lesenswert?

Wo kann man eigentlich günstig an Kleinteile wie z.B. Pins, oder 
vielleicht passende Pin-Leisten kommen, die man für den Grasshopper 
verwenden kann. Finde im Internet äußerst wenig davon.

von Christian Z. (christianz)


Lesenswert?

Das sind doch ganz normale Pinleisten im 2,54mm-Raster, oder etwa nicht? 
Wo ist da das Problem?

von MainSter (Gast)


Lesenswert?

Hallo leute,
auch ich musste bitter dafür büßen dass ich mein grasshopper wegen der 
10V Kondensatoren zurückgeschickt hab (HTTP hat funktioniert, als ersatz 
bekam ich ein board mit dem falschn PHY ic drauf....

Da ich nicht auf in-circuit warten wollte hab ich mein board wie von 
Christian (Gast) beschrieben umgebaut:

bootscreen auszug:
1
eth0: Atmel MACB at 0xfff01800 irq 25 (00:1f:e5:00:01:29)
2
eth0: attached PHY driver [Davicom DM9161E] (mii_bus:phy_addr=0:00, irq=-1)

als ich dann zum ersten mal das LAN- kabel einsteckte erschien folgende 
Meldung:
1
$ eth0: link up (100/Full)

.... und siehe da... ich kann meinen Router anpingen freu
1
$ ping 192.168.2.1
2
PING 192.168.2.1 (192.168.2.1): 56 data bytes
3
64 bytes from 192.168.2.1: seq=0 ttl=64 time=2.6 ms
4
64 bytes from 192.168.2.1: seq=1 ttl=64 time=0.9 ms

auch ich musste die richtige mac einmalig mit U-boot setzen und mehrmals 
versuchen den saveenv befehl erfolgreich auszuführen...

Vill. hilfts dem ein oder anderen seinen mut zu sammeln und.......... 
:-)

Mit freundlichem Gruß
Mainster

von Max (Gast)


Lesenswert?

Hallo!

Was muss ich machen bzw. in buildroot selektieren damit ich für die 
tslib /dev/input/event0 bekomme?

LG Max

von Benedict B. (Gast)


Lesenswert?

Ich hoffe das es echt bald eine richtige Doku für den Grasshopper gibt, 
mir raucht schon der Kopf vom suchen :)

Hab derzeit das Problem das ich PortD nicht richtig ansteuern kann.

pin_mask: 0xffffffff
oe_mask: 0xffffffff

wenn ich nun in /dev mit "echo 0xfffffff > gpio0" meine angeschlossenen 
test LEDs anschalten will gehen zwar ein paar an aber nicht alle.

Oder kann man gar nicht 4Bytes gleichzeitig übergeben?

Würde mich freuen wenn mir jemand sagen kann wie ich den Kompletten Port 
auf High setzen kann :)

LG Benedict

von Benedict B. (Gast)


Angehängte Dateien:

Lesenswert?

Nach langem rumprobieren hab ich es geschafft die Pins anzusteuern, aber 
nur mithilfe eines C Programmes.

Was mich wundert, der zugriff mit C Streamfunktionen funktioniert 
einwandfrei. Mit C++ Streamfunktionen hab ich es allderings nicht 
hinbekommen.

Im Anhang befindet sich mein Code, vllt kann mir jemand sagen warum es 
nicht funktioniert.

LG Benedict

von Max (Gast)


Lesenswert?

AH vielleicht ist mein Problem auch hier besser?!
Ich hab wegen dem Touchcontroller die atmel_spi.c und atmel_spi.h im 
Linux-Driver Ordner ersetzt. Leider habe ich jetzt folgenden Fehler beim 
kompilieren. :(
1
drivers/spi/atmel_spi.c: In function 'atmel_spi_probe':
2
drivers/spi/atmel_spi.c:768: error: 'struct spi_master' has no member named 'mode_bits'
3
make[3]: *** [drivers/spi/atmel_spi.o] Fehler 1
4
make[2]: *** [drivers/spi] Fehler 2
5
make[1]: *** [drivers] Fehler

von Uwe G. (uwe_g)


Angehängte Dateien:

Lesenswert?

Hallo,

Die TSLIB-Programme (ts_test...) brauchen ja ein /dev/input/event0. Aber 
wie wird der erzeugt? Muss ich da irgendwas mit "mknod /dev/input/event0 
..." machen?

An meinen Grasshopper hab ich ein ADS angeschlossen. Ein "cat 
/sys/devices/platform/atmel_spi.0/spi0.0/pen_down" sagt mir eine "1" 
wenn ich den Touch berühre.
Ein "cat /proc/bus/input/devices" listet:

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="ADS784x Touchscreen"
P: Phys=spi0.0/input0
S: Sysfs=/class/input/input0
U: Uniq=
H: Handlers=
B: EV=b
B: KEY=400 0 0 0 0 0 0 0 0 0 0
B: ABS=1000003

Wei bekomme ich jetzt ein "/dev/input/event0" Gerät hin?

Grüsse

Uwe

von Gast (Gast)


Lesenswert?

siehe: Beitrag "AVR32 grasshopper patch für ATMEL buildroot 2.3.0"

einmal posten reicht auch.....

Beitrag #7099789 wurde von einem Moderator gelöscht.
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.