Texas Instruments Pico Projector Module: DLP LightCrafter

Texas Instruments announced the DLP LightCrafter, a Pico Projector evaluation module. This module is powered by an ARM9 TMS320DM365 processor @ 300 Mhz (with 1080p video co-processor) running Embedded Linux. It features a 20-lumen RGB LED light engine and projector, as well as TI DLP 0.3 WVGA chipset. The DLP LightCrafter EVM is intended to bring DLP (digital light processing) devices faster to market and targets the industrial, medical, security and scientific instrument markets with devices such as pico projectors, 3D fingerprint scanners and 3D printers. The DLP LightCrafter incorporates TI DLP3000-C300REF reference design with includes the 0.3 WVGA chipset, TMS320DM365 embedded processor and MSP430 micro-controller.   Here are the key features of the DLP LightCrafter: 20 lumen light output WVGA resolution (608×684 native) Up to 4kHz binary pattern rate Configurable I/O trigger DM365 embedded processor (ARM926E-JS) 128MB NAND flash memory USB, Mini HDMI, UART interfaces Dimensions: 117mm x 65mm […]

HP Releases Open WebOS 1.0 Roadmap and Enyo 2.0 Source Code

HP announced further details on webOS including a roadmap & its license and released Enyo 2.0 source code. The webOS code will be made available under the Apache License, Version 2.0, beginning with the source code for Enyo. Enyo is a Javascript development platform allowing developers to write applications that works across mobile devices and desktop web browsers, from the webOS, iOS and Android platforms to the Internet Explorer and Firefox browsers. webOS roadmap Here’s webOS roadmap until September 2012: January – Enyo 2.0 and Enyo source code released under Apache License, Version 2.0 February – Intended project governance model, QT WebKit extensions, JavaScript core and UI Enyo widgets March – Linux standard kernel, Graphics extensions EGL, LevelDB and USB extensions April – Release of Ares 2.0, Enyo 2.1 and Node services July – System manager (“Luna”), System manager bus, Core applications and Enyo 2.2 August – Build release model […]

The Past, Present and Future of Ubuntu for ARM

David Mandala of Canonical talked at Linux.Conf.Au on 18th of January 2012 about Ubuntu for ARM and the move from netbook to server support. You can read my notes below, or jump at the end of this post to watch the presentation. The Past 2008:  Ubuntu decides to only support ARMv7 architecture vs. Debian that supports ARMv4 and above. 2009:  Ubuntu release for Freescale i.MX51 (ARMv5 built), and then Marvell ARMAVA with ARMv6 and VFP (ARM floating point unit) support. 2010: April (10.04) The first ARMv7 release for OMAP3 (Beagleboard) with VFP, Thunb2, NEON and SMP for ARM and first netbook edition October (10.10) Pandabord (OMAP4) release with initial device tree support for ARM. Starts work with Linaro. 2011: 11.04 (5th release) – Supports OMAP3 and OMAP4 only. The netbook edition is using Qt, further improvement to device tree, further work with linaro and on the way to the Unified […]

App Inventor for Android is Now Open Source

Android App Inventor has been phased out by Google some weeks ago. But it is not dead yet, as Google made it open source and it is hosted at the Massachusetts Institute of Technology (MIT). The developers of App Inventor said they won’t be accepting contributions to the source code for now, but they plan to accept other developers contribution once the project is “complete and deployed to a large-scale public server”. App Inventor is a tool that allows non-programmer to design applications for Android via a web-based interface for designing Android apps without the need to get into Java programming with the Android software development kit. The projct is being transfered between Google and MIT, and you won’t be able to use App Inventor at the moment. MIT anticipates the public instance of App Inventor will be available for the general public to access some time in the first […]

Cross-compiling Berkelium for ARMv6 with Emdebian Toolchain

