Forum: Mikrocontroller und Digitale Elektronik GNUBLIN www.gnublin.org


von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Angehängte Dateien:

Lesenswert?

Hallo,

wir haben ein neues Open-Source Projekt für den Einstieg in die 
Linux-Welt gestartet: GNUBLIN (http://www.gnublin.org)

Das Ziel war es ein ganz günstiges Board für erste und einfache 
Linuxbastelein zu haben. Ergebnis ist das Board auf der Homepage für das 
Projekt: http://www.gnublin.org

Heute kamen die ersten Boards an. Ich such aktuell Leute die Lust haben 
das Projekt mit zu gestalten. Es gibt noch einige Sachen zu tun.

Ein Paar nette Dokus schreiben, Anwendungen vorstellen etc oder den 
einen oder anderen Artikel fürs Wiki oder embedded projects Journal 
schreiben.

Wir haben 10 Boards die wir gerne für solche Arbeiten / Hilfen spenden 
würden.

z.B. Beschreibung wie man ein Relais über eine Webseite steuert (z.B. 
USB-LAN Adapter), Videos die bestimmte Sachen mit GNUBLIN zeigen. 
Einfache Anwendungen selbst entwickeln. Ansteuerung eines Sensors usw... 
Ihr seit da wahrscheinlich viel kreativer.

Übers Wochenende stelle ich die aktuellen Patchdateien und 
Beschreibungen online, wie die aktuelle mitgelieferte SD-Karte gebaut 
worden ist.

Wer Lust hat meldet sich bitte bei mir.

Gruss Bene

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Wäre sicher auch ein lohnendes Projekt für ein NetBSD. ;-)

von Tassilo A. (tiras)


Lesenswert?

moin moin

freut mich das es endlich soweit ist. habe im epj schon die artikelserie 
mit interesse gelesen....

grüße

von Tom (Gast)


Lesenswert?

Netzwerkanschluss? Ich kenne fast kein Embedded Linuxboard das ohne 
Ethernet-Anschluss daher kommt. Irgendwie ist das auch der Hintergedanke 
von Linux gewesen, dass das OS von sich aus netzwerkfähig ist.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

man kann jetzt GNUBLIN Ding als USB-Netzwerkkarte erkennen lassen (USB 
Kernel Treiber) und eine Route vom PC umlenken, oder ein USB-LAN- oder 
besser USB-WLAN Stick anstecken.

Das Board ist aktuell ein 2-Lagen Board, dass man als Student oder 
Interessierter komplett verstehen kann.


Gruss Bene

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Ich wäre bereit, da mitzumachen :)

Was mir direkt einfällt, was ich machen könnte wäre:
* einen/mehrere Artikel wie den zum mini2440 schreiben, bei dem das 
wichtigste grob beschrieben und angerissen wird.
* einzelne genaue Artikel zu bestimmten Themen
* "Cross-Compiling-Guide" schreiben
* Beispielcodes für ADCs, DACs, IO, telnet-/serielle-/...-Kommunikation

Auch wenn ihr bestimmte Aufgaben zu vergeben habt, wäre ich gern dabei.

Nachher mal Chef anhauen, der spendet vielleicht ja auch noch ein wenig, 
ist ziemlich begeistert von Embedded-Geschichten.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Nils,

wenn du Zeit und Lust hast müsstest du mir deine Adresse zukommen 
lassen.


Gruss Bene

von Random .. (thorstendb) Benutzerseite


Lesenswert?

hmmm ... wieder ARM9 :-)
Wie schauts denn mal aus mit nem eigenen Board a'la Panda&Co? Cortex-A8? 
A9?

Da hätte ich Interesse als Server-Ersatz.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Benedikt Sauter schrieb:
> wenn du Zeit und Lust hast müsstest du mir deine Adresse zukommen
> lassen.

Bin jetzt noch arbeiten, melde mich nachher bei dir per Nachricht :)

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

So will noch jemand mitmachen? Ein paar Boards hätte ich noch.

Gruss Bene

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Hallo Benedikt,
Was wird den aktuell noch benötigt um Mitzumachen, welche Themen stehen 
noch aus?

Auf der Seite steht man benötigt eine microSD für Kernel und Co wird die 
bereitgestellt oder kann man sich irgendwo ein Image runterladen?

von Ben _. (burning_silicon)


Lesenswert?

schade daß das wieder so ein board ist wo keine sau mehr selbst was dran 
löten kann. da kann ich auch nen schwintel atom board benutzen...

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Wo gibt es den vollstände Atomboards für den Preis und mit den 
Abmessungen?
Das "selbst dran löten" ist sicher auch kein Ziel solcher Boards und 
wenn kannst du doch per USB noch extra was dranhängen wenn du unbedingt 
löten willst ;)

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Läubi,

aktuell gibt es ein ELKD RootFS, angepasste Patch-Dateien für den Kernel 
und Bootloader.

Wir passen gerade alles an und laden es dann auf ein öffentliches SVN.

1.)
Was spannend wäre, wäre ein Generator für ein RootFS übers Web. So dass 
man sich zusammenklicken kann, ich will nen Webserver, DHCP-Server, 
kleine Datenbank etc., PHP, Python, Perl, Ruby etc. lädt sich dann ein 
Skript herunter, das startet man dann und hat zwei Stunden später ein 
fertiges Image für eine SD-Karte. Oder wir lassen es gleich auf einem 
Server bauen und man muss sich nur das Image ziehen.
2.)
Oder auch so allgemeine Sachen. Wie baue ich mir eine 
Entwicklungsumgebung auf und kann bequem testen und programmieren.
3.)
Oder ein Beispielrahmen + Guide für eine typische Steuerung mit Anzeige 
(übers Web).
4.)
Oder wir suchen ein paar Sensoren und zeigen wie man die verwendet. 
Temperatur, Licht.
5.)
Oder wie integriert man eine RTC mit Batterie, so dass das Linux weiss 
wie spät es ist.
6.)
Cool wäre auch so eine Art Mini-PC. Man sucht ein einfaches Display 
Pixel oder Zeichen und kann dann direkt mit einer USB-Tastatur, dem 
GNUBLIN und dem Display Mini-Notebook spielen. Das Board braucht aktuell 
ca. 70 mA eventuell kann man diesen Mini-PC mit einer Solarzelle 
betreiben, oder gar aus einem 9V Block. So als Mini Texteditor PC :-).




So Sachen die es dann später erleichtern Anwendungen zu schreiben.

Gruss Bene

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Kennt jemand ein gutes Display das per SPI oder I2C angesteuert werden 
kann und nicht teuer ist? Letztens hatte ich so eins: 
http://www.lcd-module.de/deu/pdf/grafik/dogxl160-7.pdf aber ich glaube 
die sind nicht so billig. Bei Reichelt knappe 30 EUR.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Hallo Benedikt,

das hört sich doch ganz interessant an, hätte Interesse würde mich dann 
für den Bereich Webserver/Mini-PC "engagieren", was natürlich knapp 
werden könnte sind die 8MB Ram stimmt die Angabe oder ist das ein 
Schreibfehler auf der HP? Und ist eventuell eine weitere Variante mit 
etwas mehr RAM geplant?

kannst ja einfach mal eine PN schreiben.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Das ist Absicht. Das Board kriegt man so auf knappe 30 EUR bei 100 
Stück. Kein Schnickschnack ein einfaches Board zum Lernen. Außerdem soll 
der Mini-PC ja nur ein Konsolen-PC werden :-) und man hat wenn man will 
Gigabytes an Swap. Aktuell ist eine 64 MB swap Datei eingerichtet. Man 
kann problemlos auf dem Board den gcc anschmeißen. Man könnte aber auch 
durch Bestückung einen größeren Speicher auflöten. Ein Pin muss man noch 
routen, aber das sollte klappen.

Ideal läuft ein Texteditor, Screen, SSH-Client und Mutt oder so wenn das 
jemand verwendet. Online kann man über das USB-Kabel, ein WLAN Stick 
o.ä. gehen.

von Alex (Gast)


Lesenswert?

Hallo,

joooah, sehr nettes board, leider sind die Pins vom Displaycontroller 
nicht herausgeführt, bin besessen von Grafikanwendungen und deren 
Programmierung im Embeddet Bereich, warte schon sehr gespannt auf die 
'GNUBLIN imx287'-Version, könnte da meinen Part dazusteuern.

Gruß Alex ;)

von Peter H. (the_ride)


Lesenswert?

Hi!

Das mit dem Mini-PC würd mich auch interessieren :)

cya The_Ride

von Alex (Gast)


Lesenswert?

Oooops, sorry der LPC3131 hat ja gar keinen LCD-Controller sondern nur 
ein Interface für einen ext. Grafikkontroller.

von Wolfgang M. (wsys)


Lesenswert?

Hallo,

ich würde sehr gerne bei deinen Projekt mithelfen.
Ich würde gerne ein RFID Zugangssystem damit aufbauen wollen oder mich 
mit anderen sensoren Beschäftigen!

mfg Wolfgang

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Ok. Ich schreibe ab morgen jeden nochmal nach und nach eine mail um 
genau zu klären für was und wo hin ich die Boards schicken soll. Wenn es 
noch was gibt, schreibt gerne weitere Ideen.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Benedikt Sauter schrieb:
> Ich schreibe ab morgen jeden nochmal nach und nach eine mail um
> genau zu klären für was und wo hin ich die Boards schicken soll.

Freu mich schon drauf :)
Hab dir ja geschrieben, was ich so aus'm FF wüsste, was ich machen kann. 
Wenn dir noch mehr einfällt, einfach schreiben.

Diejenigen, die mitmachen sollten sich vielleicht auch noch per Mail 
austauschen, nicht dass manche Sachen 5-fach gemacht werden und andere 
Wochenlang liegen bleiben.

Ja, ich weiss Beispiel-Kernel-bauen und Wiki-Artikel dazu schreiben kann 
nerven oder zigmal durchgekaute Sachen wieder durchzukauen, aber muss ja 
eben auch sein ;)

von Gerd E. (robberknight)


Lesenswert?

Benedikt Sauter schrieb:
> Das ist Absicht. Das Board kriegt man so auf knappe 30 EUR bei 100
> Stück.

hmm. Da finde ich das hier spannender: http://www.raspberrypi.org/
Die wollen im Dezember ihre Boards für 35 EUR fertig haben.

Da ist nen ARM11 mit 700MHz und 128 MB RAM drauf. Außer USB ist noch 
Ethernet und HDMI drauf. Man hat also doch gleich viel mehr 
Möglichkeiten das zu vernetzen.

Wenn ich mir das Foto von Deinem Board so anschaue, sieht mir der 
Prozessor nicht so aus, als wäre der für Löt-Anfänger von Hand zu 
bestücken. Von der Seite her sind also beide Boards gleichauf.

Gruß,

Gerd

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Gerd E. schrieb:
> Da finde ich das hier spannender: http://www.raspberrypi.org/
> Die wollen im Dezember ihre Boards für 35 EUR fertig haben.

Herstellungs und Verkaufspreis sind ja 2 paar Stiefel. Geht man mal von 
20€ Herstellungskosten aus, lässt sich das höchstwahrscheinlich nur 
durch Stückzahlen erklären.

von Sebastian (Gast)


Lesenswert?

@Benedikt Sauter:
Die billigsten Standard Grafik-LCDs, die mir zur Zeit bekannt sind, sind 
die von Displaytech Hongkong, hier beim Hersteller zu sehen: 
http://www.displaytech.com.hk/product.php?id=12
Kann man z.B. bei RS bekommen: 
http://de.rs-online.com/web/p/lcd-displays-graphisch-monochrom/0564400/

Diese Displays können neben dem Parallelbus auch SPI.

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Dann doch lieber sowas hier: 
http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=de&site=DE&KeyWords=153-1143-nd&x=0&y=0

hat gleich Farbe und mehr Pixel zum gliechen Preis ;) Mit dem ding 
schlage ich mich gerade rum, kann bald Ergebnisse zur Bildqualität 
posten falls Interesse besteht.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

ah ja gerne

von W.S. (Gast)


Lesenswert?

Benedikt Sauter schrieb:
> Kennt jemand ein gutes Display das per SPI oder I2C angesteuert werden
> kann


Hallo Benedikt,
bist du dir ganz sicher, daß du beim Entwurf des Boards nix verkehrt 
gemacht hast? Ich meine nicht irgendwelche Schaltungsfehler, nee, ich 
meine, was du da draufprojektiert hast und was nicht. Irgendwie vermisse 
ich eine klare Linie.

Wenn man das Board nicht bloß irgendwo in irgendeinem Netz unbemannt 
herumwerkeln lassen will, dann sind Hände und Füße angesagt, also ein 
Display (bei der Controller-Liga QVGA oder 480x272), IR-Anschluß, Tasten 
oder PS2, Drehgeber, Audio und so weiter. Und 8 MB wären für ein WinCE 
zu klein, da wären zumindest 32 MB angesagt. Ob 8 MB für ein Linux mit 
ner Oberfläche und Anwendungen ausreicht, wage ich zu bezweifeln. Für 
ein Eigenbau-OS oder solche Dinger wie Contiki sollte es hingegen 
ausreichen - aber ganz ohne Interface zum Menschen?

Wie stellst du dir eigentlich ein per SPI oder gar I2C angeschlossenes 
Display vor? ich weiß, daß es QVGA-TFT-Displays mit paralleler 
Schnittstelle gibt, aber deren Benutzung ist grottenhäßlich, kompliziert 
und langsam - kein Vergleich zu einem Display, das wie ein Stück RAM im 
Adreßvolumen liegt.

Kurzum, ich hab bei deinem Board kein gutes Gefühl.

W.S.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Wie schon geschrieben, das soll kein PC werden, sondern ein kleines 
Controllerboard mit Linux.

Niemand mäkelt an einem SAM-Board mit FreeRTOS herum, dass es keine 
Tastatur hat und kein VGA-Display. Aber die Funktionalität und 
Einfachheit eines kompletten Linuxsystems wünscht sich fast jeder - 
zumindest beim Entwickeln.

Immer schneller und bessere Grafik - so muss es sein!

PS: Ich weiss schon, was ich damit machen würde. 3,5"+ SPI-Display dran, 
ADCs, 24 Fader, RS485, >100 Buttons und ich hab ein DMX-Pult mit 
ordentlich Power.

PS2: @Benedikt: hast du schon geschrieben?

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

hatte einiges um die Ohren heute. Es gibt ein neues Foto.

Das ganze ist eine einfache Plattform die man gut verstehen und 
nachvollziehen kann. Das war das wichtigste Ziel.

Man kann alles mit einem USB-Kabel betreiben (USB-RS232 für Konsole + 
Stromversorgung).

Ich schau das ich morgen das schaff, was ich heute machen wollte.

Gruss Bene

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nils S. schrieb:
> Niemand mäkelt an einem SAM-Board mit FreeRTOS herum, dass es keine
> Tastatur hat und kein VGA-Display.

Naja, aber ein Farb-Grafik-LCD mit resistivem Touchscreen sowie
einen separaten Bereich mit Feldern für QTouch haben die mittlerweile
auch. ;-)

