Category:How to - Build helloworld

From Gumstix User Wiki
Revision as of 04:25, 31 December 2009 by Sellis (Talk | contribs) (Created page with '==Overview== What follows is a description for building C programs on a workstation using the cross-build tools of OpenEmbedded directly but not using the bitbake/recipe framewo…')

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Overview

What follows is a description for building C programs on a workstation using the cross-build tools of OpenEmbedded directly but not using the bitbake/recipe framework.


Setup

Follow the instructions for setting up a build environment to get the cross-build tools correctly installed.


Makefile

Create a makefile for your project pointing to the cross-build toolchain.

Here is a simple one for helloworld.

# Makefile for building with the OE cross tools 
#
# OVEROTOP is normally ${HOME}/overo-oe 
#
# OETMP is the same as  TMPDIR as defined in ${OVEROTOP}/build/conf/site.conf
#

OETMP = ${OVEROTOP}/tmp

TOOLDIR = ${OETMP}/cross/armv7a/bin

STAGEDIR = ${OETMP}/staging/armv7a-angstrom-linux-gnueabi/usr

CC = ${TOOLDIR}/arm-angstrom-linux-gnueabi-gcc

CFLAGS = -Wall  

LIBDIR = ${STAGEDIR}/lib

INCDIR = ${STAGEDIR}/include      

LIBS = -L ${LIBDIR}

TARGET = helloworld

OBJS = helloworld.o 


${TARGET} : $(OBJS)
        ${CC} ${CFLAGS} ${OBJS} ${LIBS} -o ${TARGET}

helloworld.o: helloworld.c 
        ${CC} ${CFLAGS} -I ${INCDIR} -c helloworld.c  

clean:
        rm -f ${TARGET} ${OBJS} *~


Distribute

Then copy the resulting target executable to the overo.

1. If you are using a microSD card, copy your executable to the rootfs before you unmount it in the final step.

2. If you have a network connection to the overo, use scp.

3. If you have a kermit console session, use the kermit SEND command.

This category currently contains no pages or media.