Berkelium is a BSD licensed library that provides off-screen browser rendering via Google’s open source Chromium web browser. This library is used by Xibo Digital Signage Player python client and I already cross-compiled it using Ubuntu/Linaro  toolchain. Since I need it to run on ARMv6 for the Raspberry Pi, I have cross-compiled it again in Debian with Emdebian ARM cross-compiler. Here are the instructions I followed to build Berkelium and Chromium for ARMv6 in Debian. First, you’ll need to install some development libraries for ARM: sudo /usr/share/pdebuild-cross/xapt -a armel libnss3-dev libgconf2-dev libgnome-keyring-dev libgtk2.0-dev libgnome-keyring-dev libgtk2.0-dev libxtst-dev libpam-dev libxss-dev libdbus-glib-1-dev libnss3-dev libgconf2-dev libgnome-keyring-dev libxss-dev libdbus-glib-1-dev libnspr4-dev libglib2.0-dev libjpeg-dev libasound2-dev libbz2-dev libgcrypt-dev libspeex-dev libcups2-dev and some tools on the build machine: sudo apt-get install git-core subversion cmake doxygen gyp gperf flex bison On 64-bit build machines (required for debug build) also install g++-multi and possibly some 32-bit libraries with xapt:

If […]

Linux Debugging: Listing Shared Libraries at Runtime

I had a library (a python plugin) that crashed and outputted the “very useful”: illegal instruction I tried pdb (the Python Debugger) to find the issue without success. So I tried to add some printf to this library but none were outputted at runtime.  So I guessed the illegal instructions was generated by the shared libraries. Let’s see how many libraries we’ve got: ldd libbrowsernode.so | wc -l 125 Oh dear!… 125 libraries.. This is where panic sets in. Luckily, there is a simple way to list the dynamic libraries as they are loaded (and some more useful info). Simply set: export LD_DEBUG=files before running your program. This is extremely verbose, so I recommend you redirect the output to a file. This method allowed me to find undefined symbols during dynamic libraries load time with errors such as: opening file=/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so [0]; direct_opencount=1 14121: 14121:     /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so: error: symbol lookup error: undefined […]

Idolian IdolPad Android 2.3 Tablet Sells for 99 USD

Idolian has just announced the IdolPad Tablet, an Android 2.3 (gingerbread) Tablet featuring a 7″ multitouch resistive touchscreen and powered by an unnamed ARM cortex A9 processor @ 1Ghz (I guess this is the AmLogic 8726) with 512 MB RAM and 4 GB Flash. Here are the specs of the device: Operating System: Android 2.3 OS (Gingerbread) Processor: 1 GHZ Cortex A9 (AmLogic 8726?) RAM: 512 MB DDR3 Screen: 7″ Multi-Touch Resistive Touch Screen, 800×480 Resolution Flash: 4 GB External Flash: Supports up to 32GB micro SD WiFi: 802.11 b/g Micro USB: 2.0 HDMI output tp to 1080p 1.3 MP front camera Multi-Touch & G-Sensor Technology: 3D Accelerometer Battery: 3500mAh (4-6 hours) Dimensions: 197  mm x 124 mm x 14.29 mm Weight: 362 grams. The Idolian IdoPad does not support GPS nor Bluetooth. You can watch the Tablet in action in the video below (Warning: Potentially annoying background music…) The […]

Linux Kernel 3.1.9 for Raspberry Pi Released & Build Instructions

Raspberry Pi has just announced the release of a fork a linux kernel 3.1.9. The source code with patches is available at https://github.com/raspberrypi/linux. If you just want to download the patch, I’ve created one: r-pi_linux_3.1.9.patch.gz The code related to Broadcom BCM2835 processor is referred as bcm2708 in the kernel and I can see committed related to the watchdog timer, the framebuffer,  the VCHIQ driver (the driver sending messages to the GPU) and general commits for bcm2708. For those interested in the messages used to communicate between userspace and the GPU, the VCHIQ driver code is located at drivers/misc/vc04_services in the tree. I haven’t studied it yet, but as the platform should support graphics standards such as OpenGL and OpenMAX IL, most people should not really care about this interface as I suppose the OpenGL library (Mesa?) uses this driver. Here are the build instructions for Raspberry Pi kernel. I cross-compiled […]

UP 7000 x86 SBC