von debugger (Gast)


Lesenswert?

Auf der Platine scheint noch viel Platz frei zu sein. Könnte man das 
nicht dazu nutzen, die Platine kompakter zu machen ?

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Die Platine ist eine 2 Lagen Platine. Leider geht es nicht "viel 
Kompakter" ich stell das Wochenende mal die Layouts online.

Allgemein werde ich erst am Wochenende zu den versprochenen Mails 
kommen. Wir haben gestern die ersten Boards aktiviert.

von LCDmann (Gast)


Lesenswert?

Hallo habe eine frage:
Hat jemand links zu dem Thema embedded Linux? Unter wiki und der 
offiziellen Seite steht nicht wirklich etwas... Kann ich mir das 
vorstellen wie einfach Linux ohne GUI nur im konsolenmodus aber ohne 
tastertur und Bildschirm ?!
Würde mich gerne in die Materie einarbeiten, jedoch wären hier paar tuts 
von Vorteil!

Danke im voraus
Mfg

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Das ist eine sehr gute Idee. Ich habe gleich mal eine Seite im Wiki 
angelegt für den Einstieg für den absoluten Neuling.

http://www.gnublin.org/index.php?title=Hauptseite (aus der Startseite 
der Link).

Hat jemand einen guten Link? Ich kenne so aus dem Bauch nichts. An der 
FH Augsburg gibt es eine Vorlesung von Prof.Dr. Hoegl leider ist der 
Server gerade offline.

Ich probiers nachher nochmal.

von LCDmann (Gast)


Lesenswert?

Hallo ich nochmal
Habe mir dein Video tut angesehn und ich denke ich werde mir das Board 
zulegen! Ich würde mich freuen wenn es Anleitungen geben würde wie ich 
i2c spi oder die ads ansprechen kann, mein vorhaben wäre ein i2c lcd zu 
betreiben um die Daten die man per uart bekommt am Display sieht!

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Hast du denn schon anderen geschrieben? Bei mir kam noch nix an :(

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

kurzer Status. Wir kriegen gerade nicht soviel Boards aus der Produktion 
wie wir brauchen. Aber es läuft alles auf Hochtouren.


Heute werden die ersten Boards versendet. Ich schreibe jetzt gleich mal 
alle Leute an die mich angeschrieben hatten.


Gruss Bene

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

so danke für die Zurschriften. Ich habe mit allen Kontakt aufgenommen. 
Die erste Runde der Board gegen Hilfe ist dann mal geschlossen.

Ich hoffe wir kriegen die Board die kommende Woche an alle raus.

Gruss Bene

von benwilliam (Gast)


Lesenswert?

irgendwie erinnert mich das an das FoxBoard 
(http://foxlx.acmesystems.it/) evtl. kann man sich da was abschauen?

von avrfreak (Gast)


Lesenswert?

Ich fände modulweise Erweiterungen ganz gut: z.b. für ps2 tasterturen 
oder Ethernet oder ein Display oder canbus mit dazugehörigen Treiber 
Demos!

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

avrfreak, erstmal haben ganz andere Dinge Vorrang.

Wenn du z.b. solch ein Netzwerk-Modul bauen willst, tu das. Stellst du 
es jemandem zur Verfügung, der sich mit Chip XY auskennt, mit dem Linux 
Kernel, Netzwerken usw, schreibt dir derjenige vielleicht ja einen 
Treiber ;)

von tt2t (Gast)


Lesenswert?

stört mich schon sehr, dass da kein Ethernet direkt drauf ist. Die 
"Konkurrenz" (z.B. Bifferboard 
http://www.mikrocontroller.net/articles/Bifferboard) hat das schon drauf 
und ist zudem billiger.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Angehängte Dateien:

Lesenswert?

Und gibts Ideen für Anwendungen für das GNUBLIN Cluster :-).

1,26 GHz und bis zu 32 GB x 7  Speicher

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Welche Topologie? Mesh? Cube? Torus? Hypercube? ;)

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Egal :-) Alle sind aktuell per USB über ein HUB über USB-LAN verbunden. 
Jeder hat eine IP Adresse.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Benedikt Sauter schrieb:
> Egal :-) Alle sind aktuell per USB über ein HUB über USB-LAN verbunden.
> Jeder hat eine IP Adresse.

Eventuell bekommt man MPI ans laufen :)
http://www.open-mpi.org/
http://www.cyberciti.biz/tips/linux-openmp-clusters-hpc-programming.html

Die Frage ist nur ob ein einzelner PC da nicht schon leistungsfähiger 
ist ;)

von debugger (Gast)


Lesenswert?

Kan das Board eigentlich auch mit 3,3 V betrieben werden ?
Und wie hoch ist der Stromverbrauch ?

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

die Spannungen werden von AS1324 erzeugt. Ich glaub 0,6V höher muss die 
Spannung sein.

Für die 1,8V und 1,2V ist das kein Problem.

Mit etwas weg löten und Brücken einbauen kann man auch mit 3,3V die 
Schaltung versorgen.


Gruss Benedikt

von NurEinGast (Gast)


Lesenswert?

Habe ein Board bestellt und bekommen.
Macht Spass.

Nur im WIKI  scheint es überhaupt nicht weiter zu gehen.
Wer das Bord kaufen und nutzen will, der sollte selbst mit Linux auf Arm 
Rechnern umzugehen wissen - und bereit sein viel zusammenzusuchen.

von Micha (Gast)


Lesenswert?

Ich würde auch gern den weg in das Embedd Linux finden, aber das schaff 
ich defenitiv nur wenn da was in form eines howtoo kommt. Wenigstenz für 
den Einstieg. Es währe sehr schade wenn das Projekt daran scheitert

von tecdroid (Gast)


Lesenswert?

Hallo,

ich hab das Board auch und es ist schon ganz schnuckelig. Allerdings 
kämpfe ich noch damit, die seriellen Schnittstellen zu nutzen.
Ich find zwar SPI und I²C im sysfs aber ein Device existiert nicht. Kann 
mir nicht wer sagen, wie ich jetzt ein beliebiges I²C-Device damit 
ansteuere?

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

tecdroid schrieb:
> wie ich jetzt ein beliebiges I²C-Device damit
> ansteuere?

Entweder mit den I2C-Tools und den darin enthaltenen i2cset und i2cget 
oder in C 
http://www.mikrocontroller.net/articles/Ports_benutzen_%28GCC%29#Der_I2C_Bus_.26_SMBus

Hier ein kleines Beispiel von mir 
http://krumeltee.wordpress.com/2011/08/15/pcf8574-am-avr32-unter-linux/ 
für den PCF8574, gibt dort noch mehr.

Die Linux-I2C-Geschichten laufen, solange du /dev/i2c-xxx hast, auf 
jedem Board gleich ab.

von Nils H. (irrenhaus)


Lesenswert?

@Benedikt Sauter

Ohne mir den ganzen Thread durchzulesen, falls noch ein Display gesucht 
wird:
http://www.watterott.com/de/MI0283QT-2

Das Ding kann man per SPI und per Parallel-Schnittstelle ansprechend und 
es hat nen Touchscreen. Ich habe es selbst in Benutzung und finde es 
sehr gut.

Bei Watterott gibts auch gleich ne Breakout Platine dafür.

MfG
Nils

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

Ich habe soeben mal die ersten Seiten aufgeräumt (www.gnublin.org)

Toolchain & Linux Kernel sollten soweit klappen.

I2C und SPI sollten eigentlich vom Kernel aus funktionieren.

Um per Netzwerk mit GNULIN zu arbeiten gibts das hier:

http://www.gnublin.org/index.php?title=GNUBLIN-EINSTIEG-Netzwerk

Ich schau, dass ich noch ein paar so Texte heute schreib.


Die Boards sollten hoffentlich die Woche an euch rausgehen.

von A. F. (frankalicious)


Lesenswert?

Benedikt Sauter schrieb:
> Die Boards sollten hoffentlich die Woche an euch rausgehen.
Juhu, ich freu mich schon.

von Stefan (Gast)


Lesenswert?

Guten Morgen.

Ich hab nur mal eine kurze Frage;
Warum sollte ich dieses Board im Gegensatz zu den Starterkits aus dem 
Shop oder, wie oben schon angesprochen, einen Raspberry PI (falls das 
Projekt fertig wird) nehmen? Ich bin völlig neu in der ARM-Kategorie, da 
ich vorher nur auf der 8-Bit AVR Architektur programmiert habe. Welche 
Vorteile bekomme ich durch ein embedded Linux?

von linuxi (Gast)


Lesenswert?

Gibt es die möglichkeit embedded Linux auf einer virtuellen maschine wie 
VMWare zu installieren?

von Frank L. (franklink)


Lesenswert?

Hallo,
vielleicht hilft Dir das:

http://www.imedialinux.com/alldownloads

Gruß
Frank

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Qemu, nur das Problem ist, dass es nur den Rechner emuliert, keine 
zusätzliche HW.

von Stephan_II (Gast)


Lesenswert?

Hallo,

habe heute mein GNUBLIN bekommen, und funktioniert einwandfrei...
Habe mir nun wie auf http://www.gnublin.org die GNU/Linux Umbegung
für Windows heruntergeladen und installiert. Habe zum testen erseinmal 
das Beispiel aus dem getting-started.pdf auf Seite 25 kopiert.

Wird compiliert mit
   arm-none-linux-gnueabi-gcc -o factorial main.c
es klappt, und es wird im Projectordner ein File das factorial heißt
erzeugt.

Dieses übertrage ich nun mit zmodem ans gnublin board, ins Verzeichnis
c-demo, dies funktioniert ebenfalls. Wenn ich aber nun Eingebe 
./factorial
so bekomme ich "-sh: ./factorial: Permission denied" zurück.

Was habe ich vergessen/falsch gemacht??

Ich bin blutiger Linux Anfänger..

Gruß

 Stephan

von Stephan_II (Gast)


Lesenswert?

Hallo,

alles zurück. Ich habe gerade den Befehl chmod entdeckt.
Und factorial nun ausführbar gemacht, nun funktioniert es...

Gruß

 Stephan

von b.a. f. (bafh)


Lesenswert?

Stephan_II schrieb:
> Habe zum testen erseinmal
> das Beispiel aus dem getting-started.pdf auf Seite 25 kopiert.

Wo gibts das PDF zum download? Kannst Du mal einen Link posten oder das 
PDF hier hochladen?

von Stephan_II (Gast)


Lesenswert?

Hallo ,

der link ist unter 
http://www.gnublin.org/index.php?title=LPC3131-Toolchain
unter CodeSourcery (unter Windows oder Linux) angegeben.
Der link ist:
https://sourcery.mentor.com/sgpp/lite/arm/portal/subscription?@template=lite

Dort kannst du dir die toolchains runterladen, etwas weiter unten unter 
Documetation gibst dieses und weiter pdfs

Gruß
 Stephan

von Stephan_II (Gast)


Lesenswert?

Hallo,

weiss jemand wie man die led1 auf dem board ein/ausschalten kann.

Gibt es ein bereits header file wie include"lpc3131.h" wo die
Pins definiert sind, so das man sie in c mit outb inb ansprechen kann?

Gruß

 Stephan

von linuxi (Gast)


Lesenswert?

Gibt es ja auf gunblin.org eine nette Beschreibung! Würde mich auch über 
mehr Testprogramme freuen bzw. Die uart Ausgabe auf ein Display 
"umzuleiten"
Danke

von Alexander B. (Firma: brickwedde.dev) (alexbrickwedde)


Lesenswert?

Hi,

kann ich mit dem Board ein WLAN-Radio bauen? Habe hier einen VDR PC der 
einen MPEG TS im LAN bereitstellt. Dieses müsste über USB WLAN 
reinkommen, und über einen USB-Audio abgespielt werden. Mit dem o.g. 
Touch Display von Watterott wäre auch eine Bedienung machbar. Hätte das 
Board genügend Leistung dafür?

Gruss

...Alex

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

also auf der GNUBLIN Seite sammelt sich nach und nach mehr info an.
Um die GPIO Geschichte nutzen zu können müsst Ihr das zImage auf der SD 
Karte gegen das neue bei Downloads austauschen. Einfach unter einem 
Linux Rechner hineinkopieren bzw. überschreiben.

- 5 Boards gehen heute hier an Bastler raus. Dann könnt Ihr die 
Weihnachtszeit nutzen.


Gruss Benedikt

von Michael S. (misc)


Angehängte Dateien:

Lesenswert?

Hallo!

Ich habe eine kleines Kernel-Modul geschrieben, um bequemen Zugriff auf 
die GPIO Pins des Boards zu haben.
Um es auszuprobieren, könnt ihr entweder das Modul selbst gegen euren 
Kernel Source kompilieren (gpio-module-src.tar.gz) oder zum Testen 
meinen Kernel und das fertig kompilierte Modul verwenden 
(gpio-module-bin.tar.gz)

Am besten ihr kopiert das Modul "gpio-module.ko" in das home-Verzeichnis 
und führt dann "insmod gpio-module.ko" aus um es in den Kernel zu laden.
Entfernt werden kann es mit "rmmod gpio-module.ko" beziehungsweise durch 
einen Neustart.

Das Modul erstellt die virtuellen Dateien "/proc/gpio_dir", 
"/proc/gpio_in", "/proc/gpio_out" um auf die Pins zuzugreifen.

Es liegt auch beiden Archiven der Header "gpio.h" bei, den ihr einfach 
in C Programmen verwenden könnt um auf die Pins zuzugreifen.

Im Anhang ist auch noch ein Beispiel wie man das Modul in C verwenden 
kann.

Das ist mein erstes Kernel Modul und ich nehme gerne 
Verbesserungsvorschläge entgegen ;)

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Michael,

hättest du Lust das gleiche für ADC und oder PWM zu machen :-).


Gruss Benedikt

von Michael S. (misc)


Lesenswert?

Benedikt Sauter schrieb:
> hättest du Lust das gleiche für ADC und oder PWM zu machen :-).

Ja, ich bin gerade dabei mich in das Datenblatt des LPC3131 einzulesen 
und habe vor, einen Treiber für den ADC zu schreiben.
Da das meine ersten Versuche mit Treiberprogrammierung sind kann ich 
aber nichts garantieren ;)

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Michael Schwarz schrieb:
> Da das meine ersten Versuche mit Treiberprogrammierung sind kann ich
> aber nichts garantieren ;)

Kernel-Module und ein /dev- und/oder /proc-Interface sind absolut kein 
Hexenwerk. Schwieriger wirds, den ADC anzusprechen.
Siehe "Linux Kernel Module Programming Guide".

von Michael S. (misc)


Lesenswert?

Nils S. schrieb:
> Kernel-Module und ein /dev- und/oder /proc-Interface sind absolut kein
> Hexenwerk.

Das stimmt, das habe ich bereits für das gpio Modul in meinem vorigen 
Post gemacht.

Beim ADC ist eben das Problem, wie du schon erwähnt hast, dass ich ihn 
erst ansprechen muss. Aber soweit ich das verstanden habe, sind alle 
Register des ADC memory mapped und ich kann damit ganz einfach darauf 
zugreifen.

