Cross compiling Berkeley DB for ARM and MIPS

Following my blog entry about Databases for Linux Embedded Systems, here are the instructions to cross-compile Oracle Berkeley DB. First download the source code of the latest version of Berkeley DB (version 11gR2 – 11.2.5.1.25). You’ll need to register on Oracle website first on the download page http://www.oracle.com/technetwork/database/berkeleydb/downloads/index.html to download http://download.oracle.com/otn/berkeley-db/db-5.1.25.tar.gz (with AES encryption) or  http://download.oracle.com/otn/berkeley-db/db-5.1.25.NC.tar.gz (if you don’t need encryption). Extract the source code: tar xzvf ../Downloads/db-5.1.25.tar.gz Configure and build the source code. I’ll use mipsel-linux-gcc, but any other cross-compiler could be used. cd db-5.1.25/build_unix ../dist/configure –host=mipsel-linux CC=mipsel-linux-gcc RANLIB=mipsel-linux-ranlib STRIP=mipsel-linux-strip AR=mipsel-linux-ar –prefix=/home/jaufranc/edev/lib/db-11g make make install The full berkeley DB package is 79MB: jaufranc@CNX-TOWER:~/edev/lib/db-11g$ du –max-depth=1 -h 6.6M    ./lib 308K    ./bin 72M    ./docs 176K    ./include 79M    . However, you won’t need the include and docs directory in your embedded target. So you do not need to copy those. You may or may need the utilities in the bin file. The […]

AMD G-Series SDK and Development Boards

Earlier this year, AMD announced its new Embedded processors G-Series aimed at set-top boxes, smart tv, digital signage, point of sales, media servers and more in order to compete with Intel Atom solutions as well as ARM based processors. Please refer to the link above for an overview and details about the 5 processors of the AMD G-series: T56N – Dual core @ 1.6GHz with Radeon HD 6310 GPU T48N – Dual core @ 1.4 GHz with Radeon HD 6310 GPU T40N – Dual core @ 1.0 GHz with Radeon HD 6250 GPU T52R – Single core @ 1.5 GHz with Radeon HD 6310 GPU Today, I’ll discuss about the development boards and software development kits available for this platform. AMD G-Series Development Boards and Reference Designs AMD Provide two reference designs and one development board: AMD Embedded G-Series Platform Mini-ITX Reference Design. No details are publicly available as this […]

Netgem’s IPTV 2.0 Home Cloud SDK

Netgem announced the release of its “Home Cloud” SDK based on IPTV 2.0 open architecture. Here’s an excerpt from the press release: Paris, France  March 15 , 2011  Netgem, an IPTV technology leader, has announced it has made its Home Cloud software development kit (SDK) available to application developers, Internet service providers and operator partners. Netgem is further developing its partner ecosystem to enable third parties to take advantage of its IPTV 2.0 open architecture. This application framework is designed for the development of  live and on-demand TV and multimedia applications. Using the open and fully documented APIs telecom operators and their partners can develop their local ecosystem of applications and services to differentiate their offering from competitors. Since Netgem is a pure technology vendor it does not interfere with the economics of the relationship between operators and developers, who are able to share 100% of the revenue. The full […]

Qemu Linaro Versatile Express Image on Ubuntu 10.10

I’ve installed qemu-linaro and run an ARM image based on the instructions on https://wiki.linaro.org/PeterMaydell/QemuVersatileExpress. I used Ubuntu 10.10 desktop edition. First, install the Linaro images tools: sudo apt-get install linaro-image-tools Download the Linaro release and versatile hardware pack: wget http://releases.linaro.org/platform/linaro-n/nano/alpha-3/linaro-natty-nano-tar-20110302-0.tar.gz wget http://releases.linaro.org/platform/linaro-n/hwpacks/alpha-3/hwpack_linaro-vexpress_20110302-0_armel_supported.tar.gz You can download another hwpack for omap3, i.mx51, pandaboard, beagleboard, ST U8500, etc.. if needed at http://releases.linaro.org/platform/linaro-n/hwpacks/alpha-3/ Download the source, extract it, then configure, build and install qemu linaro: wget http://launchpad.net/qemu-linaro/trunk/2011.03-1/+download/qemu-linaro-0.14.50-2011.03-1.tar.gz tar xzvf qemu-linaro-0.14.50-2011.03-1.tar.gz cd qemu-linaro-0.14.50-2011.03-1 ./configure –prefix=/usr make sudo make install Make sure the prefix is set to /usr in order to overwrite any previous version of Qemu (It installed qemu linaro in /usr/local/ instead in my case). Failure to do so may generate the following error during linaro-media-create: qemu: fatal: cp15 insn ee1d6f70 Instead of compiling qemu, you can install qemu-linaro with apt-get (this will avoid possible version issues between linaro-media-create and qemu): sudo add-apt-repository ppa:linaro-maintainers/tools […]

