LinuxCon Europe und ELCE 2014
Geschrieben von MMind am Freitag, 17. Oktober 2014 in Auswärts
Wie die letzten zwei Jahre zuvor war ich auch dieses Jahr wieder auf der LinuxCon Europe / Embedded Linux Conference Europe. Wie bereits im vergangenen Jahr angedeutet, fanden sich die 1500 Entwickler dieses Jahr in Düsseldorf zusammen und entgegen meinen Befürchtungen ist Düsseldorf eigentlich eine richtig schöne Stadt.
Im Vergleich zu den Vorjahren ist die Zahl der Leute die ich kannte, mal wieder erfreulich gestiegen — was zu sehr vielen netten Gesprächen auf den Gängen geführt hat. Auch Vortragsseitig waren eine ganze Menge Perlen dabei. Die für mich allerbesten Vorträge waren:
- »The DRM/KMS Subsystem From a Newbie's Point of View« von Boris Brezillon, der die meißten Komponenten der GPU-Treiber im Kernel vorstellte und ich die Gelegenheit genutzt habe, im neuen Rockchip DRM-Code mitzulesen.
- »Two years of ARM SoC Support Mainlining: Lessons Learned« von Thomas Petazzoni stellte ein paar Lektionen vor, wie man als Hersteller die Mainline-Integration angehen könnte um den maximalen Erfolg zu erzielen. Lustigerweise konnte ich bei jeder dieser Lektionen nicken und mir ein »ganz genau« denken, da ich exakt die selben Erfahrungen gemacht habe.
- »Mastering the DMA and IOMMU APIs« von Laurent Pinchart hat mir dann geholfen endlich mal zu verstehen was DMA-Mapping im Kernel tut und wo die IOMMUs ihr Werk tun
Auf alle Fälle hat sich die Konferenz — wie jedesmal — gelohnt und ich freue mich auch schon wieder auf das nächste Jahr — mal sehen wo dass dann ist.
Electronics OpenSpace
Geschrieben von MMind am Sonntag, 7. September 2014 in Allgemein
Den gestriegen Samstag hab ich bei Ausgabe 6 des »Electronics OpenSpace« verbracht. Die Veranstaltungsbeschreiben sagt, dort »treffen sich einen Samstag lang Freunde der Elektronik und stellen sich gegenseitig Ihre Errungenschaften vor«. Es waren also Basteleien an und mit Elektronik im weitesten Sinne zu erwarten.
Da meine aktuelle Betätigung nicht so viel Visuelles zu bieten hat, hab ich Freitag einfach noch einmal meine Oyo-Scummvm-Demo zusammengebastelt um auch einen kleinen Hingucker mitnehmen zu können.
In der Nostalgieecke gab es einen KC85 zu besichtigen, der seine Daten über den Kopfhörerausgang einer Mini-Hifianlage bezog. Daneben gab es noch eine Hifi-Anlage im Selbstbau, verschiedene LED Installationen, die 3D-Drucker und Laser-Cutter des FAB:LAB:DD und sogar ein bisschen Lichtkunst zu bestaunen.
Der Tag war auf alle Fälle richtig toll. Ich habe viele interessante Projekte gesehen und auch mein Oyo konnte ein bisschen Interesse wecken. Das ganze findet halbjährlich statt, der nächsten OpenSpace dürfte dann also im Februar oder März 2015 stattfinden.
Der Oyo im Embedded Journal
Geschrieben von MMind am Mittwoch, 27. August 2014 in Oyo
Das Embedded Journal ist in der Selbstbeschreibung »Eine Open-Source Zeitschrift zum Mitmachen!« und wird von der Embedded Projects GmbH aus Augsburg herausgegeben. Die Artikel und das gesamte Heft stehen dabei unter einer Creative-Commons-Lizenz und werden von verschiedenen Autoren eingereicht. Auch der Vertriebsweg ist interessant. Die Ausgaben sind zum einen natürlich im Netz erhältlich und zum anderen auch als Papierversion.
Thematisch dreht sich alles um Embedded-Ideen im weitesten Sinne — von Elektronik-Bastelanleitungen bis zu Beschreibungen Embedded-Projekten.
Im letztgenannten Bereich habe ich mich auch mal beteiligt, wie an den Oyo-3G-Innereien auf dem Cover der Ausgabe 21 zu sehen ist. Der Artikel geht den Weg von einer Beschreibung des Oyos und seiner Komponenten über die bisherige Entwicklung bis hin zum extrem wichtigen Anwendungsfall ScummVM und ist damit neben diesem Blog meine erste richtige Veröffentlichung.
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.
Seite 1 von 24, insgesamt 117 Einträge