Ich werde heute ein wenig damit experimentieren und falls ich 
Fortschritte mache hier posten.

von Michael S. (misc)


Lesenswert?

Kurzes Update:

es ist mir jetzt gelungen den ADC anzusprechen und im Single Conversion 
Mode Werte vom ADC zu bekommen.

Ich werde also voraussichtlich noch diese Woche ein Kernel-Modul (und 
einen Patch für den Kernel) herausbringen.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

gestern gingen die ersten Boards per Post an euch. Bis Weihnachten 
wollen wir, dass alle draußen sind.

Gruss Bene

@Michael kann ich deinen Treiber ins Wiki mit aufnehmen?

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

In der .h Datei die C Funktionen ist nicht wirklich hübsch. Lieber 
schnürt man eine kleine Bibliothek gegen die man dann linkt. Oder man 
schreibt in der Anleitung, dass man die C Funktionen mit aufnehmen soll.

In der .h Datei sollten nur Definitionen etc. sein.

Sonst sieht das doch für deinen ersten Treiber gut aus.

Gruss Bene

von Michael S. (misc)


Angehängte Dateien:

Lesenswert?

@Benedikt: Ja kannst du gerne ins Wiki stellen.

Mit dem Header hast du völlig recht, das war nur schnell zum Probieren 
gedacht. Es ist auch nicht besonders effizient, da bei jedem Pin Zugriff 
die Datei geöffnet, geschrieben und geschlossen wird.
Besser wäre es, die Datei am Anfang zu öffnen und dann mit rewind() 
immer wieder an den Anfang der Datei zu gehen und sie erst am Ende zu 
schließen.

Ich habe jetzt das ADC Kernel-Modul fertiggestellt. Es unterstützt den 
Single Conversion Mode mit 10bit Auflösung für alle drei herausgeführten 
ADC Kanäle.

Das Modul wird mit "insmod adc-module.ko" eingefügt (wenn ihr das fertig 
kompilierte Modul aus "adc-module-bin.tar.gz" verwendet, müsst ihr auch 
meinen Kernel verwenden)

Das Modul erstellt die drei Devices /proc/adc0, /proc/adc1 und 
/proc/adc3. Jedesmal wenn von einem dieser Devices gelesen wird, führt 
der ADC eine A/D Wandlung durch und liefert das Ergebnis zurück.

Testen kann man das z.B. mit "cat /proc/adc0 | od -i -An | tr -d ' '"

Achtung: Die maximale Eingangsspannung des ADC ist 3.3V!

Wer das Modul selbst kompilieren will, muss zuerst noch den Kernel Patch 
anwenden, der die Register des ADC definiert:
"cd linux-2.6.33-lpc313x/
patch -p1 < ../adc-registers.patch"

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

Benedikt,
nachdem vor zwei Tagen die Versandbestätigung kam (Post war heute noch 
nicht da...), wollte ich mich schonmal ans Wiki mit einem 
Beispiel-Kernelmodul machen. Nun siehts aber so aus, als wäre die 
Anmeldung gesperrt... oder übersehe ich da was?

Michael,
wieso hast du /proc genommen? Für Geräte ist eigentlich /dev da. Im 
LKMPG gibts kein komplettes Beispiel für ein Kernel Modul, welches 
/dev-Nodes bereit stellt, die man lesen und schreiben kann.
Ich hänge hier mal ein Modul an, welches nichts weiter tut als von sich 
lesen und sich beschreiben lassen.

von Michael S. (misc)


Lesenswert?

Weil das in dem Tutorial das ich mir über Kernel Modul Programmierung 
durchgelesen habe so erklärt worden ist ;)
Aber du hast recht, /dev wäre natürlich besser.
Danke für die Beispiele, ich werde meine Module also umschreiben, dass 
sie /dev statt /proc verwenden.

Ich hatte eigentlich vor, heute noch ein Modul für PWM reinzustellen, 
aber dann werde ich das noch so abändern, dass es unter /dev liegt und 
entweder heute Abend oder morgen reinstellen.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Vorschlag, ich würde den adc nicht mit mehreren /dev-Nodes machen, 
sondern mit einer.
Beim starten ist automatisch ch0 aktiv und jenachdem, ob man 0-3 rein 
schreibt, gibt er ab da den passenden channel aus.

von Michael S. (misc)


Lesenswert?

Das ist ein guter Vorschlag, das werde ich gleich umsetzen nachdem ich 
das PWM Modul fertig habe.

Aber falls du Lust (und Zeit und einen Google Account) hast, kannst du 
auch gerne das Modul ändern. Ich habe ein Projekt auf Google Code 
angelegt (http://code.google.com/p/gnublin-adc-module/) und wenn du mir 
eine PN mit deiner E-Mail Adresse schickst könnte ich dich hinzufügen.

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

In der Header Datei hat sich beim Kommentieren noch ein Fehler 
eingeschlichen, fehlende Escape-Sequenzen. Dadurch wird es nicht 
compilieren, hier berichtigt.

von Michael S. (misc)


Angehängte Dateien:

Lesenswert?

So, ich habe jetzt auch noch das Modul für PWM fertig gestellt.

Das Modul wird ebenfalls durch "insmod pwm-module.ko" geladen. Dann muss 
jedoch (falls noch nicht vorhanden) das PWM Device angelegt werden. Wie 
das geht, zeigt das Modul beim Laden an. Es sollte im Normalfall
"mknod /dev/pwm c 253 0" sein.

Dann kann man einfach den PWM Wert in das Device schreiben. Für ein 
Beispiel dazu siehe die angehängte "pwm.c".

Wie immer: wer das Modul ausprobieren will, muss auch meinen Kernel 
verwenden (beide in "pwm-module-bin.tar.gz")

Ich denke das wären einmal die wichtigsten Module die man so braucht. 
Wer noch Ideen für neue Module oder Verbesserungsvorschläge für die 
Module hat, immer her damit ;)

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Michael und Nils,

wir könnten es so machen, dass wir die ganze Entwicklung und Texte 
schreibei auf code.google.de/p/gnublin machen und von dort gehts dann 
ins Wiki etc. Ihr hättet dann auch Zugriff auf das Repos.

@Michael könntest du dann gleich zwei Artikel über die Treiber 
schreiben? So dass man es als Benutzer nachmachen kann. Was genau hast 
du am Kernel geändert? Nur eine andere Config? Hast du ein Google 
Account?

@Nils hast du auch einen Google Zugang? dann kann ich euch da alle 
eintragen.

Das wichtigste beim Projekt GNUBLIN ist, dass wir immer eine klar 
Struktur auf der Tutorial Homepage haben. Wenn Ihr hier noch Anregungen 
habt immer raus damit. Eventuell ist es daher besser, wenn wir auf 
Google arbeiten und wenn alles passt wir es auf gnublin.org gezielt 
übernehmen?

Gruss Benedikt

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

ADC-Treiber bin ich grad dran, haben per PN noch geschrieben, wird heute 
Abend oder morgen im Lauf des Tages fertig sein.
Läuft dann so, dass man in eine Device Node schreibt und von ihr liest, 
wie weiter oben geschrieben.

googlecode ist zwar google aber hab ich kein Problem mit :) -> Mail.

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

So, ADC Treiber funktioniert mal so halbwegs.

Was noch nicht tut, ist das ändern der resolution (10bit Messung 
funktioniert, beim Laden vom Modul auf 10bit gestellt) und das 
durchführen von Mehreren Messungen und bilden vom Durchschnitt (hab es 
im Module "averaging" genannt.

Compilieren:
Im Makefile ARCH, CROSS_COMPILE und KDIR angeben (Kernel Quellcode 
Verzeichnis)
$ make
Modul kopieren

Auf dem Board:
$ insmod /path/to/lpc3131_adc.ko

$ echo "0" > /dev/lpc3131_adc schaltet auf CH0
$ echo "1" > /dev/lpc3131_adc schaltet auf CH1
$ echo "3" > /dev/lpc3131_adc schaltet auf CH3
$ cat > /dev/lpc3131_adc gibt aus

$ echo "help" > /dev/lpc3131_adc gibt Hilfe auf dmesg aus.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Hallo Nils, mal interessehalber was nutzt du als SDK/Toolchain?

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Den EDLK compiler, der mit der ISO kam, aber das gefällt mir nicht so, 
ist x86 und ich hab x86_64. Ich werd mir mit crossdev auf gentoo im Lauf 
der Tage noch was bauen.

Das Problem bei crossdev ist leider, dass man nie weiss, was man bei 
rausbekommt - eine Käferfamilie oder einen Compiler...

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Nils S. schrieb:
> $ cat > /dev/lpc3131_adc gibt aus
        ^
        |
        das muss da weg :-)

Gruß,

Frank

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Frank M. schrieb:
> Nils S. schrieb:
>> $ cat > /dev/lpc3131_adc gibt aus
>         ^
>         |
>         das muss da weg :-)
>
> Gruß,
>
> Frank

Hmm hast wohl recht :D

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Mal ne blöde Frage: Wie meldet man sich fürs Wiki an oder kann das nicht 
"von jedem" editiert werden?

Eventuell kann jemand mit Schreibberechtigung mal den Abschnitt:
http://www.gnublin.org/index.php/LPC3131-Fortgeschrittene#Toolchain_installieren_und_die_Umgebungsvariable_setzen
editieren, einmal sollten "temporäre" Medien ggf. nach /media gemountet 
werden und ansonsten ist es eventuell etwas unklug nach /mnt zu mounten 
da dort (in Unterverzeichnissen) bei vielen Systemen auch ander FS 
gemountet sind welche man dann überdeckt (was dann die installation 
schwierig macht und dem Rest des Systems ggf. auch nicht schmecken mag).

Dann hätte ich noch eine Frage zu Netzwerkkarte, benötigt man da dieses 
spezielle OTG Kabel oder tut es auch ein "einfaches", das wird aus dem 
Text nicht ganz klar.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hall Läubi,


habs angepasst. Ich werde glaube ich ein zweites wiki einrichten,
in dem jeder Schreibzugriff hat. Von dort aus werden die Texte dann auf 
die Hauptseite übernommen.

Oder es finden sich ein paar freiwillige die Moderator spielen. Hätte da 
jemand Zeit und Lust? Dann könnten wir auch das Wiki mal offen lassen 
und schauen was passiert?

Wenn du den ID Pin der USB Buchse manuell gegen GND ziehst kannst du 
jedes Kabel verwenden.

http://www.gnublin.org/images/thumb/b/b4/Usb-id-jumper.jpg/800px-Usb-id-jumper.jpg

Gruss Bene

von Max (Gast)


Lesenswert?

Wer Cortex A-8 mit 256MB RAM, LAN, Video, USB, ... sucht, sollte 
BeagleBone für 77€ nehmen.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Ich denke, dass es gar nicht so viel Arbeit macht, das Wiki frei 
zugänglich zu machen. Du kannst ja auch einstellen, dass es nur mit 
Anmeldung geht, das hält schonmal einige Spammer fern.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Irgendwie bin ich gerade blind und seh' nicht wie $GNUBLINDIR definiert 
werden muss... Es wird zwar fröhlich drauf verwiesen aber niergendwo 
gesagt wo das liegen soll oder was man dafür installieren soll...

von asd (Gast)


Lesenswert?

Hallo Benedikt,

ist es möglich einen Blick auf das Layout zu werfen? In nächster Zeit 
werde ich in der 4ma einen ARM9 mit DDR2 Speicher und anderer schneller 
Logik layouten. Wie kritisch sind Leitungslängen etc. wenn du das auf 
einer simplen Doppelseitigen Platine geschafft hast?

Viele Grüße,

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

So, gerade eben noch ein wenig dran getan...

das senden von Strings hielt ich dann doch für zu umständlich, 
einerseits das Parsen im Modul, andererseits das Erzeugen des Strings im 
Anwenderprogramm.

Jetzt kommt ein 16bit-Hex-Wert rein, in der README.txt die Auflistung 
der Bits für die config.

Beispiele:
echo "0900" > /dev/lpc3131_adc  # setze ADC auf 10bit, CH0, 75 messungen
cat /dev/lpc3131_adc

Das 0x als Prefix muss weggelassen werden, einfach nur die 4 Nibbles 
angeben.
0x0900 = 10bit, 75 messungen, ch0
0x0901 = 10bit, 75 messungen, ch1
0x0902 = 10bit, 75 messungen, ch2
0x0903 = 10bit, 75 messungen, ch3

0x0100 = 10bit, "single shot", ch0
0x0101 = ..., ch1
...


Nur das setzen der Auflösung klappt noch nicht, kommen immer 10bit bei 
raus.

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

Zum I2C Bus,

Wenn man im Kernel, das i2c-dev Interface hat, dann kann man über 
/dev/i2c-0 und /dev/i2c-1 auf die beiden Busse, des Boards zugreifen. 
i2c-0 ist nicht angeschlossen, i2c-1 schon.

Der Bus scheint im Treiber "hardcoded" auf 100khz eingestellt zu sein. 
Ich werde demnächst mal versuchen, das auf 400 zu ändern und wenns geht, 
die Geschwindigkeit irgendwie zur Laufzeit einstellbar machen.

Hier im Anhang das wichtigste der i2c-tools compiliert fürs Board.

Ich habe im Datenblatt nichts zu 5V-Toleranz gelesen, aber es scheint zu 
gehen. Aus lauter Dummheit und nicht nachdenken, habe ich zwei PCF8574 
1:1 an das Board angeschlossen und erst am nächsten Tag bemerkt. Jetzt 
hab ich in SDA und SCL noch je 50Ohm Widerstände drin.

"i2cdetect -y 1" durchsucht den I2C Bus, welcher auf dem 
Erweiterungsstecker liegt.

LM75 mit lm-sensors läuft auch schon. Eine DS1307 RTC hab ich auch shcon 
angeschlossen, nur bekomme ich da kein /dev/rtcN bei heraus. Wenn ich es 
von Hand anlege, sagt mir hwclock und ähnliche "no such device".
Der Chip wird am Bus erkannt, aber der Treiber fürs Linux scheint nicht 
zu machen, was ich will.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

so ich habe das Wiki zum Anmelden mal geöffnet. Schauen wir was 
passiert.

Am besten macht Ihr eure Beschreibungen bei Beispielcode unter 
Codeschnippsel rein oder?

Wir sollten dann wenn adc und pwm stabil läuft dies fest in den Kernel 
mit aufnehmen, so dass es in der Standardkonfiguration dann ist.

Man müsste einen Patch 0002-adc-and-pwm basierend auf dem Standardkernel 
mitmit 0001 etc machen und die passende 0002-config dann auch.

http://code.google.com/p/gnublin/source/browse/#git%2Flpc3131%2Fkernel%2F2.6.33

So dass es dann fester Bestandteil vom zImage ist.


Gruss Bene

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Den Patch für den ADC auf den Kernel kann ich machen, muss aber erstmal 
schauen, wie ich das Modul fest in Kernel gebacken bekomme. Werd ich mal 
unseren Code mit nem kleinen Treiber wie dem LM75 o.ä. vergleichen.

Wird wohl nicht in ein paar Stunden soweit sein, aber kommt bald ;)

