LLVM (Low Level Virtual Machine) Compiler Infrastructure

The Low Level Virtual Machine (LLVM) is a compiler and toolchain infrastructure, written in C++, designed for compile-time, link-time, run-time, and “idle-time” optimization of programs written in arbitrary programming languages. Originally implemented for C/C++, LLVM is now used with a variety programming languages such as Python, Ruby and may others. Code in the LLVM project is licensed under the “UIUC” BSD-Style license. LLVM can be used to replace and/or supplement the GNU tools such as gcc, g++, gdb, etc… LLVM now consists of a number of different sub-projects including: The LLVM Core libraries provide a source- and target-independent optimizer, along with code generation support for many popular CPUs. These libraries are built around a well specified code representation known as the LLVM intermediate representation (“LLVM IR”). The LLVM Core libraries are well documented, and it is particularly easy to invent your own language (or port an existing compiler) to use […]

Archos G9 GPL Source Code

Archos has released the GPL source code for the Archos G9 Tablets on their Gitorious account. This is obviously the same source code for Archos 80 G9 and Archos 101 G9. There are two git repositories for the G9: archos-gpl-gen9 – Archos generation 9 GPL release archos-gpl-gen9-kernel – Archos generation 9 GPL linux kernel 2.6 release The GPL “userspace” source code is divided into 4 directories: buildroot – Buildroot to generate a cross-compilation toolchain, a root filesystem, a kernel image and a bootloader image. hardware – Direcotory containing hardware related source: WL1283 “Wlan” Driver (WiLink 7.0 single-chip WLAN, GPS, Bluetooth and FM solution) packages: libf2m – Library to convert flash videos (FLV) to AVI, MOV or MP4 libmms – Library for streaming video/audio with mmst / mmsh protocols external- Utilities and libraries (Bold indicates external sw not released/used with Archos G8 Source Code) alsa-lib – Audio library alsa-utils – Audio […]

Khadas Edge2 Arm mini PC

Cross-compiling Berkelium (and Chromium) for ARM

Berkelium is a BSD licensed library that provides off-screen browser rendering via Google’s open source Chromium web browser. It takes advantage of Chromium’s multiprocess rendering to isolate browsers from each other and can render to any buffer in memory. The user of the library can inject input and javascript code into web pages to control them, as well as listen for events generated by the page such as navigation events, load sequence events and paint events. Berkelium provides a small API for embedding a fully functional browser into any application. This library is used by Xibo Digital Signage Player python client. I’ll give the instructions I followed to build Berkelium and Chromium for ARM. For now the build works, but I have a problem running berkelium in the emulator. First, you’ll need to install some tools and the development version of some libraries: sudo apt-get install git-core subversion cmake doxygen […]

Variscite System On Module based on TI OMAP4460

Variscite – an Israeli company specialized in embedded systems manufacturing, development and consulting – announced the VAR-SOM-OM44 system on module (SOM) based on TI OMAP4460 processor (dual core Cortex-A9 cores @ 1.2 ~ 1.5GHz). This SOM features 512MB of DDR2 SDRAM and a microSD socket, I/O including gigabit Ethernet, USB 2.0, 3D camera, and HDMI. Variscite also announced  the VAR-OM44CustomBoard, a development board that can be customized to match specific customers requirement as well as the VAR-DVK-OM44, a complete development kit with touchscreen for evaluation and application development purposes. Here are the VAR-SOM-OM44 SOM specifications: CPU: Texas Instruments OMAP4460 Processor (1.2GHz – 1.5GHz) dual-core ARM Cortex-A9 MPCore GPU: PowerVR™ SGX540 graphics core @384MHz Memory: 512-1024MB 400MHz LPDDR2 Built-In micro-SD Socket Display: LCD interface – Supporting 24bpp resolutions up to WXGA HDMI interface – Supporting 1080p 4-wire touch screen panel interface Audio: Line-in Stereo Headphone out Digital microphone S/PDIF Out Network: 10/100/1000Mbps […]

Android 2.3.7 (Alpha) for HP TouchPad Has Been Released

CyanogenMod team has just released the CyanogenMod 7.1 port for the HP TouchPad. This is an initial alpha release, so there are still plenty of bugs and a few non-working features, but overall it should be in a state that you can at least play around with Android on your TouchPad. For this release they used a new experimental installer called the Alpha CyanogenMod Experimental Installer (ACMEInstaller). This installer will reorganize partitions on the flash (resize the WebOS media volume to make room for Android).ACMEInstaller will be used to install ClockworkMod Recovery, CyanogenMod 7.1 and the new Moboot bootloader. After installation you’ll be able to boot WebOS or Android (dual-boot). The firmware currently support the following features: GPU acceleration 1080p video playback Wifi(with caveats) Bluetooth(no headset profile) Touchstone dock support Audio As it is alpha, there are also plenty of known issues including: Higher than normal battery drain, ~2%/hr while […]

Running Android Apps in Windows 7 with Bluestacks App Player

Bluestacks has released an Alpha version of its App Player for Windows 7. This sotware allows you to run Android apps inside Windows 7. I’ve tried to install it in Windows XP but it won’t work and here’s the reason: So Bluestack App Player is a Windows 7 gadget, so it would obviously not work in Windows XP. If you want Windows XP, you do not need to despair as you can still run Android-x86 in a virtual machine (The post is a bit old, Android 2.3 is now available). Of course, this is not as neat and fast as Bluestacks application. There are 10 applications pre-installed. I’ve tried Bloomberg app and it works very well. If you need more apps, you can visit Bluestacks Channel and add up to 16 extra applications. The pro-version will not have this limitation and will allow users to install premium apps such a […]

Rockchip RK3568/RK3588 and Intel x86 SBCs

Get CFLAGS for a Package with pkg-config

As I tried to cross-compile an application that required glibconfig.h, I found a way to retrieve the CFLAGS for a given package. Here’s the output for glib-2.0 and gtk-2.0 in qemu for overo: pkg-config –cflags glib-2.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabi/glib-2.0/include pkg-config –cflags gdk-2.0 -pthread -I/usr/include/gio-unix-2.0/ -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabi/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pixman-1 Finally, I found out that glibconfig,h was in /usr/lib/arm-linux-gnueabi/glib-2.0/include as this file is generated by configure and is platform dependent.

Generate a Custom ARM Rootfs Easily with Rootstock

You may need to generate your own rootfs for your ARM target board, but do not want to cross-compile all libraries manually. You can achieve this with rootstock, a utility that generates Ubuntu armel rootfs tarballs and/or qemu image, to be uncompressed onto a root device. First install roostock: sudo apt-get install rootstock Then generate a rootfs with the required libraries: sudo rootstock –fqdn beagleboard –login cnxsoft –password temppasswd \ –imagesize 3G –seed xfce4,gdm,pkg-config,python,perl,g++,bison,flex,\ gperf,libnss3-dev,libgtk2.0-dev,libnspr4-0d,libasound2-dev,libnspr4-dev,\ libgconf2-dev,libcairo2-dev,libdbus-1-dev,libstdc++6-4.5-dev,libexpat1-dev,\ libxslt1-dev,libxml2-dev,libbz2-dev  –dist natty Here are the details of the command line parameters: –fqdn: Hostname to be used for the target system –login: Login ID of the admin user created during setup –password: Password of the admin user created during setup –imagesize: Size of the target filesystem to be created (default 1GB) –seed: List of packages to install –dist: Specify Release to build (jaunty, karmic, lucid, maverick or natty) Alternatively you could also use an […]

Khadas VIM4 SBC