Cross compiling SQLite for ARM and MIPS

Following my blog entry about Databases for Linux Embedded Systems, here are the instructions to cross-compile SQlite. First download the latest version of SQLite amalgamation with autoconf script (version 3.75): wget http://www.sqlite.org/sqlite-autoconf-3070500.tar.gz Extract the source code: tar xzvf sqlite-autoconf-3070500.tar.gz Configure and build the source code. I’ll use mipsel-linux-gcc, but any other cross-compiler could be used. cd sqlite-autoconf-3070500 ./configure –host=mipsel-linux –target=mipsel-linux –prefix=/home/jaufranc/edev/sqlite-mips make make install At this point the library is correctly configured and installed, so you’d just need to copy the relevant files to your target board (skip include and share directories and  libsqlite3.a) . Let’s check the size of the required files: ls -l ../sqlite-mips/bin/ -rwxr-xr-x 1 jaufranc jaufranc 125513 2011-03-14 14:21 sqlite ls -l ../sqlite-mips/lib/libsqlite3.so.0.8.6 -rwxr-xr-x 1 jaufranc jaufranc 2087584 2011-03-14 14:21 ../sqlite-mips/lib/libsqlite3.so.0.8.6 sqlite binary is 122.57KB and the dynamic library 2038.65KB. Let’s see if we can optimize the binary size with compilation flags and by disabling some […]

Video Wall with Beagleboards and ffmpeg

There was a 6-Screen Video Wall at Embedded World 2011, powered by 6 Beagleboard xM (based on Texas Instruments OMAP 3 running @ 1Ghz – Cost: 149 USD / piece), connected vi Ethernet. In the video they explain that the system is running Linux Ångström and the video is played and synchronized over Ethernet with ffmpeg. After doing some research on how to do this, they are probably using omapfbplay with netsync enabled which you can compile as follows: NETSYNC=y OMAPFB=y make However, if you are using Linux Ångström, omapfbplay with netsync is enabled by default. This can also be done with the first version of Beagleboard (without Ethernet) via USB. They can also control each display independently and synchronize the mouse and keyboard thanks to Synergy. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting […]

Toshiba Resistive Multi-touch Screen

Toshiba developed a proprietary algorithm for multi-touch resistive touchscreen and they exhibited a demo at Embedded World 2011. The hardware is based around Toshiba TMPA900 (ARM926EJ-S core running at 200 Mhz) and runs embedded Linux. This type of system is aimed at home appliances (washing machine, refrigerator…), industrial and medical applications and can be used with a pen, stylus or gloved hand. For example, a doctor wearing gloves would be able to use multi-touch gestures on such screens whereas it would not be possible on capacitive touchscreens or standard resistive touchscreens. It was not specified but I suppose that technology would only support 2 points since they only showed two fingers gesture in the demo. This should not be a problem for the type of application. An another advantage of this solutions is that it brings multi-touch technology to cost sensitive industrial applications. The technology is still under development and […]

Tablet Reference Design based on Samsung Exymos 4210

HardKernel, a Korean company, announced the ODROID-A, a tablet reference design based on Samsung Exymos 4210 (codename Orion), dual-core ARM Cortex-A9, Mali-400 GPU, 1GB Low Power DDR2, 10.1 inch 1366 x 768 TFT with capacitive multi-touch, Dual Camera, HSPA evolution, 9-axis sensor and running Android 2.3 Gingerbread. They will update it to Android 3.0 later on. This development kit will be available at the end of March 2011 for 749 USD (800,000 Won) for developers only. This should offer similar performance as the Motorola Xoom (except 3D maybe), and cost less which is a bit surprising for a development platform. They have an online community to support development on this hardware and they’ll provide the full source code and schematics free of charge. ODROID-A Specifications: Processor Samsung Exynos4210 Cortex-A9 Dualcore 1Ghz with 1MB L2 cache Memory 1024MB LP DDR2 800Mega data rate 3D Accelerator Mali-400 MP Core Micro-Sd slot 8GB […]

EmbeddedTS embedded systems design