Wiki melde ich mich später auch noch an und fang mal an was zu 
schreiben.

Ich hab da eine Idee für den Aufbau des Wikis. Meiner Meinung nach ist 
das mit Abstand sauberste und übersichtlichste Wiki, das von OSDev 
http://wiki.osdev.org/Main_Page

Die Struktur mit den Kategorien könnte man für gnublin ja übernehmen und 
für wirklich jede Kleinigkeit einen eigenen Artikel machen und dann in 
der Übersicht alles "zusammenlinken".
Ist übersichtlicher, wartungsfreundlicher und vorallem findet man viel 
leichter was man sucht, als wenn zig Sachen in einem Artikel 
verschwinden.

von Phil J. (sunflower_seed)


Lesenswert?

Hat schon jemand versucht den Kernel mit dem aktuellen Patch zu backen?
Hab so den verdacht das die "gpio-orig.h" fehlt.
Oder überseh ich was?

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Leute,

da jemand nach gpio-orig.h sucht, wollte ich ein paar Sachen dazu sagen.
Das ist die originale gpio.h, die ich so umbenannt habe. Das habe ich so
gemacht, weil ich auch das gpio/sysfs installiert habe, das ich bei den 
Patches auf lpclinux.com gefunden habe.

Ich verwalte die Kernel Quellen zum Gnublin Board in einem Git 
Repository,
das man hier im Web ansehen kann:

   http://elk.informatik.fh-augsburg.de/cgi-bin/gitweb.cgi?p=gnublin-linux-2.6.33.git;a=summary

Man sollte das Repository so klonen koennen:

  git clone
      git://elk.informatik.fhugsburg.de/srv/git/repositories/gnublin-linux-2.6 
.33.git

Darin findet man den Branch 111218, das ist meine letzte Version mit
gpio/sysfs und allen sonstigen Kleinigkeiten die man bei Gnublin 
braucht.
Vielleicht waere es eine gute Idee, wenn man die Erweiterungen, die hier
im Forum entstehen, als eigene Branches im Git Repo ausprobieren wuerde.

Bereits vorkompiliert findet man den Kernel hier:

   http://elk.informatik.fh-augsburg.de/pub/eplpc3131/downloads/kernel-2.6.33/kernel-111218/

Da ist auch nochmal der Patch drin und die Konfigurationsdatei, die ich
verwendet habe. Dieses Verzeichnis brauche ich fuer gnublin-card.py,
das hier drin ist:

   http://elk.informatik.fh-augsburg.de/pub/eplpc3131/downloads/


Damit kann man sich eine Micro-SD Karte mehr oder weniger automatisch
erstellen lassen (bin aber noch beim Testen). Daneben findet man auch 
noch den fuer Gnublin angepassten Apex Bootloader und das aktuelle Root 
FS. In /usr/local/bin/ sind einige Programme hinzugekommen, die ich 
kompiliert habe oder aus Debian/ARM genommen habe:

  gforth        jimsh  lighttpd  lynx  rttest  stress
  gforth-0.7.0  jove   lua       nano  sq      zile

Mit der Sprache lua kann man Skripte schreiben um die Peripherie
anzusprechen, abgeleitet davon ist sq (Squirrel). Da ich Leute
kenne, die gerne mit Forth mal auf dem Board arbeiten wuerden, habe
ich gforth installiert. Jim ist eine weiter Sprache zum Skripten 
(jimsh),
das ist im wesentlichen Tcl. Fuer Vi-Hasser habe ich jove und zile
vorgesehen, das sind kleine Emacs Klones. Wer auch die nicht mag, sollte
nano nehmen.

Meine bisherigen Experimente mit dem Board habe ich hier 
zusammengeschrieben:

   http://elk.informatik.fh-augsburg.de/pub/eplpc3131/gnublin-ug/

Ein paar Beispielprogramme aus meinem aktuellen Gnublin Homeverzeichnis
sind hier:

   http://elk.informatik.fh-augsburg.de/pub/eplpc3131/work_eplpc3131/home/


Viele Gruesse,

Hubert

von Phil J. (sunflower_seed)


Lesenswert?

Läuft OTG mit dem Patch den auch?
Sobald ich den ID-Pin auf Masse ziehe, schiebt der Kernel panic.
Mit dem alten zImage-33-7 funktioniert alles problemlos.
Habs mir noch nicht angeschaut aber könnte noch ein Bug im GPIO Patch 
sein, der USB_ID / M1 falsch interpretiert?

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Phil J.,

stimmt, ich habe den Fehler auch. Tatsaechlich habe ich USB Host
schon ein Weilchen nicht mehr getestet.  Vielleicht hat es mit einer
Aenderung in gpiolib.c zu tun, die ich gemacht habe, so dass die GPIO
Pins 11 bis 15 in sysfs richtig abgebildet werden. Ich schaue mir das
morgen mal genauer an.

Gruesse,

Hubert

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ich hatte Probleme mit dem gnublin-card.py-Script.

Auf allen meinen Systemen kam eine Fehlermeldung, fdisk betreffend, dass 
die Kommandozeilenoption -S noch einen Parameter erwarte.
Ich hab dann das --gnu-fdisk rausgenommen und das gefährliche 
vordefinierte /dev/sdb auch gleich.

Würde ich bei sdb YES tippen, würden mir gleich zwei Platten im RAID 
fehlen - HILFE ;)

Meine Änderungen im Ordner mit den python-card.py: patch -p0 < 
0001_python-card.py-gnufdisk-sdbdef.patch


Überprüfung auf freien Speicherplatz im Tempverzeichnis halte ich noch 
für sinnvoll und eine Überprüfung auf die Seriennummer der Karte (was 
z.B. fdisk -l ausgibt: "Disk identifier: 0x66205247").
Wenn eine andere identifier-Nummer beim Script ankommt, als das letzte 
mal, soll er noch nachfragen "Really?".


Bei den TODOs im Script steht auch noch was davon, das temp-Verzeichnis 
nach ~ auszulagern, halte ich aber nicht für sinnvoll, wieder ein Ordner 
mehr im sowieso schon vermüllten ~...
Man möchte die geladenen Dateien ja auch mehrmals verwenden können, wenn 
die irgendwo anders liegen, der User weiss womöglich nichtmal genau wo, 
sind die schnell mal gelöscht...

Wegen der Partitionsgröße. BootIt soll immer 16MB haben und der Rest für 
rootfs, oder?

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Nils,

danke fuer die vielen Tipps, auch den mit "fdisk -l". Kurz vor 
Weihnachten hatte ich noch eine neue Version dahin kopiert (Version 6):

   http://elk.informatik.fh-augsburg.de/pub/eplpc3131/downloads/

Die Sache  mit dem fdisk ist mir auch aufgefallen, da mein Skript
wie sich herausgestellt hat nur auf Ubuntu funktionierte. Auf Debian 
lief es nicht, weil da eine andere fdisk Variante installiert ist. In 
der Version 6 teste ich die vorhandene fdisk Variante und gebe dann 
unterschiedliche Optionen.

Ich suche noch nach einer besseren Loesung, um sich nicht die 
eingebauten
Platten kaputt zu machen. Das mit dem eingebauten "/dev/sdX" und "YES"
Abfrage gefaellt mir auch nicht. Ich wollte noch irgendwo im /proc
Filesystem herumsuchen, ob ich nicht mehr Informationen ueber die
eingesteckte SD Karte bekomme. Da sich das Skript aus meiner Sicht 
hauptsaechlich an Anfaenger richten soll, die mit fdisk auf der 
Kommandozeile nichts anfangen koennen, muss es gerade an dieser Stelle
noch besser werden.

Die Groesse fuer die BootIt Partition ist auch noch ein Punkt, der
mir nicht gefaellt. Als schnelle Loesung hatte ich einfach einen
ganzen Zylinder in fdisk spendiert, die Groesse von BootIt ist damit 
auch
von der Kapazitaet der Karte abhaengig. Wer sich besser mit fdisk
auskennt, kann gerne einen Tipp geben.

Viele Gruesse,

Hubert

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

> Ich wollte noch irgendwo im /proc
> Filesystem herumsuchen, ob ich nicht mehr Informationen ueber die
> eingesteckte SD Karte bekomme.

Schau dir z.B. mal unetbootin an, die haben eine Erkennung drin, ob 
Stick/..., und wenn's nur nach der Größe des Devices geht, z.B. alles 
was grösser als 16GB ist, wird erstmal als Festplatte behandelt (kleine 
SSDs mit 32GB... dürften ja auch noch einige unterwegs sein). Dann kommt 
halt eine Abfrage, ob wirklich partitioniert und formatiert werden soll.


>Die Groesse fuer die BootIt Partition ist auch noch ein Punkt, der
>mir nicht gefaellt. Als schnelle Loesung hatte ich einfach einen
>ganzen Zylinder in fdisk spendiert, die Groesse von BootIt ist damit
>auch
>von der Kapazitaet der Karte abhaengig. Wer sich besser mit fdisk
>auskennt, kann gerne einen Tipp geben.
Ein script zu fdisk schreiben ist ja kein allzugrosser Aufwand, wie 
genau sind denn die Vorgaben für die BootIt Partition? Ich habe gerade 
eben ein wenig gesucht, aber nicht viel zu BootIt gefunden, mir 
vollkommen neu.

Achja, was ist mit uboot? Gibts ja auch für lpc313x..



Ich komme seit zwei Tagen nicht mehr weiter, darum hab ich vorhin auch 
die Karte erstmal neu bespielt um Fehler mit dieser auszuschliessen.

Wenn ich den Kernel neu compiliere, hängt mein Board am Ende der Kernel 
Messages bei "Waiting for root device /dev/mmcblk0p1...", der originale 
Kernel läuft. e2fsck habe ich auch schon durchlaufen lassen.
Im Anhang die komplette Ausgabe vom Booten.



Configs habe ich mehrere versucht, meine Eigenen und die offiziellen.
Die Config, die ich zum Laufen kriegen will ist die hier: 
http://elk.informatik.fh-augsburg.de/pub/eplpc3131/downloads/kernel-2.6.33/kernel-111218/
Kernel stammt von "git clone 
git://elk.informatik.fh-augsburg.de/srv/git/repositories/gnublin-linux-2 
.6.33.git".

Hat jemand eine Idee, woran das liegen könnte?

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Noch was, /sys/block/sdX/removable sagt ob das Gerät eben removable ist 
(Karten) oder eine Festplatte. 1 für removable, 0 für not removable.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

den mmc patch hast du eingespielt?

Das sieht eigentlich danach aus, das der falsche PIN als Card Detect 
aktiviert ist.

Gruss Bene

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

gpio_set_value(GPIO_MI2STX_DATA0, 0);
+  lpc313x_gpio_set_value(GPIO_MI2STX_DATA0, 0);
+  //gpio_set_value(GPIO_MI2STX_DATA0, 0);
   /* set cd pins as GPIO pins */
-  gpio_direction_input(GPIO_MI2STX_BCK0);
+  // --hh gpio_direction_input(GPIO_MI2STX_BCK0);
+  lpc313x_gpio_direction_input(GPIO_MNAND_RYBN2);
+  //gpio_direction_input(GPIO_MNAND_RYBN2);

   /* select the opposite level senstivity */

Das sollte alles passen. Ich teste es auch mal heute abend.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Der mmc Patch ist drin, aber da fiel mir ein, dass ich am GPIO Code 
herumgespielt habe und dort scheint wohl ein Fehler drin zu stecken, mit 
einem "frischen" Kernel, ohne meine Basteleien funktionierts.
Andere Basteleien sind ADC, PWM und der RNG, daran wirds wohl kaum 
liegen.

Danke :)

Zum Script,
Ich habe gerade gesehen, der Disk Identifier ändert sich bei jedem 
Formatieren, würde also nichts bringen.
Man könnte noch eine Karte mit einem eindeutigen Identifier versehen, 
z.B. 0x88884444 oder so.
Der Vorteil hierbei wäre eben, wenn sich das script die bisherigen 
bekannten Identifier im Temp Ordner merkt und nochmal nachfrägt, wenn 
ein unbekannter kommen sollte.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Irgendwas scheint gewaltig zu spinnen an dem gnublin-card.py script in 
der aktuellen Version.
Das hinterlässt mir immer eine komplett leere Karte, Disk Identifier 
bleibt aber gleich.

Ich hab meine micro-SD Karten bis heute immer per Handy bespielt und 
deshalb gerade noch einen Card Reader und einen Adapter auf SD geholt. 
Mit allen drei Lesegeräten habe ich das selbe Problem.

Das alte Script funktioniert, aber nur, wenn ich neustarte, auch 
an/abstecken und partprobe funktioniert nicht. fdisk von hand auch nicht 
mehr, dd auch nicht mehr.

Das Problem habe ich auch beiden grossen PCs und auf meinem Laptop, alle 
drei laufen unter Gentoo (amd64), zwei unstable, einer stable.

Habt ihr dieses Problem auch? Werde mal debian in einer VM installieren 
und schauen wie es dort läuft.

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Nils,


mit Gentoo habe ich noch gar keine Erfahrung gemacht, was das
Skript betrifft. Vielleicht koenntest Du mal eingeben:

   fdisk -v

   fdisk -h

und die Ausgaben hier posten. Vielleicht ist das wieder eine andere
fdisk Variante, die ich noch nicht kenne.

---

Wegen des Problems mit der Kernel-Panic bei USB_ID habe ich heute
eine Aenderung gemacht. Bitte mal ausprobieren:

http://elk.informatik.fh-augsburg.de/pub/eplpc3131/downloads/kernel-2.6.33/kernel-120102/

Bei diesem Kernel ist nun auch das (veraltete) USB device filesystem 
aktiviert, so dass man unter /proc/bus/usb/ die Geraete am USB Host
Controller sieht. Damit geht auch das lsusb Kommando und man kann
Geraete ueber die libusb ansteuern (habe das heute mit Benedikt's
Octopus ausprobiert).

Gruesse,

Hubert

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Ich habe vorhin noch das verbose vom tar weggenommen um mal die ganzen 
Konsolen-Ausgaben vom script zu sehen und so wie es aussieht, will er 
eine Partition mounten/unmounten, die es nicht gibt nach dem Erstellen 
der Partitionen.
Ich werd mich da morgen mal auf die Suche nach dem Fehler begeben :)


Hier mal die Ausgaben,
1
itsme@Dope-Doctor ~ $ fdisk -h
2
Usage:
3
 fdisk [options] <disk>    change partition table
4
 fdisk [options] -l <disk> list partition table(s)
5
 fdisk -s <partition>      give partition size(s) in blocks
6
7
Options:
8
 -b <size>             sector size (512, 1024, 2048 or 4096)
9
 -c[=<mode>]           compatible mode: 'dos' or 'nondos' (default)
10
 -h                    print this help text
11
 -u[=<unit>]           display units: 'cylinders' or 'sectors' (default)
12
 -v                    print program version
13
 -C <number>           specify the number of cylinders
14
 -H <number>           specify the number of heads
15
 -S <number>           specify the number of sectors per track
