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
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.
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
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.
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 :)
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?
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 ;)
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
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.
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.
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.
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 ;)
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
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.
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 ;)
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
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.
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.
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?
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
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. ;-)
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.
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
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.
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!
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
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
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 ;)
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
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.
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
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?
@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
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.
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?
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
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?
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
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
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
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
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 ;)
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 ;)
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".
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.
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.
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?
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
@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"
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.
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.
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.
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.
In der Header Datei hat sich beim Kommentieren noch ein Fehler
eingeschlichen, fehlende Escape-Sequenzen. Dadurch wird es nicht
compilieren, hier berichtigt.
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 ;)
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
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.
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.
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...
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.
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
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.
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...
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,
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.
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.
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
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.
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
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?
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
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?
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
> 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?
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.
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.
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.
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
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,
(**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.
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...
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.
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 ;)
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
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.
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
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.
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?
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?
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
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.
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?
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.
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...
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!
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.
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);
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).
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
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
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:
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).
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.
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
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.
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
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.
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!
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
@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
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
Ä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
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.
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.
@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.
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.
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ß
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
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?
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"respawningtoofast:disabledfor5minutes
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.
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
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
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...?
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
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
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?
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ß
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
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
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
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.
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
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
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
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.
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
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
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?
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.
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.
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.
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...
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.