Naveen Saini dfca1fdbe7 zephyr-kernel/2.7: update to release tag Zephyr v2.7.2
6dd320f791 release: update v2.7.2 release notes
ecac165d36 logging: shell: fix shell stats null pointer dereference
132d90d1bc tests/bluetooth/tester: Refactor Read UUID callback
58356313ac coredump: adjust mem_region find in gdbstub
99cfd3e4d7 Bluetooth: Controller: Fix per adv scheduling issue
780588bd33 edac: ibecc: Add support for EHL SKU13, SKU14, SKU15
38de9b0156 release: Zephyr 2.7.2
3a21dff459 doc: release: Update release notes with CVE
b98ec9e0db x86: Initialise FPU regs during thread creation for eager FPU sharing
8f2d164674 release: Bump release to 2.7.2-rc1
6b61b219ea doc: Add link to J-Link virtual MSD disable for SMP
8822f85ef9 board: arm64: fvp_baser_aemv8r_smp: Increase CONFIG_MAX_THREAD_BYTES
0bc81c82ab board: arm64: fvp_baser_aemv8r: Update the version requirement
32c49d04b0 cmake: armfvp: Add FVP min version check
02c32316fc arm64: Fix booting issue with FVP V8R >= 11.16.16
9bf571808d net/tcp: Use highest priority for TCP internal work queue
4eec9d95ef test/net: Make sure the tls server socket is accepting before connect
32a593396d tests/net: Put the context down and not only the tcp part in tcp2 test
066dcd6119 tests/net: Switch k_msleep to k_yield for tcp packet scheduling
ffcc1d3c92 tests/net: TLS test requires more RX PKT and buffers
2d49a4c8b9 net/context: Close TCP connection properly
9d229e0bb5 net/tcp: Stop TCP state machine breaking when sending locally
74c00d0b4e boards: bl654_usb: Fix non-mcuboot builds not limiting size
2a09d5e53f drivers: virt_ivshmem: Allow multiple instances of ivShMem devices.
ad4e9934de samples: subsys: mgmt: smp_svr: Fix dupicate fs mgmt registration
f133449cf5 boards: arm: stm32l562e_dk and nucleo_l552ze_q add openocd support
33318bfb45 doc: css: update code documentation directives style
3497031e3e doc: update requirements
57a1be33ff boards: nucleo_wb55rg: Add stm32cubeprogrammer runner
652eb37b4d scripts/pylib/twister: Add sn option to stm32cubeprogrgammer runner
9e4edaec21 tests/bluetooth/tester: Add support for auto connection establishment
9b18f4a730 net: gptp: Fix type mismatch calculation error in gptp_mi
3f958347c2 test: pm: device: Fix build options
041653662b pm: Remove unused fields in pm_device
6da71d7c2f ARC: nSIM: fix missing core numbers for mdb-hw runner args
52a68bec73 net: tcp: Verify accept callback before use
6324e997e1 net: sockets: Fix userspace accept() verification
e9eed0015f subsys/mgmt/hawkbit: update http response handling
a3e7047ad5 wifi: esp_at: claim net_context in rx
50a24d6782 net: sockets: Retry net_context_sendmsg if EAGAIN is reported
9c3be1212f tests/bluetooth/tester: Enable security validation for GATT subsciption
e2c96814ce Bluetooth: Host: Validate security on GATT subscription
3c64ed4e77 drivers: spi_nrfx_spi: Fix compilation error
e78a6ab2cd spi: nrfx_spi*: only run uninit if configured
6bbf1e7e7a Bluetooth: controller: Add missing NULL assign to df_cfg in ll_adv_set
063dbecb23 arch/x86: Fix MSI MAP destination
a807fff085 arch/x86: Add a CPUID function to get initial APIC ID
b4b474cb4b arch/x86: Have a dedicated place for CPUID related functions
175ae83c78 tests/bluetooth/tester: Allocate L2CAP channel only when needed
22ab715ad8 test/bluetooth/tester: Don't clear auth requirements on L2CAP server
.....

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
2022-06-07 09:59:48 +08:00

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-core" and "meta-zephyr-bsp" 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
        

Generating OE Machines based on Zephyr board definitions
========================================================
We currently have a recipe called generate-zephry-machines which will go through
and attempt to create an OE machine conf file for every board in Zephyr.

This is run via:

MACHINE=qemu-x86 bitbake generate-zephyr-machines

The output is then put in the normal deploy dir. This recipe is really only
useful for maintainers. There is currently no way to use the Zephyr board 
definition in a single step build. So if you wish to regenerate those machines,
you will need to run the above, copy the conf files from the deploy dir to the
machine conf directory and then run your build. This shouldn't need to happen 
often.

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
No description provided
Readme 604 KiB
Languages
PHP 46.1%
BitBake 30.8%
Python 19%
Shell 1.4%
Jinja 1.3%
Other 1.4%