Hello World 'C' Application¶
Yocto references¶
- Yocto Project Application Developer's Guide 2.1
- Full Yocto OpenEmbedded environment is required for this tutorial. See detailed instructions here: Build Yocto from source code
Sample C "Hello, world!" program¶
Create a file called myhello.c with the following content:
Building out of Yocto¶
Toolchain installation for out of Yocto builds¶
To install the toolchain follow Yocto Toolchain installation guide.
Build¶
Source the environment setup script (see the previous "Toolchain installation" section)
Compile:
$CC myhello.c -o myhello
Now you should have an app called myhello, that can be copied (using scp, for example) and run on your target board.
Building using Yocto¶
Sample bitbake recipe of an "Hello, world!" application¶
Create a file called myhello.bb with the following content:
DESCRIPTION = "Simple helloworld application"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRC_URI = "file://myhello.c"
S = "${WORKDIR}"
do_compile() {
${CC} myhello.c ${LDFLAGS} -o myhello
}
do_install() {
install -d ${D}${bindir}
install -m 0755 myhello ${D}${bindir}
}
Create the following directory tree under your Yocto directory, and place in it the two files described above:
sources/meta-variscite-bsp-imx/recipes-examples/
└── myhello
├── files
│ └── myhello.c
└── myhello.bb
2 directories, 2 files
Build¶
Run the following in your Yocto build directory:
To find the location of the output package you can run the following in your Yocto build directory:
To add the output of this recipe to your output images, add the following to
your conf/local.conf file in your Yocto build directory:
This will put the myhello app in your rootfs.