diff options
Diffstat (limited to 'meta-zephyr-core/README.txt')
-rw-r--r-- | meta-zephyr-core/README.txt | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/meta-zephyr-core/README.txt b/meta-zephyr-core/README.txt new file mode 100644 index 0000000..5a0ccc7 --- /dev/null +++ b/meta-zephyr-core/README.txt @@ -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 |