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.