16
17
itsme@Dope-Doctor ~ $ fdisk -v
18
fdisk (util-linux 2.20.1)
Allerdings gibts da ja auch ZIG Versionen, die alle irgendwo noch im 
Einsatz sind, allein bei mir im portage sind momentan:
1
itsme@Dope-Doctor ~ $ eix util-linux
2
[I] sys-apps/util-linux
3
     Available versions:  2.17.2 2.18-r1 (~)2.19 2.19.1 2.19.1-r1 (~)2.20 (~)2.20-r1 (~)2.20.1 **9999
(**9999 sind die Quellen aus dem SVN/GIT/WhatEver zu util-linux)


Als Ersatz für das unsäglich zu benutzende, normale, fdisk sollte man 
vielleicht auch ein script-taugliches fdisk nehmen, z.B. parted.

Die letzten Tage hab ich eigentlich nur rumgedödelt und gebastelt, ich 
will jetzt schleunigst ADC und PWM fest im Kernel einbauen und kann mich 
dann an ein installer-script machen, welches parted nutzt und vielleicht 
nicht unbedingt in Python - 7 Jahre portage schafft zwangsläufig eine 
Pythophobie.
Wobei ich mit Python auch kein Problem habe, jenachdem ob dir das recht 
ist, wenn ich eines mache und ob du bei Python bleiben willst.

Der grosse Vorteil von parted ist, dass es eben genau für scripting 
gemacht wurde und sich die Optionen/Befehle nicht unter nahe beieinander 
liegenden Versionen ändern, wie soll das auch gehen, bei so vielen 
Geschichten, die mittlerweile auf parted aufbauen...

Vorallem würde ich dem Nutzer erstmal nicht so viele Freiheiten gewähren 
- Script für min. 1GB Karte, das letzte MB auf der Karte für BootIt, 
Rest für ext2. Umso größer das Script - umso mehr Fehler schleichen sich 
ein.
Wem sowas nicht reicht, der soll von Hand installieren, auch nicht 
schwer.

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

ADC und PWM patch ist fertig, ist im Anhang. Ebenso ist meine .config 
mit dabei. Einfach ins Kernelverzeichnis kopieren und oldconfig laufen 
lassen.
Ebenso dabei ist der adc-registers-patch, der gebraucht wird.


"Howto":

1. "$ git clone 
git://elk.informatik.fh-augsburg.de/srv/git/repositories/gnublin-linux-2 
.6.33.git"
2. Beide Patches ins gerade geladene Kernelverzeichnis kopieren
3. "$ patch -p1 < adc_registers.patch
4. "$ patch -p1 < 0005_lpc313x_ADC_PWM.patch
5. MMC/SD Patch einspielen: "$ patch -p4 < 01-mmc-card-detect.patch"
6. Konfigurieren/Compilieren

In menuconfig sind die beiden Treiber unter "Device Drivers -> NxP 
lpc313x IO drivers (ADC, PWM, ...)"

Die Treiber können entweder als Modul oder fest eincompiliert werden.

Die von mir hinzugefügten Dateien liegen in "drivers/lpc313x_io/" und 
dessen Unterverzeichnissen adc/ und pwm/. Dort sind auch die READMEs 
,soweit ich schon was geschrieben habe, und TODOs drin.

Bitte anschauen - schlechten Code/Fehler bemeckern und/oder flicken.


@Hubert Hoegel/Benedikt/...:
Es wäre vielleicht auch gut, wenn ihr in die "Standard-Configs" den 
Punkt
"General Setup -> Automatically append version information to the 
version string" aktiviert, da damit dann die Ausgabe von uname so 
aussieht:
"$ uname -sr
Linux 2.6.33-kt-g093e9d2-dirty"

So sieht man gleich am Anfang bei der Fehlersuche welches Release 
derjenige verwendet. Ein einzelnes 2.6.33 kann vieles bedeuten...

von Michael S. (misc)


Lesenswert?

Hallo Nils,

das hast du echt super hingekriegt :)

Einen kleinen Bugfix hätte ich noch. Beim ADC in der Funktion 
device_write solltest du die Zeile

if(copy_from_user(message_from_user, buff, len)) return -EINVAL;

durch

if(copy_from_user(message_from_user, buff, (len < BUF_LEN) ? len : 
BUF_LEN)) return -EINVAL;

ersetzen. So ein Buffer Overflow im Kernel kann recht unschön sein.

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

Overflow dir selber passiert oder vorsorglich Überprüfung reingemacht?

von Michael S. (misc)


Lesenswert?

Nein, mir selbst ist das noch nicht passiert, sollte nur vorsorglich 
sein.
Man kann ja nie wissen was manche User (mutwillig oder absichtlich) an 
das Kernelmodul senden ;)

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Nils,

noch zur Sache mit dem parted als besserem Ersatz fuer fdisk. Ich habe
tatsaechlich am Anfang mit pyparted begonnen (Python-Wrapper um 
libparted)
bin aber an der eigentlich laecherlichen Sache gescheitert, dass ich 
damit
den BootIt Partitionstyp nicht schreiben konnte (das ist 0xdf glaube 
ich).
Nur mit diesem Typ bootet anscheinend der LPC von der SD Karte. Nicht 
mal
cfdisk kennt diesen Typ, nur das ganz primitive fdisk. Dann habe ich 
noch
ein wenig mit sfdisk herumgespielt und bin dann zum Schluss beim fdisk
gelandet.  Die vielen Varianten mit unterschiedlichen Optionen habe ich
aber unterschaetzt.  Mich stoert es ueberhaupt nicht, wenn Du ein 
eigenes
Programm fuer die Aufgabe schreibst, muss ich nicht Python sein. Ich
muss auch nochmal einen Versuch starten.

Die Anleitung 1. bis 6. fuer den ADC/PWM Patch haben genau funktioniert.
Beim Punkt 1. koennte man vielleicht die direkte Quelle hinschreiben:

   git clone git://git.lpclinux.com/linux-2.6.33-lpc313x

Von der habe ich auch die Sachen ohne Aenderung in meinen "master"
branch genommen. Ich wolle gerade mal die ADC/PWM Patches mit meinen
Aenderungen im branch "hhoegl" zusammenfuehren,  da knirscht aber dann
irgendwas beim Kompilieren mit den GPIOs. Wahrscheinlich liegt es daran,
dass ich diese GPIO/Sysfs Sache aktiviert habe.

Gibt es eigentlich irgendwo schon ein huebsches Testprogramm fuer die
neuen ADC- und PWM-Treiber?

Gruesse,

Hubert

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

PWM Treiber Testprogramm gibts von "Michael Schwarz (misc)", weiter oben 
im Thread, es ist ja nahezu 1:1 sein Treiber, den ich übernommen habe 
für PWM, siehe Kommentare im Code.

Der ADC lässt sich ganz einfach per Kommandozeile abfragen:

cat /dev/lpc313x_adc gibt den gewählten channel aus
(habe keine eckige klammer auf der Tastatur hier, daher eine 
geschweifte)
echo "f000" } /dev/lpc313x_adc gibt den Status des Treibers nach dmesg 
aus.
echo "0000" } /dev/lpc313x_adc schaltet auf channel 0, 10bit, kein 
Mittel bilden.
echo "0001" } /dev/lpc313x_adc schaltet auf channel 1, ...

Die Aufdröselung der Bits steht in der README Datei unter 
drivers/lpc313x_io/.

Poste mal bitte, was bei dir klemmt mit den GPIOs + die config, die 
klemmt, dann kann ich auch mal danach schauen.


Zum Install-Tool,
ich habe jetzt doch mit Python was angefangen, bisher funktioniert mal 
Überprüfung auf Größe, removable und ob das device existiert. Ebenso die 
Berechnung der Größe der beiden Partitionen, habe das allerdings 
"schneller" gelöst als ihr: BootIt = 2MB, Ext2 = Rest, scheint mal zu 
funktionieren, wenn ich so per Hand partitioniere.

Ich verwende parted allerdings nicht über die Python-Bindings, dafür 
kann ich zu wenig Python, bisschen Python-Wikibooks rumklicken und 
abtippen - das wars ;). Ich lasse einfach parted mit den entsprechenden 
Kommandozeilenoptionen ausführen.

Das "umlabeln" auf BootIt lässt sich 100%ig mit dd und ein bisschen 
Bitgeschubse machen, kann sich ja nur um ein Magic handeln um den es dem 
lpc3131 geht, da apex.bin ja knallhart direkt auf die Karte geschrieben 
wird, komplett ohne Dateisystem.

von Hubert Hoegl (Gast)


Lesenswert?

Hallo,

ich habe heute mal an meinen Aenderungen herumgebastelt und drei Patches
daraus gemacht. Sie sind unter
http://elk.informatik.fh-augsburg.de/pub/eplpc3131/work_eplpc3131/kernel/2.6.33/.
Damit sollte nun folgendes klappen:

1. Kernel holen von
   git://git.lpclinux.com/linux-2.6.33-lpc313x (Version 
...a66fc573bcd7027)

2. Meine drei Patches anwenden
   patch -p1 < 001-mmc-card-detect.patch
   patch -p1 < 002-gpiolib.patch
   patch -p1 < 003-usb-panic.patch

3. Dann die zwei von Euch anwenden:
   patch -p1 < adc-registers.patch
   patch -p1 < 0006_lpc313x_ADC_PWM.patch

4. Konfiguration config-adcpwm in .config kopieren (ist da wo auch
   die Patches sind).

5. Kompilieren
   make zImage
   make modules
   make modules_install INSTALL_MOD_PATH=<Pfad>

Ich kann es kaum glauben, GPIO ueber sysfs scheint zu klappen (habe
es mit input.sh von
http://elk.informatik.fh-augsburg.de/pub/eplpc3131/work_eplpc3131/home/root/ 
schnell ausprobiert)

der USB Host geht auch:

root@armv5te:~# lsusb
Bus 001 Device 002: ID 07a6:8511 ADMtek, Inc. ADM8511 Pegasus II 
Ethernet
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

und dann kann ich auch die beiden neuen Module laden:

root@armv5te:~# modprobe lpc313x_pwm
[lpc313x pwm] pwm frequency: 1464 Hz
[lpc313x pwm] driver loaded with major 253
[lpc313x pwm] >> $ mknod /dev/lpc313x_pwm c 253 0
root@armv5te:~#

root@armv5te:~# modprobe lpc313x_adc
[lpc313x adc] driver loaded with major 252
[lpc313x adc] >> $ mknod /dev/lpc313x_adc c 252 0

Na das ist ja echt erst mal Spitze, Schade dass Weihnachten schon
vorbei ist! Vielen Dank an die Treiberschreiber!

Gruesse,

Hubert

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Danke für die Blumen, aber es ist noch nicht vorbei ;) :D

Ich bin grad dran, herauszufinden, wie ich ADC und PWM als Device im 
Kernel registriere, dann funktioniert der Spass auch mit devtmpfs 
(welches wirklich sehr praktisch ist) und mit udev, kein lästiges mknod 
mehr.

Ebenfalls hab ich hier auch noch einen ADC Treiber, der auf gut die 
Hälfte runtergeschrumpft wurde, aber der ist noch sehr sehr buggy, 
dauernd Kernel Panics oder er tut nichts, der wird aber kommen.

von Phil J. (sunflower_seed)


Lesenswert?

Hallo, mal was neues von mir....

WiFi funktioniert bei mir auch mit einem alten D-Link Stick:

Für den rt73-Treiber braucht man noch die Firmware (rt73.bin), habs 
nicht geschafft diese via /lib/firmware einzubinden.

Funktioniert aber erstmal auch wenn man in der Kernel menuconfig unter:
Generic Driver Options -> [*] Include in-kernel firmware blobs in kernel 
binary
die rt73.bin einträgt und in $KERNELDIR/firmware/ ablegt.
Und wireless_tools müssen noch cross-compiliert werden. (Lassen sich 
sogar via make install auf dem Board wunderbar installieren)


Der Rest ist dann ein vergleichsweise einfach:
modprobe rt73usb
ifup wlan0
ifconfig wlan0 192.168.x.x up
iwconfig wlan0 mode managed essid "x" key s:xxxxxx
(Das ganze muss ich immer zweimal aufrufen, weiß der Geier warum)
route add default gw 192.168.x.x

Habe probehalber mal lighttpd gestarted....klappt.
Momentan hab ich nur WEP zum laufen bekommen.
wpa_supplicant stresst noch.
Hat da vielleicht jemand schon was probiert?

Was auch noch nicht geht ist SSH. Habe mir die Config von dropbear noch 
nicht angeschaut. Vielleicht hat da jemand einen Tip...

Weiterhin hab ich mal ne Webcam mit gspca probiert, funktioniert auch.
Werde mal morgen versuchen nen Stream ans laufen zu bekommen.
Erstaunlicherweise rattert alles an nem USB-Hub ohne externe 
Stromversorgung (GNUBLIN hängt auch nur am USB). Wundert mich das alles 
noch klappt.

Und nochmal zu den leidigen Patches:
Bei mir schmeißt einer der ADC Patches nen Fehler, wenn ich den Kernel 
bauen will.
Ich geb zu ich war etwas Faul und hab die erstmal rausgeschmissen, aber 
kann das jemand bestätigen?

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Phil J. schrieb:
> Momentan hab ich nur WEP zum laufen bekommen.
> wpa_supplicant stresst noch.
> Hat da vielleicht jemand schon was probiert?
Fehlermeldung? wpa_supplicant ist einfach,  das Beispiel aus der 
wpa_supplicant.conf manpage und wpa_supplicant -D wext -i wlan0 -c 
/pfad/zur/config -dd -B

> Was auch noch nicht geht ist SSH. Habe mir die Config von dropbear noch
> nicht angeschaut. Vielleicht hat da jemand einen Tip...
Fehlermeldung?

> Und nochmal zu den leidigen Patches:
> Bei mir schmeißt einer der ADC Patches nen Fehler, wenn ich den Kernel
> bauen will.
> Ich geb zu ich war etwas Faul und hab die erstmal rausgeschmissen, aber
> kann das jemand bestätigen?
Fehlermeldung?

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Angehängte Dateien:

Lesenswert?

So ich habe mal alles auf die Server/Gits etc. kopiert.

Desweiteren habe ich gnublin-card.py erweitert, dass es prueft ob man 
root ist. Wenn nicht gibts eine Meldung. Sonst haengt das Skript immer 
ewig und man kapiert nicht das nichts passiert weil die Rechte fehlen.

Mit der Datei aus dem Anhang hier sollte man eine neue Karte bauen 
können die ADC, PWM und GPIO können.

Könnte ihr das auch mal testen?

sudo python gnublin-card.py --all --device=/dev/sd<?>

PWM testen:

root@armv5te:~# modprobe lpc313x_pwm
[lpc313x pwm] pwm frequency: 1464 Hz
[lpc313x pwm] driver loaded with major 253
[lpc313x pwm] >> $ mknod /dev/lpc313x_pwm c 253 0
root@armv5te:~#

ADC testen:

root@armv5te:~# modprobe lpc313x_adc
[lpc313x adc] driver loaded with major 252
[lpc313x adc] >> $ mknod /dev/lpc313x_adc c 252 0

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

oh man muss da noch zwei / drei Sachen machen.

