meta-zephyr-core/bsp: Restructure into sublayers

This commit restructures meta-zephyr into meta-zephyr-core and
meta-zephyr-bsp. It moves machine definitions into meta-zephyr-bsp
in preparation for adding the autogenerated zephyr machines.

Signed-off-by: Eilís Ní Fhlannagáin <elizabeth.flanagan@huawei.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
This commit is contained in:
Eilís Ní Fhlannagáin
2022-01-19 15:29:52 +00:00
committed by Naveen Saini
parent 34576b0fd2
commit dde88ba40b
84 changed files with 188 additions and 7 deletions

View File

@@ -19,7 +19,7 @@ Modify local conf by adding:
Add "meta-openembedded/meta-oe" to BBLAYERS
Add "meta-openembedded/meta-python" to BBLAYERS
Add "meta-zephyr" to BBLAYERS
Add "meta-zephyr-core" and "meta-zephyr-bsp" to BBLAYERS
Building and Running Zephyr Samples
===================================

View File

@@ -0,0 +1,20 @@
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "zephyrbsp"
BBFILE_PATTERN_zephyrbsp = "^${LAYERDIR}/"
BBFILE_PRIORITY_zephyrbsp = "6"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_zephyrbsp = "1"
LAYERDEPENDS_zephyrbsp = "zephyrcore core meta-python"
LAYERSERIES_COMPAT_zephyrbsp = "dunfell gatesgarth hardknott honister"
X86_TUNE_DIR = "${@bb.utils.contains('LAYERSERIES_CORENAMES', 'honister', 'include/x86', 'include', d)}"

119
meta-zephyr-core/README.txt Normal file
View File

@@ -0,0 +1,119 @@
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

View File

@@ -5,16 +5,16 @@ BBPATH .= ":${LAYERDIR}"
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "zephyr"
BBFILE_PATTERN_zephyr = "^${LAYERDIR}/"
BBFILE_PRIORITY_zephyr = "6"
BBFILE_COLLECTIONS += "zephyrcore"
BBFILE_PATTERN_zephyrcore = "^${LAYERDIR}/"
BBFILE_PRIORITY_zephyrcore = "6"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_zephyr = "1"
LAYERVERSION_zephyrcore = "1"
LAYERDEPENDS_zephyr = "core meta-python"
LAYERDEPENDS_zephyrcore = "core meta-python"
LAYERSERIES_COMPAT_zephyr = "dunfell gatesgarth hardknott honister"
LAYERSERIES_COMPAT_zephyrcore = "dunfell gatesgarth hardknott honister"
X86_TUNE_DIR = "${@bb.utils.contains('LAYERSERIES_CORENAMES', 'honister', 'include/x86', 'include', d)}"

View File

@@ -0,0 +1,16 @@
# SPDX-FileCopyrightText: Huawei Inc.
# SPDX-License-Identifier: Apache-2.0
SUMMARY = "Python colorama"
HOMEPAGE = "https://pypi.org/project/colorama"
DESCRIPTION = "Makes ANSI escape character sequences (for producing colored \
terminal text and cursor positioning) work under MS Windows."
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b4936429a56a652b84c5c01280dcaa26"
inherit pypi setuptools3
PYPI_PACKAGE = "colorama"
SRC_URI[md5sum] = "57b22f2597f63df051b69906fbf310cc"
SRC_URI[sha256sum] = "5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,12 @@
# SPDX-FileCopyrightText: Huawei Inc.
# SPDX-License-Identifier: Apache-2.0
SUMMARY = "Python library for Intel HEX files manipulations"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4eba844696655c3eae07aca8e3a94772"
SRC_URI[sha256sum] = "892b7361a719f4945237da8ccf754e9513db32f5628852785aea108dcd250093"
inherit pypi setuptools3
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,14 @@
# SPDX-FileCopyrightText: Huawei Inc.
# SPDX-License-Identifier: Apache-2.0
SUMMARY = "Python lpc_checksum"
HOMEPAGE = "https://pypi.org/project/lpc_checksum"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=85c86965b0249c221935f585c0313d60"
inherit pypi setuptools3
PYPI_PACKAGE = "lpc_checksum"
SRC_URI[md5sum] = "eef81888414a111e1fd5992b8614b6cb"
SRC_URI[sha256sum] = "1f2fb198483cc718141f1aa0ed4717fd188e29874d7db0409d1ed04358b64185"
BBCLASSEXTEND = "native nativesdk"