TipsAndTricks/BuildingZephyrImages: Difference between revisions
Henry Bruce (talk | contribs) |
Henry Bruce (talk | contribs) No edit summary |
||
Line 9: | Line 9: | ||
== Boards and Machines == | == Boards and Machines == | ||
Zephyr BOARDS typically map to bitbake MACHINES, but underscores become dashes. e.g. BOARD=arduino_101_sss maps to MACHINE = "arduino-101-sss" | Zephyr BOARDS typically map to bitbake MACHINES, but underscores become dashes. e.g. BOARD=arduino_101_sss maps to MACHINE = "arduino-101-sss" | ||
== Building Qemu | |||
== Building Zephyr samples == | |||
=== Qemu === | |||
Here are the steps. We'll use the morty branch for stability. | Here are the steps. We'll use the morty branch for stability. | ||
<pre> | <pre> | ||
Line 27: | Line 29: | ||
:[[File:Zehpyr-philosophers-screen-shot.png]] | :[[File:Zehpyr-philosophers-screen-shot.png]] | ||
== | === Arduino 101 === | ||
Let's build the same sample for Arduino 101 x86 core. Set machine as follows | Let's build the same sample for Arduino 101 x86 core. Set machine as follows | ||
MACHINE = "arduino-101" | MACHINE = "arduino-101" |
Revision as of 23:02, 2 March 2017
Introduction
Yocto offers an alternative way of building Zephyr Project images by using the meta-zephyr layer.
Configuration
You'll need to install the following additional package python3-pexpect. If you're going to using the Arduino 101 board, you'll also need dfu-util.
meta-zephyr layer can be found at git://git.yoctoproject.org/meta-zephyr. The layer supports morty and master branches and is dependent on the equivalent poky branch.
Boards and Machines
Zephyr BOARDS typically map to bitbake MACHINES, but underscores become dashes. e.g. BOARD=arduino_101_sss maps to MACHINE = "arduino-101-sss"
Building Zephyr samples
Qemu
Here are the steps. We'll use the morty branch for stability.
$ git clone -b morty git://git.yoctoproject.org/poky $ git clone -b morty git://git.yoctoproject.org/meta-zephyr $ source poky/oe-init-build-env $ bitbake-layers add-layer ../meta-zephyr
In local.conf (or set on command line)
DISTRO = "zephyr" MACHINE = "qemu-x86"
Now build a Qemu image of the canonical Zephyr sample
bitbake zephyr-philosophers
Running zephyr qemu image
runqemu qemu-x86
And will produce output like this
Arduino 101
Let's build the same sample for Arduino 101 x86 core. Set machine as follows
MACHINE = "arduino-101"
Then run
bitbake zephyr-philosophers
Note that there will be significant rebuild, as although both qemu-x86 and arduino-101 are 386 class devices, arduino-101 uses the subtly different IAMCU toolchain.
After build complete, image will in tmp/deploy/images/arduino-101/zephyr-philosophers.bin. Flash as follows using dfu
dfu-util -a x86_app -D tmp/deploy/images/arduino-101/zephyr-philosophers.bin
Sample text output will appear on serial port.