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 […]

Khadas Edge2 Arm mini PC

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 […]

Android Developers Conference 2012 (AnDevCon III) Schedule

The full schedule for AnDevCon III (14-17 May 2012)  has finally been released with 42 different classes and several workshops. The sessions will be organized into five subject area: Developer Essentials: These technical classes and workshops are for all Android developers and cover all programming topics. Android Enterprise: These technical sessions cover topics specific to building and managing apps for employees, business customers and partners, such as back-end integration corporate data center communications, ERP or CRM systems. Android Business: These classes and workshops are for entrepreneurial developers who want to learn the most effective ways of distributing and selling Android apps, including how to maximize profit through the Android Market. Android Tablets and beyond: These classes and workshops are specific to commercial devices beyond smartphones, including tablets, Google TV, and other platforms. Embedded Android: These classes and workshops are for developers working close to the hardware, such as on custom […]

Embedded Linux Conference 2012 Schedule

The Embedded Linux Conference (ELC 2012) will take place on February 15 – 15, 2012 at Hotel Sofitel in San Francisco. ELC consists of 3 days of presentations, tutorials and sessions. There will be over 50 sessions during those 3 days. I’ll highlight a few sessions that I find particularly interesting. February 15 10:30 – 11: 30 – Profiling and Performance Measurement Techniques Using Linux Kernel Tools by Govindraj Raja, Software Engineer at Texas Instruments and Partha S Basak, Technical Manager at Texas Instruments. With ever growing features and functionality of Linux kernel, one needs methods to trace and profile parts of Linux kernel for various reasons like performance analysis, debugging etc. This presentation aims at providing an insight into few of these tools and their salient features. Supporting use case data as captured on open source OMAP4 pandaboard is also provided. 14:00 – 15:00 – The Yocto Project Overview […]

Rockchip RK3568/RK3588 and Intel x86 SBCs

Freescale i.MX6 Automotive & Aerospace Infotainment Applications

Freescale showcased i.MX6 Series (ARM Cortex-A9) based in-vehicle infotainment (IVI) systems at CES 2012. Charbax (armdevices.net) has an interesting interview, where they show IVI products based on Freescale i.MX6 series running QNX operating system with the dashboard, a control panel and a tablet for the back seats. There are also some impressive 3D demos as well as real-time 3D modelling of the car thanks to 360 cameras and OpenCL support in the iMX6 GPU. 3D modelling allows the driver to see a top view of the car while parking in narrow spaces. Freescale provides Long Term Support (LTS) for processors used in the automotive and aerospace industries and the company has committed to 15 years of support for the i.MX6 series.

TI SimpleLink Wi-Fi CC3000 Brings WiFi Connectivity to All Devices

Yesterday, Texas Instruments unveiled the SimpleLink product family, a portfolio of wireless connectivity technologies for low-power, low-cost embedded applications, which includes self-contained wireless processors supporting Wi-Fi, ZigBee, 6LoWPAN, and ANT. The most noticeable product is the SimpleLink Wi-Fi CC3000, a self-contained 802.11 (WiFi) network processor, that can be added to any embedded application and provide WiFi connectivity to the Internet of Things. With this solution, you can add WiFi to any device, even those powered by MCUs without operating systems such as dishwashers, toasters, refrigerators, thermostats, and factory automation equipment. I wish they’ll make new version of the MSP430 Chronos Wireless Watch with WiFi connectivity, this would remove the need for the RF Dongle. This solution features TCP, UDP and IP software stacks in the chip, it consumes 0.5% of the resources as compared to traditional Wi-Fi and only requires 6KB Flash and 3KB RAM. The company claims it can be […]

Khadas VIM4 SBC