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

Front page   Edit Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   RSS of recent changes