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…')
Contents
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.