Juro Bystricky 7c3f7c10de meta-zephyr: Select BOARD via MACHINE
The meaning of BOARD in Zephyr environment is equivalent to MACHINE
in Yocto environment.
Specifying MACHINE will implicitly determine cross-compiler toolchain as well.

There is 1:1 correspondence between Zephyr BOARD and Yocto MACHINE so
a lookup table BOARD:MACHINE may be needed in the future, presently all
that is required is to convert "-" to "_". (Dash to undersocre)

This means that in order to support a new Zephyr board, we simply need to
create a corresponding MACHINE.conf file.

[YOCTO#10894]

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-10 16:36:28 -08:00
2017-01-10 16:24:04 -08:00
2017-01-04 11:10:46 -08:00
2017-01-10 16:24:04 -08:00

Building Zephyr Images via bitbake recipes
==========================================

Prerequisites:

Modify local conf by adding:
    DISTRO="zephyr"

Add "meta-zephyr" to BBLAYERS


Building and Running Zephyr tests
=================================
Presently only toolchains for ARM and x86 are supported.
(For ARM we use CortexM3 toolchain)

Default Zephyr BOARD is selected as follows:

BOARD_arm ?= "qemu_cortex_m3"
BOARD_x86 ?= "qemu_x86"

You can build and test an individual existing Zephyr test.
This is done by appending the actual test name to the "zephyr-kernel-test",
for example:

    $ MACHINE=qemux86 bitbake zephyr-kernel-test-test_sleep
    $ MACHINE=qemux86 bitbake zephyr-kernel-test-test_sleep -ctestimage

You can also build and run all Zephyr existing tests (as slisted in the file
zephyr-kernel-test.inc). For example:
    $ MACHINE=qemux86 bitbake zephyr-kernel-test-all
    $ MACHINE=qemux86 bitbake zephyr-kernel-test-all -ctestimage
or 
    $ MACHINE=qemu-cortex-m3 bitbake zephyr-kernel-test-all
    $ MACHINE=qemu-cortex-m3 bitbake zephyr-kernel-test-all -ctestimage
    


Building and Running Zephyr Samples
===================================    
You can also build Zephyr samples. There is a sample recipe that builds
Zephyr "philosophers" sample:
    
    $ MACHINE=qemux86 bitbake zephyr-philosophers
    
You can run the created "philosophers" image in qemu (at this point
the various paths have to be entered manually):

    $ ./tmp/sysroots/x86_64-linux/usr/bin/qemu-system-i386 \
           -kernel ./tmp/deploy/images/qemux86/philosophers.elf \
           -nographic -machine type=pc-0.14 -display none -clock dynticks \
           -no-acpi -balloon none

The same sample, for ARM image:
    $ MACHINE=qemu-cortex-m3 bitbake zephyr-philosophers
    $ ./tmp/sysroots/x86_64-linux/usr/bin/qemu-system-arm  \
           -kernel ./tmp/deploy/images/qemu-cortex-m3/philosophers.elf \
           -cpu cortex-m3 -machine lm3s6965evb -nographic -vga none

Description
No description provided
Readme 665 KiB
Languages
BitBake 47.3%
PHP 35%
Python 14.7%
Shell 1%
Jinja 1%
Other 1%