1. Das check_root nicht so oft. So das man auch als User etwas 
herunterladen darf.

2. Den Kernel entpacken und ins rootfs kopieren + die Module ebenfalls 
kopieren. Aktuell erhalte ich beim booten eine Fehlermeldung:

cpuidle: using governor ladder
------------[ cut here ]------------
WARNING: at drivers/gpio/gpiolib.c:102 gpio_ensure_requested+0x4c/0xe4()
autorequest GPIO-48
Modules linked in:
[<c0028794>] (unwind_backtrace+0x0/0xd0) from [<c003b6d0>] 
(warn_slowpath_common+0x48/0x60)
[<c003b6d0>] (warn_slowpath_common+0x48/0x60) from [<c003b720>] 
(warn_slowpath_fmt+0x24/0x30)
[<c003b720>] (warn_slowpath_fmt+0x24/0x30) from [<c01063b4>] 
(gpio_ensure_requested+0x4c/0xe4)
[<c01063b4>] (gpio_ensure_requested+0x4c/0xe4) from [<c01065bc>] 
(gpio_direction_input+0x6c/0xfc)
[<c01065bc>] (gpio_direction_input+0x6c/0xfc) from [<c002e8e4>] 
(mci_init+0x20/0x88)
[<c002e8e4>] (mci_init+0x20/0x88) from [<c0179eb0>] 
(lpc313x_mci_probe+0x3ac/0x658)
[<c0179eb0>] (lpc313x_mci_probe+0x3ac/0x658) from [<c0128158>] 
(platform_drv_probe+0x14/0x18)
[<c0128158>] (platform_drv_probe+0x14/0x18) from [<c0127350>] 
(driver_probe_device+0xe4/0x1c4)
[<c0127350>] (driver_probe_device+0xe4/0x1c4) from [<c0127490>] 
(__driver_attach+0x60/0x84)
[<c0127490>] (__driver_attach+0x60/0x84) from [<c0126590>] 
(bus_for_each_dev+0x4c/0x78)
[<c0126590>] (bus_for_each_dev+0x4c/0x78) from [<c0126c60>] 
(bus_add_driver+0xa8/0x234)
[<c0126c60>] (bus_add_driver+0xa8/0x234) from [<c01276b8>] 
(driver_register+0xa8/0x12c)
[<c01276b8>] (driver_register+0xa8/0x12c) from [<c012855c>] 
(platform_driver_probe+0x18/0x68)
[<c012855c>] (platform_driver_probe+0x18/0x68) from [<c0022444>] 
(do_one_initcall+0x60/0x1b0)
[<c0022444>] (do_one_initcall+0x60/0x1b0) from [<c0008984>] 
(kernel_init+0x94/0x10c)
[<c0008984>] (kernel_init+0x94/0x10c) from [<c0023dc4>] 
(kernel_thread_exit+0x0/0x8)
---[ end trace 8411f10a23745b0c ]---
lpc313x_mmc lpc313x_mmc.0: LPC313x MMC controller at irq 26
TCP cubic registered

Kriegt das auch noch jemand?

Bin heute leider unterwegs. Schaue das ich es bis morgen oder so 
hinbekomme.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Mit dem neuen Skript wird der Kernel jetzt auch auf die Karte gepackt.

http://www.gnublin.org/downloads/gnublin-card.py

(gleiche Prozedur wir oben --all)

Aber die Fehlermeldungen erhalte ich immer noch.

------------[ cut here ]------------
WARNING: at drivers/gpio/gpiolib.c:102 gpio_ensure_requested+0x4c/0xe4()
autorequest GPIO-48
Modules linked in:
[<c0028794>] (unwind_backtrace+0x0/0xd0) from [<c003b6d0>] 
(warn_slowpath_common+0x48/0x60)
[<c003b6d0>] (warn_slowpath_common+0x48/0x60) from [<c003b720>] 
(warn_slowpath_fmt+0x24/0x30)
[<c003b720>] (warn_slowpath_fmt+0x24/0x30) from [<c01063b4>] 
(gpio_ensure_requested+0x4c/0xe4)
[<c01063b4>] (gpio_ensure_requested+0x4c/0xe4) from [<c01065bc>] 
(gpio_direction_input+0x6c/0xfc)
[<c01065bc>] (gpio_direction_input+0x6c/0xfc) from [<c002e8e4>] 
(mci_init+0x20/0x88)
[<c002e8e4>] (mci_init+0x20/0x88) from [<c0179eb0>] 
(lpc313x_mci_probe+0x3ac/0x658)
[<c0179eb0>] (lpc313x_mci_probe+0x3ac/0x658) from [<c0128158>] 
(platform_drv_probe+0x14/0x18)
[<c0128158>] (platform_drv_probe+0x14/0x18) from [<c0127350>] 
(driver_probe_device+0xe4/0x1c4)
[<c0127350>] (driver_probe_device+0xe4/0x1c4) from [<c0127490>] 
(__driver_attach+0x60/0x84)
[<c0127490>] (__driver_attach+0x60/0x84) from [<c0126590>] 
(bus_for_each_dev+0x4c/0x78)
[<c0126590>] (bus_for_each_dev+0x4c/0x78) from [<c0126c60>] 
(bus_add_driver+0xa8/0x234)
[<c0126c60>] (bus_add_driver+0xa8/0x234) from [<c01276b8>] 
(driver_register+0xa8/0x12c)
[<c01276b8>] (driver_register+0xa8/0x12c) from [<c012855c>] 
(platform_driver_probe+0x18/0x68)
[<c012855c>] (platform_driver_probe+0x18/0x68) from [<c0022444>] 
(do_one_initcall+0x60/0x1b0)
[<c0022444>] (do_one_initcall+0x60/0x1b0) from [<c0008984>] 
(kernel_init+0x94/0x10c)
[<c0008984>] (kernel_init+0x94/0x10c) from [<c0023dc4>] 
(kernel_thread_exit+0x0/0x8)
---[ end trace 90413bf0670a2896 ]---


habe nur ich die oder ihr auch?

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Ah und das hier kriege ich wohl alle 5 Minuten.

INIT: Id "1" respawning too fast: disabled for 5 minutes

Hat das noch jemand?


Gruss Bene

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Das sieht so aus, als würde init kein Programm zum Login finden. 
Überprüfe mal dein rootfs und die inittab.
Kann dir momentan leider nur ausm Kopf helfen, bin nicht zuhause oder im 
Büro.

von Phil J. (sunflower_seed)


Lesenswert?

Habe die selben Fehler wie Benedikt. Ist also reproduzierbar.
@Benedikt:
Kleine Sache - Aktuell ist deine Homepage nur unter www.gnublin.org 
erreichbar. Lässt man das www. weg gehts nicht, da läuft was ins 
leere...

von Michael S. (misc)



Lesenswert?

Hier ist ein einfacher Installer mit grafischer Oberfläche der recht 
einfach zu bedienen sein sollte.

Zum Partitionieren und Erstellen des Dateisystems wird libparted 
verwendet, sodass man sich nicht um die installierte fdisk Version 
kümmern muss.
Die Größe des Bootsektors kann in den Einstellungen (Installer -> 
Settings) geändert werden.

Wer sich den Installer selbst kompilieren möchte, braucht dazu die 
libparted, libcurl, libwx und libarchive.

Zum Testen habe ich auch ein deb Package erstellt, welches die 
Abhängigkeiten auflöst und das Programm als "gnublin-installer" 
installiert. Zum Ausführen muss man dann nur "kdesu gnublin-installer" 
(KDE) bzw "gksu gnublin-installer" (GNOME) ausführen.

Kritik und Verbesserungsvorschläge sind wie immer willkommen!

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Ich hab endlich eins von den Digikey Displays amlaufen, doof nur, dass 
es kein richtiges Datenblatt dafür zum Download gibt, habs dann aber von 
jemandem bei avrfreaks bekommen. Heute abend kann ich ein paar Bildchen 
posten.

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ich glaub ich bin blind oder finde wirklich nichts...

Ich versuche den SYSCLK_O Pin als 2kHz Taktquelle für ein SED1520 
Display zu missbrauchen.
Anschalten kann ich ihn über die CGU, es kommen ziemlich genau 12MHz 
raus. Ist das einfach nur der Referenztakt nach aussen gebracht oder 
lässt sich dessen Frequenz auch einstellen? Ich konnte da nichts im 
Datenblatt finden...

Achja, wieso hab ich da mehr Sägezahn als sonstwas drauf? Messleitung 
ist nur die vom Oszi, direkt an die Pins der Stiftleiste dran.


Den Takt aktivieren:
cgu_clk_en_dis(CGU_SB_SYSCLK_O_ID, 1);
deaktivieren:
cgu_clk_en_dis(CGU_SB_SYSCLK_O_ID, 0);

von Michael S. (misc)


Lesenswert?

Nils S. schrieb:
> Ist das einfach nur der Referenztakt nach aussen gebracht oder
> lässt sich dessen Frequenz auch einstellen? Ich konnte da nichts im
> Datenblatt finden...

Hast du im Datenblatt unter Clock Generation Unit (CGU) nachgeschaut? 
Dort sind alle Register für die Einstellungen der Frequenzen 
aufgelistet, dort müsste etwas zu finden sein.

> Den Takt aktivieren:
> cgu_clk_en_dis(CGU_SB_SYSCLK_O_ID, 1);
> deaktivieren:
> cgu_clk_en_dis(CGU_SB_SYSCLK_O_ID, 0);

Hast du schon die Funktionen cgu_get_clk_freq und cgu_set_subdomain_freq 
probiert? Sind beide in arch/arm/mach-lpc313x/include/mach/cgu.h. Für 
PWM hat das mit den Funktionen funktioniert (allerdings war 
standardmäßig schon die höchste Frequenz).

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Tool klappt unter Ubuntu 11.04!

Super Arbeit!

Gruss Bene

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Meinst du so? Ich hab jetzt ein wenig mit den Werten für strech, m und n 
herumgespielt, aber da ändert sich nichts.
1
CGU_FDIV_SETUP_T fset;     
2
fset.stretch = 1;
3
fset.n = 1;
4
fset.m = 4;
5
cgu_set_subdomain_freq(CGU_SB_SYSCLK_O_ID, fset);

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

ui man lernt nie aus. Mittlerweile gibt es in Debian / Ubuntu die 
passende Toolchain:

sudo apt-cache search arm | grep gcc

libgcc1-armel-cross - GCC support library
libgcc1-dbg-armel-cross - GCC support library (debug symbols)
gcc-4.4-arm-linux-gnueabi - Der GNU C-Compiler
gcc-4.4-arm-linux-gnueabi-base - GNU Compiler-Collection (Basis-Paket)
gcc-4.5-arm-linux-gnueabi - Der GNU C-Compiler
gcc-4.5-arm-linux-gnueabi-base - GNU Compiler-Collection (Basis-Paket)
gcc-arm-linux-gnueabi - The GNU C compiler for armel architecture


Gruss Bene

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

Shift-Register (74595) lassen sich ganz einfach an das Board hängen.

Clock und MOSI vom Board mit Clock und Daten-Eingang vom Shift Register 
verbinden.

Der RCK ("Enable") Pin kann auf 1 gelegt werden, dann werden die Daten 
direkt beim Shiften übernommen.
Man kann den Pin natürlich auch auf einen GPIO vom Board legen und erst, 
wenn dieser Pin auf 1 geht, werden die Daten übernommen.

Auf dem Board einfach das mitgelieferte SPI-Test-Programm laufen lassen.

//edit:
5V für Shift Register, geht ohne Probleme am 3,3V Bus. Nur bei Eingang 
muss man aufpassen!! Also, was man am MISO anschliesst!


Habe hier gerade eine 250cm*60cm LED-Matrix aus 10mm LEDs, nur leider 
nicht ganz so einfach wie ein einzelnes Shift Register, mehrere 
Segmente, mehrere CS, ...
Muss auch nochmal dran :D

von Michael S. (misc)


Lesenswert?

Ich hab das mit dem Ändern der Frequenz jetzt auch versucht, und es ist 
mir auch nicht gelungen.

Das einzige was funktioniert hat, ist die Frequenz auf 36MHz zu setzen, 
indem man als Base Frequenz die PLL statt den 12MHz verwendet:
1
CGU_HPLL_SETUP_T pll =   
2
{   
3
  CGU_FIN_SELECT_FFAST, //fin_select;   
4
  770,        //ndec;   
5
  1023,       //mdec;   
6
  2,          //pdec;   
7
  0,          //selr;   
8
  16,         //seli;   
9
  7,          //selp;   
10
  0,          //mode;   
11
  36000000    //freq;   
12
}; 
13
  
14
cgu_hpll_config(CGU_HPLL1_ID, &pll);  
15
cgu_set_base_freq(CGU_SB_SYSCLK_O_BASE_ID, CGU_FIN_SELECT_HPPLL1);

Seltsamerweise bringt aber auch eine Änderung der Frequenz im PLL Setup 
keine Änderung.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

So wie ich das verstanden hab, lässt sich dieser Takt nicht 
beeinflussen, nur verschiedene Taktquellen können draufgeschalten 
werden.

Es gibt noch die I2S/Audio PLL, die sich draufschalten lässt, die werd 
ich mir demnächst angucken, jetzt nur keine Lust drauf ;)

Datenblatt, Seite 255, Tabelle 187, FS1 und FS2 Register (FS1_11 und 
FS2_11 für SYSCLK_O).

von Hauke R. (lafkaschar) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hier mal ein Bild vom COG-T177MXHA-02-2 Display von Digikey. Nicht am 
Gnublin, den besitze ich (noch) nicht, sondern an eigener Hardware.
Nach Stundenlangem rumspielen an allen Parametern die es so gibt (und 
das sind VERDAMMT VIELE) hab ich jetzt ein doch relativ 
zufriedenstellendes Bild, vor allem wenn man den Preis des Displays 
bedenkt. Leider ist es echt schwer aussagekräftige Bilder von solchen 
Displays zu machen. Ich musste etwas daneben fokusieren, damit es 
wenigstens halbwegs sinnvoll belichtet wurde. Außerdem hab ich noch 
etwas an den Farben gespielt in Gimp um dem echten Eindruck etwas näher 
zu kommen. Die Farbverläufe sind in Realität noch geschmeidiger als auf 
dem Bild, und das Blau endet nicht in Violett sondern in sehr schönem 
reinem Blau ;)
Der Blickwinkel ist von links nach rechts sehr gut, wird zwar dunkler 
aber die Farben bleiben einigermaßen unverfälscht. Oben unten ist leider 
nicht so gut, das Display invertiert nach oben bei ca 50-60° nach unten 
wirds einfach nur kontrastärmer.

Achja, betrieben ists im 5-6-5 Farbmodus, effektiv bei 5-5-5.

Das billigste Display farbdisplay von Digikey kommt als nächstes dran. 
Mal sehen wie das abschneidet.

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Michael,

habe gerade mal probiert den neuen gnublin-installer zu kompilieren. Auf
meinem Umbuntu 10.04 LTS bekomme ich folgende Fehlermeldung:


