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
Wäre sicher auch ein lohnendes Projekt für ein NetBSD. ;-)
moin moin freut mich das es endlich soweit ist. habe im epj schon die artikelserie mit interesse gelesen.... grüße
Gast
#2406516
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.
Hallo Nils, wenn du Zeit und Lust hast müsstest du mir deine Adresse zukommen lassen. Gruss Bene
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.
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 :)
So will noch jemand mitmachen? Ein paar Boards hätte ich noch. Gruss Bene
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?
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...
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.
Gast
#2409708
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 ;)
Hi! Das mit dem Mini-PC würd mich auch interessieren :) cya The_Ride
Gast
#2409728
Oooops, sorry der LPC3131 hat ja gar keinen LCD-Controller sondern nur ein Interface für einen ext. Grafikkontroller.
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.
Gast
#2410671
@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.
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.
ah ja gerne
Gast
#2411299
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. ;-)
Gast
#2411751
Auf der Platine scheint noch viel Platz frei zu sein. Könnte man das nicht dazu nutzen, die Platine kompakter zu machen ?
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.
Gast
#2414535
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.
Gast
#2418974
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!
Hast du denn schon anderen geschrieben? Bei mir kam noch nix an :(
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
Gast
#2420701
irgendwie erinnert mich das an das FoxBoard (http://foxlx.acmesystems.it/) evtl. kann man sich da was abschauen?
Gast
#2422536
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!
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 ;)
Gast
#2422732
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.
Und gibts Ideen für Anwendungen für das GNUBLIN Cluster :-). 1,26 GHz und bis zu 32 GB x 7 Speicher
Welche Topologie? Mesh? Cube? Torus? Hypercube? ;)
Egal :-) Alle sind aktuell per USB über ein HUB über USB-LAN verbunden. Jeder hat eine IP Adresse.
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 ;)
Gast
#2426149
Kan das Board eigentlich auch mit 3,3 V betrieben werden ? Und wie hoch ist der Stromverbrauch ?
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
Gast
#2432902
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.
Gast
#2434465
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
Gast
#2434638
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?
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.
@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.
Benedikt Sauter schrieb: > Die Boards sollten hoffentlich die Woche an euch rausgehen. Juhu, ich freu mich schon.
Gast
#2442288
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?
Gast
#2447294
Gibt es die möglichkeit embedded Linux auf einer virtuellen maschine wie VMWare zu installieren?
Hallo, vielleicht hilft Dir das: http://www.imedialinux.com/alldownloads Gruß Frank
Qemu, nur das Problem ist, dass es nur den Rechner emuliert, keine zusätzliche HW.
Gast
#2453236
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
Gast
#2453243
Hallo, alles zurück. Ich habe gerade den Befehl chmod entdeckt. Und factorial nun ausführbar gemacht, nun funktioniert es... 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?
Gast
#2453270
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
Gast
#2453364
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
Gast
#2460917
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 ;)
Hallo Michael, hättest du Lust das gleiche für ADC und oder PWM zu machen :-). Gruss Benedikt
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.
Hallo Nils, mal interessehalber was nutzt du als SDK/Toolchain?
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...
Nils S. schrieb: > $ cat > /dev/lpc3131_adc gibt aus ^ | das muss da weg :-) Gruß, Frank
Frank M. schrieb: > Nils S. schrieb: >> $ cat > /dev/lpc3131_adc gibt aus > ^ > | > das muss da weg :-) > > Gruß, > > Frank Hmm hast wohl recht :D
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
Gast
#2472959
Wer Cortex A-8 mit 256MB RAM, LAN, Video, USB, ... sucht, sollte BeagleBone für 77€ nehmen.
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...
Gast
#2473202
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.
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?
Gast
#2478930
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?
Gast
#2480835
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?
Gast
#2481221
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?
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.
den mmc patch hast du eingespielt? Das sieht eigentlich danach aus, das der falsche PIN als Card Detect aktiviert ist. Gruss Bene
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.
Gast
#2482825
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,
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
Allerdings gibts da ja auch ZIG Versionen, die alle irgendwo noch im Einsatz sind, allein bei mir im portage sind momentan:
1 | |
2 | |
3 | |
(**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.
Overflow dir selber passiert oder vorsorglich Überprüfung reingemacht?
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 ;)
Gast
#2484579
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.
Gast
#2485354
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?
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
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).
Tool klappt unter Ubuntu 11.04! Super Arbeit! Gruss Bene
Meinst du so? Ich hab jetzt ein wenig mit den Werten für strech, m und n herumgespielt, aber da ändert sich nichts.
1 | |
2 | |
3 | |
4 | |
5 | |
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:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
Seltsamerweise bringt aber auch eine Änderung der Frequenz im PLL Setup keine Änderung.
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.
Gast
#2497474
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.
Gast
#2498525
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.
So, ich habe das Layout nun etwas geändert, das Fenster ist nur mehr 640x520 und sollte damit auch auf 1024x600 funktionieren.
Gast
#2504866
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!
Gast
#2506442
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 Nils, nehme gleich die 13, 14 und 15. Gruss Bene
Gast
#2514697
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.
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 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
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.
Gast
#2531083
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ß
Gast
#2531104
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
Gast
#2531123
Hallo Benedikt, das ist ja leider schon mein zweites. Ich werde dich mal per E-Mail kontaktieren. Gruß Flex
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 | |
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 | |
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...?
Gast
#2531748
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
Gast
#2532437
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
Gast
#2532621
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?
Dateisystemfehler, ein "e2fsck -p -v /dev/sdXY" (X = deine Karte, Y=die Linux Partition) auf einem PC mit Cardreader flickt das.
Gast
#2533218
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ß
Gast
#2533229
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
/etc/init.d/rcS wäre möglich /bin/echo .... Gruss Bene
Gast
#2533363
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
EXT2-fs (mmcblkk0p1):error ext2 lookup: deleted inode referenced:311052 Was bedeutet das? Komme nicht mehr rein Help Pls?
Gast
#2533508
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
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
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
Gast
#2534072
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
@Flex: Lesen hilft: http://www.gnublin.org/index.php?title=AppNote-AP0023 Oder Putty....
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?
Gast
#2534829
Tobi, was sagt "lsusb" ?
kommt nichts auf Befehl lsusb ;(
Hier mal ein Bild
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.
Hallo Tom, du musst den zweiten Pin nehmen. Das Foto ändere ich gleich mal. War mein Fehler! Gruss Bene
so Gruss Bene
Durch das Zweite umlöten ist wohl en kurzschluss entstanden :( Schade!!!
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?
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.
Hmm okay dann probier ich mal das gleiche zu machen mit dem 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.
Es lebt wieder und erkennt den Wlan stick^^
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.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.










