Cross Compiling libavg for ARM

libavg is a high-level development platform for media-centric applications using Python as scripting language and written in C++. Bear in mind that are many dependencies with libavg 1.6. I have not built all the libraries required, but instead simply taken the pre-built binaries and header files in the qemu overo image and copied the files as follows: mkdir mnt sudo mount -o loop,offset=$[106496*512] overo_sd_alip.img mnt mkdir ~/edev/beagleboard/libs/lib -p mkdir ~/edev/beagleboard/libs/include cp mnt/usr/lib/* ~/edev/beagleboard/libs/lib/ -rf -d cp mnt/lib/* ~/edev/beagleboard/libs/lib/ -rf -d cp /mnt/usr/include/* ~/edev/beagleboard/libs/include -rf -d sudo umount mnt The -d flag skips the symlink, so we need to recreate then for all library so that the compiler can find libname.so instead of libname.so.12. Save the following scripts to symlinks.sh: and run it where the arm libraries are located (in my case in /home/jaufranc/edev/beagleboard/libs/lib, /home/jaufranc/edev/beagleboard/libs/lib/arm-linux-gnueabi and /home/jaufranc/edev/beagleboard/libs/lib/mesa). This will  create symlinks for most libraries, but not all. Some will still have to be created manually, e.g.: ln -s libboost_thread.so.1.42.0 libboost_thread.so ln …

Cross-Compiling Mesa 3D Graphics Library for ARM

Mesa is an open-source implementation of the OpenGL specification that can be used for software emulation or  complete hardware acceleration for modern GPUs.The Mesa library is used by a variety of games (e.g. Quake 2.3), libraries (e.g PyOpenGL), science and technical applications and utilities (e.g. xscreensaver). MesaLib requires X11 libraries. I’ll assume those are already cross-compiled here. For this build, I used pre-built X11 libraries found in ALIP (ARM Internet Platform) binaries. I used the method described here and copied the libs in /lib and /usr/lib and header files in /lib/include found in the qemu overo image respectively to /home/jaufranc/edeve/beagleboard/libs/lib and /home/jaufranc/edeve/beagleboard/libs/include. make sure you use the “-d” with cp to avoid copying the symlinks or some symbolic links would point to x86 binaries or files that do not exist. Here are the instructions to cross-compile MesaLib 7.11 for ARM using arm-linux-guneabi-gcc: Download the latest version of Mesa source code: Extract the source code Install the following packages (makedepend is …

Advertisements

Cross Compiling Boost C++ Libraries for ARM

Boost provides free peer-reviewed portable C++ source libraries. Ten Boost libraries are already included in the C++ Standards Committee’s Library Technical Report and will be in the new C++11 Standard. The Boost C++ libraries are already included in popular Linux and Unix distributions such as Fedora, Debian, Ubuntu and NetBSD and are used by projects such as Python, Xibo, Civilization IV, etc.. Here are the steps to cross-compile Boost C++ libraries for arm using arm-linux-guneabi-g++: Download the source code: Extract the source code: Bootstrap the code: Modify the configuration file (project-build.jam) to use the ARM toolchain by replacing the line with “using gcc” by: Install the python development package: Build and install the boost libraries: This was tested in Ubuntu 11.04 (natty) and 10.04 LTS with linaro g++ toolchain.

How to Transfer files between the Host and Qemu via SSH and NFS

Last week, I wrote a blog post explaining how to copy files to a qemu image by mounting the qemu image in the host. This is only useful if emulated platform does not support networking. If networking is enabled, using SSH (Secure Shell) or NFS (Network File System) is more convenient. Using SSH with Qemu To initiate the SSH connection from qemu, there is actually nothing extra to do as long as you have sshd installed and running on the host. If it is not installed simply run  sudo apt-get install openssh-shell on the host. This will install and automatically sshd. To initiate the SSH connection from the host, you’ll have to redirect the ssh port to an unknown port and start qemu as follow (for overo): sudo qemu-system-arm -M overo -m 256 -drive file=./overo_sd_alip.img,if=sd,cache=writeback -clock unix -serial stdio -device usb-kbd -device usb-mouse -redir tcp:2222::22 Please refer to Beagleboard Emulator in Ubuntu with Qemu for the detailed instructions on how …

Arnova 7 G2 and 10 G2 Tablets Are Now Available

This week Amazon announced the Kindle Fire and got a lot of press coverage for its 199 USD Android Tablet. But the Kindle Fire was not the only low cost Tablets made available this week as Arnova G2 Tablet are also available in the US. Archos Arnova 7 G2 and 10 G2, respectively with a 7″ and 10″ capacitive display, are powered by  a Rockchip RK2918 Cortex A8 processor clocked a 1Ghz, 512 MB SDRAM, 4 to 8 GB flash memory, a microSD slot and run Android 2.3 (Gingerbread) operating system. Arnova 10 G2 also have a 0.3MP front facing camera for video conference. Arnova 7 G2 can be pre-ordered on Amazon for 199.99 USD. Anrvoa 10 G2 can be purchased on Tigerdirect Ebay store for 199.99 USD.  Last week, you could also get it for 99 USD with a newspaper subscription. Like the Amazon Kindle Fire, the Arnova G2 tablets are missing official support for the Google Android Market. …

Samsung Unveils New Dual-core Exynos 4212 Processor

Samsung unveiled its new Exynos processor this week at Samsung Mobile Solution Forum 2011 in Taipei, Taiwan. The Exynos 4212 is a dual core ARM Cortex A9 processor clocked up to 1.5 GHz and “will improve processing power by 25 per cent and enhance a device’s 3D abilities by a massive 50 per cent” according to Samsung. The processor will also consume 30 percent less power than its predecessor (Exynos 4210) thanks to Samsung new 32nm HKMG process. Finally the company said that the Exynos 4212 will incorporate a rich portfolio of advanced codec accelerators that support digital still images, video recording and play-back at 1080p full-HD resolution, an image signal processor and an on-chip HDMI 1.4 interface. Samsung’s Exynos 4212 processor will sample to select customers in Q4 2011. Samsung also announced a website dedicated to Exynos processors. This website has a lot of information on Exynos 3110 and 4210 including showcase of products using those 2 processors, related …

Advertisements

Embedded MasterClass Conference Schedule in Cambridge, UK

Embeded MasterClass will take place in Cambridge on the 5th of October 2011. This conference will give you the chance to meet with embedded systems engineers from many of the world’s leading vendors and you’ll be able to attend presentations and workshops free of charge. Here’s the presentations’ schedule for the event: Time Stream 1 Stream 2 8.30 – 9.30 Tea/Coffee – Meet the Exhibitors 9.30 – 10.15 1: Leveraging the Performance of Intel® Architectures in low power, fan-less solutions with the latest Intel® Atom™ processor-based platform. Regis Cheval CEng MIET, Intel® Atom™ Platform Application Engineer – Intel 10.30 – 11.15 2: Proving your code quality. Barry Lock – Lauterbach 3: Developing reliable embedded systems using COTS and custom processors. Michael Pont, CEO – TTE Systems 11.15 – 11.45 Coffee and Exhibition 11.45 – 12.30 4: Strategic Research Agenda. Helen Finch – Artemis and Infineon 5: Safely from Conception to Completion. Chris Hills – Phaedrus Systems Ltd 2.30 – 13.30 …

NFC Forum Releases Simple NDEF Exchange Protocol (SNEP) Specification

The NFC Forum announced the release of the 16th specification of Near Field communication (NFC) dealing with the Simple NDEF Exchange Protocol (SNEP). NDEF stands for NFC Data Exchange Format. This data format has been described in an earlier specification released in 2006. SNEP is an extension of NDEF and defines protocol suitable for peer-to peer communication between two NFC-enabled devices. Previously, NDEF was applicable only to NFC tags in reader/writer mode. Now, SNEP enables the use of the openly standardized NDEF in peer-to-peer mode, making seamless interchange of data a reality. Application developers no longer need to concern themselves with how their NDEF data gets transferred between NFC-enabled devices. By providing this capability, the SNEP specification makes the difference between reader-writer and peer-to-peer operation modes disappear. SNEP Use Cases Here are two examples of potential applications for NFC technology developed with the new SNEP specification: Simplified transfer of contact information – one person’s phone can be configured to automatically …

Advertisements