hhoegl@aspire1:~/gnublin-installer-1.0-beta-src$ make
g++ -Wall -g `wx-config --cflags` -DVERSION='"1.0-beta"' -c 
installer.cpp
In file included from /usr/include/wx-2.8/wx/window.h:23,
                 from /usr/include/wx-2.8/wx/sizer.h:17,
                 from settings.h:14,
                 from installer.cpp:31:
/usr/include/wx-2.8/wx/cursor.h: In constructor 
‘wxBusyCursorSuspender::wxBusyCursorSuspender()’:
/usr/include/wx-2.8/wx/cursor.h:65: error: ‘wxIsBusy’ was not declared 
in this scope
...

Das Kommando "wx-config --cflags" gibt bei mir aus:

hhoegl@aspire1:~/gnublin-installer-1.0-beta-src$ wx-config --cflags
-I/usr/lib/wx/include/base-unicode-release-2.8 -I/usr/include/wx-2.8 
-D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DwxUSE_GUI=0 -pthread

Das gleiche mit --libs sieht so aus:

hhoegl@aspire1:~/gnublin-installer-1.0-beta-src$ wx-config --libs
-pthread -Wl,-Bsymbolic-functions  -lwx_baseu_xml-2.8 -lwx_baseu_net-2.8 
-lwx_baseu-2.8

Gruesse,

Hubert

von Michael S. (misc)


Lesenswert?

Hubert Hoegl schrieb:
> Das Kommando "wx-config --cflags" gibt bei mir aus:
>
> hhoegl@aspire1:~/gnublin-installer-1.0-beta-src$ wx-config --cflags
> -I/usr/lib/wx/include/base-unicode-release-2.8 -I/usr/include/wx-2.8
> -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DwxUSE_GUI=0 -pthread

So wie es aussieht ist dein wxWidgets ohne Unterstützung für eine GUI 
kompiliert (wxUSE_GUI=0).
Wenn du libwxgtk2.8-dev installierst sollte es funktionieren.

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Michael,

> Wenn du libwxgtk2.8-dev installierst sollte es funktionieren.

danke, das hat funktioniert. Jetzt habe ich nur noch ein kleines
Problem mit der Groesse der Anwendung auf meinem Bildschirm. Ich sehe
nicht die vermutlich weiter unten liegenden Knoepfe, weil meine 
Aufloesung
1024 x 600 ist (ein Webbook). Ich schaffe es auch nicht, das Fenster
ueber den oberen Rand zu schieben. Was kann man da machen?

Gruesse,

Hubert

von Michael S. (misc)


Lesenswert?

Hubert Hoegl schrieb:
> danke, das hat funktioniert. Jetzt habe ich nur noch ein kleines
> Problem mit der Groesse der Anwendung auf meinem Bildschirm. Ich sehe
> nicht die vermutlich weiter unten liegenden Knoepfe, weil meine
> Aufloesung
> 1024 x 600 ist (ein Webbook). Ich schaffe es auch nicht, das Fenster
> ueber den oberen Rand zu schieben. Was kann man da machen?

Hm, das ist natürlich ein Problem.
Ich werde mich ein bisschen mit dem Layout spielen und versuchen es so 
zu ändern dass es mit 1024x600 auch funktioniert.

von Michael S. (misc)



Lesenswert?

So, ich habe das Layout nun etwas geändert, das Fenster ist nur mehr 
640x520 und sollte damit auch auf 1024x600 funktionieren.

von Netzwerk_Stefan (Gast)


Lesenswert?

Hallo Liebe Gnublin-Gemeinde.
Hier mal eine Frage zum i.MX287-Gnublin...

Wie ist der aktuelle Stand?
Bis wann wird dieser im Shop erhältlich sein?

Vielen Dank!

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Netzwerk_Stefan,

an dem Gnublin mit i.MX287 hat sich erst mal nichts mehr getan.
Die letzte Aenderung ist vom 25. Juni 2011, siehe
http://elk.informatik.fh-augsburg.de/gnublin-cdrom/eda/index.html.
Letzendlich war der hohe Preis fuer die 8-lagige Platine
ausschlaggebend, dass es erst mal nicht gebaut wurde, obwohl mir der
Platinenentwurf sehr gut gefallen hat. Ich glaube auch immer noch daran,
dass man es so bauen koennte. Es war auf alle Faelle sehr lehrreich zu
sehen, dass man die vielen Leitungen vom BGA Gehaeuse auch erst mal
wegbringen muss. Industrielle Boards mit aehnlichen Bauteilen haben alle
in der Gegend von 8 Lagen, wie sich spaeter herausstellte.

