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.

Freerunner mit Debug-Board

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 slab  at 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.

2 Kommentare Mehr...

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.

Radxa Rock Board

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.

14 Kommentare Mehr...

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.

Pakete

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.

0 Kommentare Mehr...

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.

0 Kommentare Mehr...

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.

Rasberry Pi Alpha-Board
Rasberry Pi Alpha-Board

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«.

0 Kommentare Mehr...

Seite 1 von 3, insgesamt 11 Einträge

Suche

Nach Einträgen suchen in Outside the Walled Garden:

Das Gesuchte nicht gefunden? Gib einen Kommentar in einem Eintrag ab oder nimm per E-Mail Kontakt auf!