[[Hardware]] * What is gumstix? [#yf9b01ab] > Gumstix is a gum stick sized board computer (computer-on-module, COM), which is capable of running embedded Linux.~ There are different series of gumstix computer-on-modules, which are mainly categorized by its CPU. verdex pro series is~ equipped with PXA270 (Marvell), and Overo series comes with OMAP 3503/3530 (TI). Other series are called connex and~ basix, and PXA255 is installed. For the newest information and the details of products of gumstix, please visit~ the homepage of [[Gumstix, Inc.:http://www.gumstix.com/]]. the homepage of [[Gumstix, Inc:http://www.gumstix.com/]]. * gumstix verdex pro [#dede92a5] > This section introduces the verdex pro, which is used as on-board-computer for bc9. The picture below is verdex pro XL6P~ (two set of gumstix verdex pro are in the picture).~ ~ &ref(DSCF2071.JPG);~ ~ gumstix verdex pro has PXA270 (Marvell) and runs embedded Linux. ** Specifications [#dd569b83] > The table below shows the specifications of each model of verdex pro. | |verdex pro XL6P |verdex pro XM4-BT |verdex pro XM4 | | |CPU |PXA270 600MHz |PXA270 400MHz |PXA270 400MHz |Marvell(R) | |RAM |128MB |64MB |64MB | | |Flash |32MB |16MB |16MB | | |Bluetooth|CENTER:- |CENTER:○ |CENTER:- | | |microSD |CENTER:○ |CENTER:○ |CENTER:○ |Up to 2GB | Specifications of all models of verdex pro - Expansion Boards -- 60pin (HIROSE) ~ &ref(hirose60.JPG,,30%); --- JTAB --- LCD Interface (Up to 18bit, SVGA capable) --- 3 x RS232C compatible (TTL level) ports --- USB 2.0 OTG (Up to 12Mbps) --- AC97 --- SPI, I2C and so on -- 80pin (HIROSE)~ &ref(hirose80.JPG,,30%); --- Camera Interface: Quick Capture Interface --- CompactFlash --- CPU local bus -- 24 pin FPC ribbon cable --- USB 2.0 OTG (Max 12Mbps) --- SPI, I2C and so on -- Power Supply: 3.6~5.0V - Size: 80 x 20 x 5.3 mm ** How to create OpenEmbedded build system for gumstix [#u638fc4c] > This section explains how to create a build environment for gumstix. gumstix employs OpenEmbedded build system.~ OpenEmbedded is a software framework to create Linux distributions. This sections basically covers from how to obtain~ the source of the building environment to creating the cross toolchain. For farther details of the the open source on the~ gumstix, please visit [[the company's developer site:http://www.gumstix.org/]].~ *** Host environment [#x9826671] > The direction shown in this section is strictly for Ubuntu Linux 8.04. Newer versions of Ubuntu may not support the~ same version of gcc, which is included 8.04. The different version of gcc may cause some errors as follow the direction~ written here. If use the newer version of Ubuntu, please check up the Gumstix Users wiki.~ > For Ubuntu 9.04 - [[Build Environment on Ubuntu 9.04:http://www.gumstix.net/wiki/index.php?title=Build_Environment_Ubuntu_9.04]] ***Create a build environment for gumstix [#r1eea81f] > The build environment for gumstix is based upon OpenEnbedded build system. Since this build environment is originated~ from [[bitbake:http://wiki.openembedded.net/index.php/BitBake]], which is the build environment for OpenEmbedded, the build environment for gumstix is treated equally as~ the OpenEmbedded build system for gumstix. Hereafter the build environment for gumstix is notated as gumstix OE. Highly~ recommend to read the documentations in Setup and Programming section. The links are listed below.~ -[[gumstix developer site - Getting started:http://www.gumstix.net/Software/cat/Getting-started/111.html]] -[[gumstix developer site - Setting up a build environment:http://www.gumstix.net/Software/view/Getting-started/Setting-up-a-build-environment/111.html]] -[[gumstix developer site - Replacing the file system image:http://www.gumstix.net/Software/view/Getting-started/Replacing-the-file-system-image/111.html]] *** Checkout Source [#q8bdded5] > To create a new directly, check out the source code to the directly form gumstix's. $ mkdir ~/gumstix $ cd ~/gumstix $ svn co https://gumstix.svn.sourceforge.net/svnroot/gumstix/trunk gumstix-oe *** Set up the environmental variable [#la206536] > Set up the environment variable permanently. $ cat gumstix-oe/extras/profile >> ~/.bashrc Configure the environment variable temporarily, $ . ~/gumstix/gumstix-oe/extras/profile or there is another way to temporary set up the environment variable. $ source ~/gumstix/gumstix-oe/extras/profile ***Set up a cache for downloaded source code [#a35bab94] > gumstix OE download source code in the middle of build process. To prevent downloading source code every time, create~ a directly for saving source code. First, to manage the cache, create a new group, then add your login account to the group.~ For this example, the name of the group is '''oe'''. $ sudo groupadd oe $ sudo usermod -a -G oe {your_username} Next, create a new directory for the cache of source code, setup as the owner, and give the permission on the directory. $ sudo mkdir /usr/share/sources $ sudo chgrp oe /usr/share/sources $ sudo chmod 0775 /usr/share/sources $ sudo chmod ug+s /usr/share/sources **Build [#kdae44f3] > To buyild a basic file image, execute the command shown bwlow. $ bitbake gumstix-basic-image At the initial build, it downloads all source code, builds Cross Toolchain for ARM, creates '''system image''' file and~ '''kernel image''' file, which can be installed in FlashROM of the gumstix. $ ls -1 ~/gumstix/gumstix-oe/tmp/deploy/glibc/images/gumstix-custom-verdex/ Angstrom-gumstix-basic-image-glibc-ipk-2007.9-test-20090410-gumstix-custom-verdex.rootfs.jffs2 gumstix-basic-image-gumstix-custom-verdex.jffs2 modules-2.6.21-r1-gumstix-custom-verdex.tgz uImage-2.6.21-r1-gumstix-custom-verdex.bin Cross Toolchain for ARM is built and placed as described below. $ ls ~/gumstix/gumstix-oe/tmp/cross/bin/ arm-angstrom-linux-gnueabi-addr2line arm-angstrom-linux-gnueabi-ar arm-angstrom-linux-gnueabi-as arm-angstrom-linux-gnueabi-c++ arm-angstrom-linux-gnueabi-c++filt arm-angstrom-linux-gnueabi-cpp arm-angstrom-linux-gnueabi-depmod-2.6 arm-angstrom-linux-gnueabi-g++ arm-angstrom-linux-gnueabi-gcc arm-angstrom-linux-gnueabi-gcc-4.1.2 arm-angstrom-linux-gnueabi-gccbug arm-angstrom-linux-gnueabi-gcov arm-angstrom-linux-gnueabi-generate-modprobe.conf arm-angstrom-linux-gnueabi-gprof arm-angstrom-linux-gnueabi-insmod arm-angstrom-linux-gnueabi-insmod.static arm-angstrom-linux-gnueabi-ld arm-angstrom-linux-gnueabi-lsmod arm-angstrom-linux-gnueabi-modinfo arm-angstrom-linux-gnueabi-modprobe arm-angstrom-linux-gnueabi-nm arm-angstrom-linux-gnueabi-objcopy arm-angstrom-linux-gnueabi-objdump arm-angstrom-linux-gnueabi-ranlib arm-angstrom-linux-gnueabi-readelf arm-angstrom-linux-gnueabi-rmmod arm-angstrom-linux-gnueabi-size arm-angstrom-linux-gnueabi-strings arm-angstrom-linux-gnueabi-strip ** Software [#k1bcdbf0] > &color(red){Caution:This software is not for Android, but for ARM Linux, which is built on gumstix OE.}; ~ -[[ffmpeg>Software/tips/ffmpeg#r1ee3a31]]