Mit dem Gnublin-LPC3131 hat Benedikt im Sommer dann den radikalen
Gegenentwurf gemacht, der mit nur zwei Lagen auskommt und bei dem alle
Signale wegfallen, die sich nicht routen lassen. Dadurch ist die Platine
so schoen preisguenstig, dass man getrost ein paar "verheizen" kann bei
BGA Loetversuchen.  Trotz des minimalistischen Ansatzes ist das Board
auch fuer "richtige" Aufgaben zu gebrauchen. Manche haben schon
bemaengelt, dass keine Netzwerk-Buchse auf dem Board sei. Das war ganz
am Anfang so geplant, weil ich unter anderdem einen zerlegten SunSpot
(http://www.sunspotworld.com) auf dem Tisch liegen hatte, und mir
ueberlegte, wie man so eine Idee mit Embedded Linxu umsetzen koennte.
Bei den typischen Anwendungen des SunSpot stoert die Netzwerk-Buchse
eher.  Durch die einfache Erweiterbarkeit mit Netzwerk ueber USB OTG
ist das sogar noch wesentlich besser als mit fest eingebautem Netzwerk.

Da das Loeten der BGA Bauteile nun ziemlich gut unter Kontrolle ist
(siehe Artikel von Benedikt im EP Journal), koennte ich mir gut 
vorstellen, dass es nun nicht mehr so ein grosses Wagnis ist, ein paar 
8-lagige Platinen in den Ofen zu schieben. Vielleicht gibt es auch mal 
ein
Redesign mit ein paar Signalen/Lagen weniger, oder mit einem anderen
Controller, das wird sich zeigen.

Viele Gruesse,

Hubert

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

@Michael

Man könnte eventuell noch einen Punkt in das Tool bauen. Aktuelle 
SD-Karte archivieren. So dass man sich einfach einen Zwischenstand oder 
einfach eine Sicherung machen kann.


Gruss Benedikt

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

ich habe heute mal die Image angepasst. Wenn man sich mit dem grafischen 
oder konsolenbasiertem Tool eine SD-Karte erstellt sollte alles wichtige 
ohne Fehler gehen.

Das Konsolentool hängt bei mir irgendwie beim "delete partitions". Hat 
das Problem auch jemand oder ist das nur bei mir? Ist gerade an zwei 
Rechner.

Beides sind Ubuntu Rechner.


Gruss Bene

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Änderungen im wesentlichen:

* OpenSSH statt Dropbear (jetzt kann man per sshfs mounten)

http://www.gnublin.org/index.php?title=AppNote-AP0012

* Fehler beim Booten auskommentiert

* Aktuellen Module in das Dateisystem kopiert


Ich habe das Wiki etwas strukturiert. Idee ist es immer zu einzelnen 
Themen Application-Notes zu schreiben. Ihr könnt jederzet eine Nummer 
bei mir euch geben lassen:

http://www.gnublin.org/index.php?title=ApplicationNotes

Den Artikel kann man dan immer dort wo es passt in die Gesamtstruktur 
mit einhängen. Wenn es mal zuviele Application-Notes werden, kann man 
noch eine bessere Suche installieren.

Gruss Benedikt

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Wenn du mir eine AP-Nummer für den ADC, eine für PWM gibst, schreib ich 
dazu.
Eine für Kernel-Treiber kann ich auch noch schreiben, Module/In-Kernel 
und Menuconfig-Einbindung.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Nils,

nehme gleich die 13, 14 und 15.

Gruss Bene

von Netzwerk_Stefan (Gast)


Lesenswert?

Hallo Hubert,

vielen Dank für Deine ausführliche Antwort.
Schade dass das mit dem i.Mx287 nicht geklappt hat. Wäre sehr daran 
interessiert gewesen.
Werde mir jetzt vielleicht den LPC-Gnublin kaufen.

Hoffe aber immernoch, dass es vielleicht doch noch irgendwann  in 
Richtung i.Mx weitergeht.
Vielen Dank soweit.

von Michael S. (misc)


Lesenswert?

@Benedikt

Gute Idee, das werde ich einbauen sobald die Prüfungszeit auf der Uni 
vorbei ist und ich wieder Zeit habe damit herumzuspielen. Das wird 
wahrscheinlich gegen Mitte Februar sein.

von Phil J. (sunflower_seed)


Lesenswert?

Ich wollte gerade mal eben schnell einen Kernel backen....
So wie hier (http://www.gnublin.org/index.php?title=AppNote-AP0008) 
beschrieben.
Aber das hier kommt zurück:
1
....
2
3
CC [M]  drivers/lpc313x_io/adc/lpc313x_adc.o
4
drivers/lpc313x_io/adc/lpc313x_adc.c:362:1: error: redefinition of 'init_module'
5
drivers/lpc313x_io/adc/lpc313x_adc.c:195:5: note: previous definition of 'init_module' was here
6
drivers/lpc313x_io/adc/lpc313x_adc.c:363:1: error: redefinition of 'cleanup_module'
7
drivers/lpc313x_io/adc/lpc313x_adc.c:226:6: note: previous definition of 'cleanup_module' was here
8
make[2]: *** [drivers/lpc313x_io/adc/lpc313x_adc.o] Fehler 1
9
make[1]: *** [drivers/lpc313x_io] Fehler 2
10
make: *** [drivers] Fehler 2
11
lenny:/home/user/gnublin/linux-2.6.33-lpc313x# nano drivers/lpc313x_io/adc/lpc313x_adc.c

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Das Problem hatte ich gestern auch, weiss auch nicht warum aufeinmal...

Mach die Datei "drivers/lpc313x_io/adc/lpc313x_adc.c" auf und 
entferne/kommentiere aus die "module_init(...)" und 
"module_exit(...)"-Zeilen.

Dann noch die init-funktionen:

aus "int init_module(void)"
machst du "int __init init_module(void)"

und aus "void cleanup_module(void)"
machst du "void __exit cleanup_module(void)".

Wie der Fehler aufeinmal zustande kommt, weiss ich noch nicht.

von Flex (Gast)


Lesenswert?

Hallo,
ich habe heute mein GNUBLIN Board bekommen. Sobald ich es mit Strom 
versorge, gibt es hochfrequente Töne von sich. Woran liegt das? Am Quarz 
oder an den Reglern?

Gruß

von Benedikt Sauter (Gast)


Lesenswert?

Hallo Flex,

Das habe ich ab und zu auch schon festgestellt.

Ich mach morgen mal ein paar Messungen. Wenn es zu laut ist schicke es 
bitte ein,
dann tauschen wir es aus.

Gruss Benedikt

von Flex (Gast)


Lesenswert?

Hallo Benedikt,
das ist ja leider schon mein zweites.
Ich werde dich mal per E-Mail kontaktieren.

Gruß
Flex

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Also ich hör dort nichts pfeifen. Besuch, der gerade bei mir ist, meint 
man hört es leicht, aber ganz leise.

Ist doch auch nicht die erste Schaltregler-Pfeiff-Anfrage hier, oder?

von Phil J. (sunflower_seed)



Lesenswert?

Hallo zusammen,
es gibt neues ;-)

Im Anhang is ein Programm mit dem man die LED auf dem Board via LAN ein- 
und ausschalten kann...

-C Programm auf dem Board starten.
-Java Programm auf dem PC starten.
-Die IP Adresse vom Board eingeben.
-LED schalten / Programm mit exit beenden.

Zur Software:
Vorweg - Es wird dort kein Wert auf Sicherheit gelegt
Spaßeshalber kann man das ganze auch via PortForwarding ins Internet 
bringen.

Das C-Programm stellt einen Socket Server auf Port 5000 zur Verfügung.
Der Zugriff auf die LEDs erfolgt einfach über system() calls.
Eine GPIO Bibliothek für C wäre noch interessanter, vor allem wenn man 
Wert auf Geschwindigkeit legt (Ist bei nem Socket eh peng).
Das Programm hängt in einer Schleife und öffnet den Socket und wartet 
auf nen Kommando.
Genau aus dem Grund kann aber
1
"echo 3 > /sys/class/gpio/unexport"
 nicht ausgeführt werden.
Ist soweit nicht schlimm, aber wenn man die LED nicht permanent am 
leuchten haben will, sollte man sie vorher abschalten, das JAVA Programm 
erinnert aber auch dran.

Das Java Programm erklärt sich eigentlich von selbst...
Vielleicht wäre es auch cool ne mobile Anwendung  zu basteln, vielleicht 
hab ich darauf ja nochmal lust...

Generelles:

@Nils:
Danke, funktioniert soweit.


Das "Problem" mit dem pfeifen habe ich auch.
Es kommt drauf an, viele ältere Menschen oder Lärmzerstörte hören das 
ganze wahrscheinlich nicht mehr.
Es fiepst tatsächlich. Mann hört auch wenn das Board startet und der 
Stromverbrauch hoch geht.
Aber ich sehe das als "normal" für Schaltregler an, jedes Schaltnetzteil 
ist lauter.

Was micht noch stört ist das momentan bei mir noch
1
INIT: Id "1" respawning too fast: disabled for 5 minutes
ständig rumfliegt.

Und Klumpatsch beim booten ist auch noch da...

WPA2-AES klappt immer noch nicht. Aber ich glaub das hat mehr damit zu 
tun, das mein Uralt Stick das nicht kann.
Sollte aber möglich sein.
Aber irgendwie fehlt mir auch die Zeit um alles durchzuprobieren. 
Leider.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Phil,


willst du auch einen Artikel für die embedded World Ausgabe schreiben? 
Dieser müsste nur bis ca. naja ein paar Tage vor dem 10.2 bei uns sein?

Wir machen aus dem nächsten Journal eine GNUBLIN Spezial, mit dem wir 
auch auf der embedded world sein werden.

Es gibt keine Vorgaben. Du kannst schreiben soviel wie du willst. Ideal 
als OpenOffice und die Bilder als extra Archiv per Mail an mich.

Beste Grüße
Benedikt

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Phil,

INIT: Id "1" respawning too fast: disabled for 5 minutes

in der etc inittab kannnst du die Zeile rausnehmen:

1:2345:respawn:/sbin/getty 38400 tty1

Dann gehts. Oder du baust dir eine neues Dateisystem bzw. eine neue 
Karte dort ist auch der AD und PWM Treiber integriert.


Gruss Bene

von Thomas S. (atmeltom)


Lesenswert?

hallo zusammen bin neu hier und Anfänger

Ich möchte gerne am Gnublin Temperatur(bis 150 Grad)

Drehzahl als optischer Sensor

Tankinhalt als Analogwert wird von einem 12 Volt System geliefert.

Loggen der Daten und Ausgabe als App auf handy


Wie beschaltet man Temperatur? Drehzahl usw...

Webserver auf Gnublin? aber wie

Wie kann man die Daten grafisch darstellen z.b. als drehzahlmesser 
usw...?

von Christoph (Gast)


Lesenswert?

Thomas Serwaty schrieb:
> hallo zusammen bin neu hier und Anfänger
>
> Ich möchte gerne am Gnublin Temperatur(bis 150 Grad)

Temperatursensoren gibts viele. Da musst du hald schauen welcher bis 150 
Grad geht, und dann dranhaengen. Digitale gehen ueber i2c/1wire/... - 
wenns n analoger sein soll dann hald ne entsprechende beschaltung und 
mit m adc aufnehmen.

> Drehzahl als optischer Sensor

Koennte schwieriger werden. Evtl. gehts ueber n Interrupt, aber wie 
genau das dann wird weiss ich nicht - Ich wuerde das evtl. auf einen 
kleinen AVR (Tiny 13 o.ae.) auslagern, der das mit nem Timer genau macht 
und dann die Drehzahl ueber i2c ans gnublin sendet.

> Tankinhalt als Analogwert wird von einem 12 Volt System geliefert.

Im einfachsten Fall nen Spannungsteiler der die 12V auf 3,3V bringt, 
dann ist das ueber ADC einlesbar. Im nicht einfachsten Fall mit nem OP.

> Loggen der Daten und Ausgabe als App auf handy

Evtl. ueber ne Webseite, dann reicht dir als App n browser und du musst 
da nix neu machen.

Lighttpd gibts schon auf m gnublin - der kann alles was du brauchst 
(cgi, etc.)

Als Anfaenger heisst das auf jeden fall viel Arbeit und viel neues, aber 
du wirst dafuer einiges lernen!

schau einfach mal auf www.gnublin.org, da wird das meiste schon ziemlich 
gut beschrieben!

Gruss Christoph

von Flex (Gast)


Lesenswert?

Hallo,
da bin ich ja froh, dass das Pfeifen nicht nur bei mir ist. Ich denke 
ich werde das Board behalten, da es in ein Gehäuse kommt.
Wie sieht es mit der EMV aus? Die Spulen erzeugen ja ein 
elektromagnetisches Feld, wie stark ist das?

Gruß
Flex

von Flex (Gast)


Lesenswert?

Hi,
ich wollte gerade das Board an mein USB Anschluss am PC anschließen und 
dann einige Sachen über das Terminal konfiguieren, dann kommt aber diese 
Fehlermeldung: .EXT2-fs (mmcblk0p1): error: ext2_lookup: deleted inode 
referenced: 311052

Was ist das?

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Dateisystemfehler,

ein "e2fsck -p -v /dev/sdXY" (X = deine Karte, Y=die Linux Partition) 
auf einem PC mit Cardreader flickt das.

von Flex (Gast)


Lesenswert?

Danke für den Tipp, jetzt geht es wieder.
Mir ist aufgefallen, dass wenn ich die rote LED anschalte, das pfeifen 
so gut wie weg geht, des halb möchte ich ein Programm schreiben, dass 
die rote LED anschaltet, sobald das Board erfolgreich gebootet hat. Kann 
mir hier jemand weiterhelfen, wo der Code stehen soll?

Gruß

von Christoph (Gast)


Lesenswert?

Hallo,

schau mal nach /etc/init.d/. Die Skripte werden beim Booten ausgefuehrt. 
Hier muesstest du ein Skript zur LED Ansteuerung speichern bzw. einen 
link darauf dort erzeugen.

Gruss Christoph

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

/etc/init.d/rcS wäre möglich

/bin/echo ....

Gruss Bene

von Flex (Gast)


Lesenswert?

Hallo,
danke Benedikt.
Jetzt habe ich aber schon wieder das Problem mit dem Dateisystem. Warum 
kommt das ständig? Muss ich das Board erst über das Terminal 
herrunterfahren oder kann ich es einfach aus dem USB Port ziehen?

Gruß Flex

von Thomas S. (atmeltom)


Lesenswert?

Hallo zusammen
habe heute endlich den gnublin bekommen^^
Soweit gefällt mir der Kleine^^
Könnte mir jemand erklären wie ich den Wlan aus eurem Shop zum laufen 
bekomme?
Ebenso wie steuert man die AD Eingänge an möchte Temperatur messen mit 
NTC?
Und vllt eine kurze Erklärung wie man als Anfänger den Webserver startet 
usw..
Gruss Tom

von Thomas S. (atmeltom)


Lesenswert?

EXT2-fs (mmcblkk0p1):error ext2 lookup: deleted inode referenced:311052
Was bedeutet das?
Komme nicht mehr rein Help Pls?

von Flex (Gast)


Lesenswert?

Das habe ich auch immer gehabt, wenn ich einfach das Board vom USB Port 
gezogen habe. Mache mal ein neues RootFS auf deine SD Karte und wenn du 
dann das Board ausschalten möchtest gib im Terminal folgendes ein: 
shutdown now

mfg

PS: Ich habe die Datei blink.sh in das Verzeichnis /etc/init.d/ kopiert 
mit dem Befehl cp, aber beim Starten passiert nichts.

von Christoph S. (mixer) Benutzerseite


Lesenswert?

Hallo,

ext2 unterstuetzt noch kein journaling, darum wird anscheinend das 
rootFS inkonsestent, wenn man einfach aussteckt.

Ist dein blink.sh auch ausfuehrbar? Kannst du es mit 
./etc/init.d/blink.sh ausfuehren?

Gruss Christoph

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Flex schrieb:
> PS: Ich habe die Datei blink.sh in das Verzeichnis /etc/init.d/ kopiert
> mit dem Befehl cp, aber beim Starten passiert nichts.

DU mußt noch einen Link anlegen für das betreffende Runnlevel:
http://openbook.galileocomputing.de/unix_guru/node103.html

von Thomas S. (atmeltom)


Lesenswert?

So endlich ahb die Root FS neu gemacht und sieh da er lebt wieder^^
Aber hätte nicht gedacht das er so empfindlich reagiert auf USB 
rausziehn
Aber learning by Doing

Danke Jungs

von Flex (Gast)


Lesenswert?

Hi,
das mit dem Link erstellen verstehe ich noch nicht ganz. Erst benötige 
ich mal ein gutes Terminalprogramm für Windows, wie Picocom für Linux. 
Kennt ihr da ein Programm?

mfg

von Phil J. (sunflower_seed)


Lesenswert?

@Flex:
Lesen hilft: http://www.gnublin.org/index.php?title=AppNote-AP0023
Oder Putty....

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Das hat nichts mit USB abziehen zu tun, wenn du einen PC einfach so 
ausschaltest, dann hast du das selbe Problem.

Man muss einen Computer herunterfahren
> $ shutdown -h now

Das mit den Runlevels/Autostart steht doch glaube ich im Wiki, oder?

Wie man den ADC benutzt steht hier im Thema, wo auch die Patches (Code) 
ist.

von Thomas S. (atmeltom)


Lesenswert?

Hallo zusammen
bastel grade an der externen Versorgung vom Gnublin mit einem 3,7 V 
400mah Lipo was soweit funzt^^

Frage:
Ich möchte die Spannung vom Lipo überwachen um sicher zu gehen das ich 
ihn nicht unter 3,3 Volt betriebe.

Wie beschalte ich das ganze? Reicht ein Vorwiderstand für den AD? Wenn 
ja wie berechne ich das?

Gruss Tom

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Angehängte Dateien:

Lesenswert?

WLAN mit Asus WL167gv3:

In dem Adapter steckt ein RTL8712 Chip.

http://gnublin.googlecode.com/files/zImage-asus167gv3-adc-pwm-gpio

Ich habe soeben mal den Treiber für den WLAN Stick getestet. Zusätzlich 
braucht man noch im Dateisystem im Ordner /lib die Datei libiw.so.29 
(siehe Anhang).

Und wenn man wpa verwenden will braucht man noch zusätzlich die 
wpasupplicant. Parallel lade ich gerade ein neues rootfs rauf, dort ist 
dann alles integriert.

http://www.gnublin.org/index.php?title=AppNote-AP0021

Gruss Benedikt

von Thomas S. (atmeltom)


Lesenswert?

Hallo habe jetzt den jumper für OTG Host gesetzt aber leider tut sich 
nichts?
Also er erkennt den Wlan Stick nicht
Habe ihn als Host gejumpert.
Hab ich was vergessen?

von Tobi (Gast)


Lesenswert?

Tobi,

was sagt "lsusb" ?

von Thomas S. (atmeltom)


Lesenswert?

kommt nichts auf Befehl lsusb  ;(

von Thomas S. (atmeltom)


Angehängte Dateien:

Lesenswert?

Hier mal ein Bild

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Thomas Serwaty schrieb:
> Ich möchte die Spannung vom Lipo überwachen um sicher zu gehen das ich
> ihn nicht unter 3,3 Volt betriebe.
>
> Wie beschalte ich das ganze? Reicht ein Vorwiderstand für den AD? Wenn
> ja wie berechne ich das?

Spannungsteiler 1:1 (10k:10k z.B.) und nen 15k Widerstand vor den 
ADC-Eingang.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Tom,

du musst den zweiten Pin nehmen. Das Foto ändere ich gleich mal.

War mein Fehler!


Gruss Bene

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Angehängte Dateien:

Lesenswert?

so Gruss Bene

von Thomas S. (atmeltom)


Lesenswert?

Durch das Zweite umlöten ist wohl en kurzschluss entstanden :(
Schade!!!

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Wenn du wirklich nur dort gelötet hast, wo gezeigt, dürfte nicht viel 
passieren. Hast du alle Lötbrücken wieder weggemacht, gereinigt und 
ausprobiert?

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

So schnell kann man da eigentlich nichts kaputt machen. Kannst du mit 
Lötlitze nochmal alles entfernen? Bzw. habe ich hier bei einem Board 
einen gezielten Kurzschluss zwischen dem ganz Linken und eins neben dran 
gemacht. Er ist jetzt immer Host.

von Thomas S. (atmeltom)


Lesenswert?

Hmm okay dann probier ich mal das gleiche zu machen mit dem immer Host^^

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Um zu sehen, ob das Board überhaupt noch was tut, kannst du auch mal die 
verschiedenen Boot-Modi durchprobieren und immer Reset drücken, sodass 
du im Terminal sieht, ob überhaupt noch eine Ausgabe kommt.

Ich hab erst auch gedacht, dass das Board hinüber wäre, aber 
letztendlich war die Speicherkarte nicht 100%ig drin gesteckt und er hat 
apex nicht laden können.
Rausgefunden hab ich das als ich den Test-Mode eingestellt hab und doch 
eine Antwort kam.

von Thomas S. (atmeltom)


Lesenswert?

Es lebt wieder und erkennt den Wlan stick^^

von Phil J. (sunflower_seed)


Lesenswert?

Hallo zusammen,

habe mich mal an die externe Spannungsversorgung gewagt.
Habe dazu nen altes Netzteil mit 5 Volt genommen. Leerlaufspannung liegt 
höher bei ca. 5,8 Volt.
Betreibt man das Board so werden die Regler schon heißt. Zumindest so 
das es an den Pfoten weh tut.
Wie sehen die max. / min. Input Ratings von den  Spannungsreglern aus? 
Sind etwas mehr als 5 Volt schon kritisch? (BTW: Im Schaltplan ist ein 
Label vom Spannugsregler falsch ;-) )
Oder kann es sein das da etwas schwingt was nicht schwingen soll?
Das würde auch das Fiepen erklären.
Gibts nen Link zum Datenblatt? - Meistens muss man beim Layout ganz 
schön aufpassen mit den Dingern...
Wie sauber ist das Ausgangssingnal?


Am DS1307 habe ich mich auch versucht.
Es kommt leider gar nichts an.
Ich frage mich warum sich gar nix tut.
So verkorkst kann der Treiber nicht sein...(ohne einen Blick hinein 
geworfen zu haben)


Ich habe jetzt auch mal wireless_tools aus den Debian Paketen geklaut. 
Das funktioniert soweit.
Allerdings wären jetzt Hostnamen auch praktisch, wenn man schon im 
Internet rumdackelt.


Interessant fände ich auch den CAN-Bus.
Da wäre vielleicht der MCP2515 von Microchip Interessant.
Dieser lässt sich via SPI ansteuern.
Das hatte ja Nils so wie ich gesehen hab mit einigen Registern schon 
gemacht.
Für GCC gibts für den Chip schon eine sehr gute Lib, die sich wohl gut 
portieren lässt.
Wobei ein eigener Treiber dafür über wär.


Zum Thema Windows, da es schon einige Nachfragen gab (was man vielleicht 
auch als APPNote eintragen sollte):

Wer eine komplette Linux Plattform möchte lädt sich am besten VmWare und 
ein passendes image (z.B.: 
http://www.opensource-company.de/content/downloads/vm-debian-squeeze.php 
) und kann da alles machen was er will.
Zugriff auf USB-Sticks und so weiter ist auch möglich.

Ich hab Benedikt schonmal geschrieben, aber ich weiß nicht obs unter 
gegangen ist, das man den RNDIS Netzwerktreiber unter Windows auch für 
das Board nutzen kann.
Allerdings krieg ich den nicht zum rennen.
Aber mittlerweile scheints in diversen Foren schon Lösungen zu geben.

Wer Programme kompilieren möchte kann das mit dem ELDK für Windows 
machen.

Wers ganz kompliziert mag kann sich bestimmt auch mit quemu/cygwin 
irgendwas zusammenbasteln...

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Schaltregler/Netzteile geben nahezu immer Geräusche ab, manchmal hörbar, 
manchmal nicht.

Ein kleines Steckernetzteil mit Trafo, Gleichrichter, 2200µ, 7805, 100n, 
100µ tuts bei mir wunderbar für die Versorgung des Boards, die Regler 
auf dem Board werden nicht heiss.
Daher denke ich, weiss aber nicht genau, dass 5,8V definitiv zuviel 
sind, wenns heiss wird.


Der Linuxtreiber vom DS1307 funktioniert tadellos, ich empfehle dir 
daher für die Fehlersuche, den DS1307 von Hand in C anzusprechen.

http://www.mikrocontroller.net/articles/Ports_benutzen_%28GCC%29#Der_I2C_Bus_.26_SMBus

Hier siehst du wie unter Linux über den Treiber, der die /dev-Node 
bereitstellt, I²C Bausteine ansprechen kannst.

Phil J. schrieb:
> Allerdings wären jetzt Hostnamen auch praktisch, wenn man schon im
> Internet rumdackelt.

Namensauflösung sollte tun, sobald du per DHCP deine Config holst.

Von Hand in etwa so:
Router = 192.168.0.1 255.255.255.0
wpa_supplicant -D ... -c ... --background ...
ifconfig wlan0 192.168.0.2/24 up
route add default gw 192.168.0.1
"nameserver 192.168.0.1" in /etc/resolv.conf eintragen.

qemu wird auf nichts anderes als vmware rauslaufen, eine virtuelle 
Maschine, kompiliziert ist cygwin auch nicht unbedingt.
Aber brauchbar ist für Linux-Entwicklung einfach ein Linux-System.

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.