Naggischer Freerunner
Geschrieben von MMind am Dienstag, 3. Dezember 2013 in Geräte, Openmoko Freerunner
Der Openmoko Neo Freerunner war ja mein erster Schritt in die embedded-Welt. Leider fristete er die letzten Jahre eher ein Schattendasein — verdrängt durch Oyo und Rockchip-Geräte.
Da viele meiner Samsung-spezifischen Umbauarbeiten alle S3C24xx Prozessoren betreffen hatte ich schon mal den Wunsch diese auch auf dem Freerunner zu testen und dank einer Spende von Christoph Pulster bin ich seit neuestem Eigentümer eines Debug-Boards für den Freerunner. Also hieß es nur noch, dem Freerunner die Hüllen vom Leib zu reißen und den fummeligen Folienleiter anzuschliessen.
Das Board stellt einige Features bereit — JTAG, ausgeleitete Pins von I2C- und SPI-Bussen und mehr — aber ich denke mehr als die serielle Ausgabe der Konsole werde ich gar nicht benutzen.
Heute Abend hatte ich dann auch endlich mal Zeit einen Kernel für den Freerunner zu bauen. Der Start gestaltete sich etwas schwierig, da zum einen der Kernel nicht wirklich weit kommt und zum anderen ich nicht wusste welcher UART nun der Debug-UART war. Natürlich war es der letzte probierte UART, der dann doch noch ein paar Kernel-Logs ausgab:
Booting Linux on physical CPU 0x0 Linux version 3.13.0-rc2-next-20131203+ (hstuebner@marty) (gcc version 4.4.5 (Debian 4.4.5-8) ) #229 Tue Dec 3 22:50:48 CET 2013 CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177 CPU: VIVT data cache, VIVT instruction cache Machine: GTA02 bootconsole [earlycon0] enabled Memory policy: Data cache writeback CPU S3C2442B (id 0x32440aab) S3C24XX Clocks, Copyright 2004 Simtec Electronics S3C244X: core 400.000 MHz, memory 100.000 MHz, peripheral 50.000 MHz LOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 Kernel command line: console=ttySAC0,115200 earlyprintk PID hash table entries: 512 (order: -1, 2048 bytes) Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Memory: 126288K/131072K available (2355K kernel code, 163K rwdata, 708K rodata, 121K init, 226K bss, 4784K reserved) Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) vmalloc : 0xc8800000 - 0xff000000 ( 872 MB) lowmem : 0xc0000000 - 0xc8000000 ( 128 MB) modules : 0xbf000000 - 0xc0000000 ( 16 MB) .text : 0xc0008000 - 0xc0305f34 (3064 kB) .init : 0xc0306000 - 0xc03247e4 ( 122 kB) .data : 0xc0326000 - 0xc034ef88 ( 164 kB) .bss : 0xc034ef88 - 0xc0387a50 ( 227 kB) NR_IRQS:103 S3C2442: IRQ Support irq: clearing pending status 000b02f0 irq: clearing pending status 000902d0 irq: clearing pending status 000000c7 irq: clearing pending status 00000082 sched_clock: 16 bits at 1000kHz, resolution 1000ns, wraps every 65535000ns Console: colour dummy device 80x30 Calibrating delay loop... 199.47 BogoMIPS (lpj=498688) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok Setting up static identity map for 0x30252760 - 0x302527b8 devtmpfs: initialized regulator-dummy: no parameters DMA: preallocated 256 KiB pool for atomic coherent allocations S3C Power Management, Copyright 2004 Simtec Electronics S3C2442: Initialising architecture S3C244X: Clock Support, DVS off bio: create slabat 0 Switched to clocksource samsung_clocksource_timer s3c-adc s3c24xx-adc: operating without regulator "vdd" . platform s3c24xx-adc: Driver s3c-adc requests probe deferral msgmni has been set to 246 Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252) io scheduler noop registered io scheduler deadline registered (default) s3c2440-uart.0: Controller clock not found samsung-uart: probe of s3c2440-uart.0 failed with error -2 s3c2440-uart.1: Controller clock not found samsung-uart: probe of s3c2440-uart.1 failed with error -2 s3c2440-uart.2: Controller clock not found samsung-uart: probe of s3c2440-uart.2 failed with error -2 bootconsole [earlycon0] disabled
Ich frage mich ob schon mal jemand einen 3.x-Kernel auf einem Freerunner gestartet hat — der letzte echte Kernel der alle Freerunner-Features unterstützte war ja 2.6.39 oder so.
Und wieder ein neues Spielzeug - Radxa Rock
Geschrieben von MMind am Freitag, 22. November 2013 in Geräte, Rockchip
Entwicklungsplatinen sind ja momentan groß in Mode. Der RaspberryPi ist ja ein sehr großer Erfolg geworden, mit inzwischen mehr als 2 Millionen verkauften Boards. Während die Development-Boards der Hersteller früher Unsummen kosteten, gibt es inzwischen für so ziemlich jeden ARM-SoC erschwingliche Entwickler-Platinen. Neben dem RaspberryPI sind dies zum Beispiel die Beagle- bzw. Pandaboards für OMAP 3 und 4, die ODROID-Boards für Samsungs Exynos SoCs oder auch die Cubieboards für Allwinner-SoCs.
Vom Hersteller der Cubieboards kommt nun auch ein neuer Boardtyp, diesmal basierend auf dem RK3188 von Rockchip. Das Board nennt sich »Radxa Rock« und soll demnächst allgemein verfügbar sein. Es gab eine Vorserie der Boards von 100 Stück und als Maintainer des Mainline-Kernel-Supports für Rockchip SoCs kam auch ich in den Genuss eines dieser Sample.
Die Ausstattungseite enthält keine allzugroßen Überraschungen bereit. 2GB Arbeitsspeicher, ein Flash-Chip, USB- und Netzworkports und die obligatorischen Buchsenleisten, an denen eine Menge PINs für eigene Verbindungen genutzt werden können. Ein interessantes Gimmik ist der Infrarotempfänger, auch wenn Infrarot heutzutage warscheinlich nicht mehr so oft verwendet wird.
Mit dem Mainline-Support für das Radxa Rock war ich auch schnell genug. Die Patches für die grundlegende Unterstützung haben es im aktuell laufenden Merge-Window in den Mainline-Kernel geschafft und werden damit Teil von Linux-3.13.
Schon wieder Weihnachten
Geschrieben von MMind am Donnerstag, 15. März 2012 in Geräte
Heute hatte der UPS-Mann ganz schön was zu tun, denn er brachte zwei Pakete mit blogrelevantem Inhalt — eins aus Ingolstadt und eins aus Madrid.
Ausgepackt sind sie natürlich schon, den Inhalt verrate ich aber erst später .
Es passieren hier momentan sowieso gerade Dinge, deren Tragweite ich erst so langsam richtig begreife. Der Rest des Jahres wird aber auf alle Fälle extrem spannend.
Mal wieder neues Spielzeug
Geschrieben von MMind am Samstag, 4. Februar 2012 in Geräte
Vor einigen Tagen ist mal wieder ein neues Gerät angekündigt worden. Das »Spark« ist ein 7-Zoll Tablet auf dem ein natives Plasma-Active zum Einsatz kommt.
Hardware-seitig siedelt sich das Gerät im Mittelfeld an. 1GHz-Prozessor, 512MB Arbeitsspeicher sind ja momentan so eine Art Standard in dem Bereich.
Interessant wird es vor allem dadurch, dass eben nicht irgend ein Android mit Fussfessel darauf läuft, sondern eben ein normales GNU/Linux System mit dem oben erwähnten Plasma-Active als User-Interface. Bootloader, etc. soll offen sein und der Großteil der Hardware soll dokumentiert und Kernel-Quellen zugänglich sein. Demzufolge sollte einem Debian da drauf auch nix im Wege stehen.
Erscheinen soll es demnächst, ich bin gespannt.
Himbeerkuchen
Geschrieben von MMind am Dienstag, 13. September 2011 in Geräte
Im Mai habe ich ja bereits einmal kurz über den Rasberry Pi geschrieben. Mitte August hat das Projekt dann einen großen Schritt gemacht — die ersten Alpha-Boards kamen an. Die Alpha-Boards sind eine fast fertige Variante des Systems, die bereits in einer Art Massenproduktion hergestellt wurden und alle gewünschten Features enthalten. Bis zur echten Massenproduktion soll nur noch die Grundfläche des Boards auf die Größe einer Kreditkarte schrumpfen.
Zum Launch, der nach momentanem Stand vermutlich Ende November erfolgt, soll es 2 unterschiedliche Modelle geben, die 25$ bzw. 35$ kosten sollen.
Innenleben
Die inneren Werte des Rasberry Pi lesen sich schon sehr interessant — vor allem in Anbetracht des Preises:
- 700MHz Broadcom BCM2835 SoC mit einem ARM11 (ARM1176JZF-S) Kern
- 128MiB (Model A) oder 256MiB of SDRAM (Model B)
- OpenGL ES 2.0
- 1080p30 H.264 high-profile Dekoder
- Composite und HDMI video output
- Modell A: 1 USB-Port; Modell B: 2 USB- und 1 Ethernet-Port
- SD/MMC/SDIO Speicherkarten-Schacht
- 16 GPIOs, I2C und SPI sind über Pins verfügbar
Nutzungsmöglichkeiten
Über die verschiedenen zur Verfügung stehenden Schnittstellen kann sich der Rasberry Pi zu so einer Art Arduino-Konkurrenz entwickeln — nur leistungsfähiger und komfortabler.
Spontan kamen mir heute schon einige Ideen, was man mit so einem Board alles anstellen könnte:
Mediaplayer
Da der SoC des Rasberry Pi fähig ist, 1080p Videos abzuspielen und einen HDMI-Ausgang besitzt, könnte man ihn zum Beispiel als Mediaplayer nutzen. Durch seine Größe ließe er sich bestimmt auch an der Rückseite eines Displays befestigen.
Modelleisenbahn-Steuerzentrale
Heutzutage werden ja auch Modelleisenbahnen oft digital gesteuert. Verschiedene Anbieter bieten dafür für sehr viel Geld Steuerzentralen an, die dann meist auch noch einen relativ beschränkten Funktionsumfang besitzen.
Es gibt aber auch Projekte, die die Steuersignale von einem normalen Rechner erzeugen lassen. Ein sehr bekanntes Beispiel ist DDX, das im Rahmen des RocRail-Projektes entwickelt wird.
Roboter-Controller
Beim stöbern habe ich einige Post von Leuten gefunden, die einen Arduino nutzen, um Lego Mindstorma-Komponenten ohne die originale Steuereinheit anzusteuern. Da der Rasberry Pi ähnliche Schnittstellen zur Verfügung stellt — die Mindstorms NXT-Komponenten kommunizieren zum Beispiel über I2C — sollte dies kein Problem sein
Besonders interessant wäre hier natürlich aus der Kombination Mindstorms - Rasberry Pi - Kinect ein Gefährt zu bauen, dass sich dann autonom bewegen kann.
Gameboy aufbessern
Man könnte auch die Innereien eines Gameboys entfernen und stattdessen versuchen einen Rasberry-Pi dort zu integrieren. Eine kurze Recherche förderte aber nichts brauchbares zu Tage. Die Idee scheint bereits einigen gekommen zu sein, aber Informationen wie man das Display ansteuern könnte gibt es scheinbar keine.
Desktop-Ersatz
Ganz profan kann man den Rasberry Pi aber auch einfach als Schreibtischrechner nutzen. Display, Tastatur und Maus anschliessen und »fertig ist die Laube«.
Seite 1 von 3, insgesamt 11 Einträge