mirror of
https://git.yoctoproject.org/meta-zephyr
synced 2026-01-29 21:58:41 +01:00
a16a5d431860fc6145317258dcbb4e9caab9f247
Patch already merged upstream, but after the 2.6 release we are based on. Taking the backport in here until we can figure out if that can go to the Zephyr 2.6 LTS branch. The storage partition itself is needed on the Arduino Nano e.g. for OpenThread or applications needed a storage space. Signed-off-by: Stefan Schmidt <stefan.schmidt@huawei.com> Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Building Zephyr Images via bitbake recipes
==========================================
More detailed and up-to-date information can be found here:
https://wiki.yoctoproject.org/wiki/TipsAndTricks/BuildingZephyrImages
Prerequisites:
==============
This layer depends on:
Yocto distro (master)
git://git.yoctoproject.org/poky
Python layer (meta-openembedded/meta-python)
git://git.openembedded.org/meta-openembedded
Modify local conf by adding:
DISTRO="zephyr"
Add "meta-openembedded/meta-oe" to BBLAYERS
Add "meta-openembedded/meta-python" to BBLAYERS
Add "meta-zephyr" to BBLAYERS
Building and Running Zephyr Samples
===================================
You can build Zephyr samples. There are several sample recipes.
For example, to build the Zephyr "philosophers" sample:
$ MACHINE=qemu-x86 bitbake zephyr-philosophers
You can then run the created "philosophers" image in qemu:
$ runqemu qemu-x86
The same sample, for ARM image:
$ MACHINE=qemu-cortex-m3 bitbake zephyr-philosophers
$ runqemu qemu-cortex-m3
The same sample, for Nios2 image:
$ MACHINE=qemu-nios2 bitbake zephyr-philosophers
$ runqemu qemu-nios2
Flashing
=================================
You can flash Zephyr samples to boards. Currently, the following MACHINEs
are supported:
* DFU:
- arduino-101-sss
- arduino-101
- arduino-101-ble
* pyocd:
- 96b-nitrogen
To flash the example you built with command e.g.
$ MACHINE=96b-nitrogen bitbake zephyr-philosophers
call similar command with explicit flash_usb command:
$ MACHINE=96b-nitrogen bitbake zephyr-philosophers -c flash_usb
dfu-util and/or pyocd need to be installed in your system. If you observe
permission errors or the flashing process seem to hang, follow those instructions:
https://github.com/pyocd/pyOCD/tree/master/udev
By default, pyocd tries to flash all the attached probes. This behaviour can be
customised by defining the PYOCD_FLASH_IDS variable as a space-separated list
of IDs. Once that is set, the tool will only try to program these IDs. You can
query for the IDs by running `pyocd list` on your host while having the probes
attached. Besides setting this variable through the build's configuration or
metadata, you can also inject its value from command line with something like:
$ PYOCD_FLASH_IDS='<ID1> <ID2> <ID3>' BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE PYOCD_FLASH_IDS" bitbake <TARGET> -c flash_usb
Building and Running Zephyr Tests
=================================
Presently only toolchains for ARM, x86, IAMCU and Nios2 are supported.
(For ARM we use CortexM3 toolchain)
To run Zephyr Test using Yocto Image Tests, ensure following in local.conf:
INHERIT += "testimage"
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=qemu-x86 bitbake zephyr-kernel-test-sleep
$ MACHINE=qemu-x86 bitbake zephyr-kernel-test-sleep -c testimage
You can also build and run all Zephyr existing tests (as listed in the file
zephyr-kernel-test.inc). For example:
$ MACHINE=qemu-x86 bitbake zephyr-kernel-test-all
$ MACHINE=qemu-x86 bitbake zephyr-kernel-test-all -c testimage
or
$ MACHINE=qemu-cortex-m3 bitbake zephyr-kernel-test-all
$ MACHINE=qemu-cortex-m3 bitbake zephyr-kernel-test-all -c testimage
or
$ MACHINE=qemu-nios2 bitbake zephyr-kernel-test-all
$ MACHINE=qemu-nios2 bitbake zephyr-kernel-test-all -c testimage
Contributing
============
Patches for meta-zephyr should be sent to the yocto@lists.yoctoproject.org
mailing list. See https://lists.yoctoproject.org/g/yocto for subscription
details and the list archive. Please add [meta-zephyr] to the subject so
the patches are identifable.
Git can be configured to send mails appropriately when using git send-email:
$ git config --local sendemail.to yocto@lists.yoctoproject.org
$ git config --local format.subjectPrefix meta-zephyr][PATCH
Description
Languages
PHP
46.1%
BitBake
30.8%
Python
19%
Shell
1.4%
Jinja
1.3%
Other
1.4%