Age | Commit message (Collapse) | Author |
|
As OE-core explicitly have added depends for qemu-helper addto_recipe_sysroot task, which
breaks zephyr-qemuboot implementation of adding build dependencies
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=282d596b8cc81d650b6d20c6131fdc236bad2c20
ERROR: Error for meta-zephyr/recipes-kernel/zephyr-kernel/zephyr-helloworld.bb:
do_bootconf_write[depends], dependency qemu-helper-native:do_addto_recipe_sysroot:do_addto_recipe_sysroot in
' qemu-helper-native:do_addto_recipe_sysroot:do_addto_recipe_sysroot qemu-helper-native:do_addto_recipe_sysroot:do_populate_sysroot' does not contain exactly one ':' character.
Task 'depends' should be specified in the form 'packagename:task'
ERROR: Command execution failed: Exited with 1
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
Use the convert-overrides.py to convert to new syntax and fixed
some additional changes manually.
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
Currently only dfu and pyocd flashing are supported. Some boards
such as Arduino Nano 33 BLE can be flashed via bossac which is
released by Arduino repo. Find the installed Arudino version of
bossac and flash using that tool.
Signed-off-by: Nagesh Shamnur <nagesh.shamnur@huawei.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
runqemu only really needs the sysroot for qemu-helper-native. Pulling
other qemu dependency would get into a racing issue with rm_work. That
can also be fixed by tweaking the do_addto_recipe_sysroot order in
oe-core for qemu-system-native but that is just not needed for this
specific dependency requirement.
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
The nios2_machdata_setfunc was overwriting the elf key in matchdata for
arc done in arc_machdata_setfunc which in turn was overwriting the one
from oe-core. This is making qemu-x86 builds (as an example)
unbuildable:
Exception: KeyError: 'i586'
This patch makes sure that the changes complement the machdata
dictionary as opposed to overwriting the entire "elf" key.
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
The runqemu script depends on having the native sysroot populated for
the qemu recipes. Add the required dependency to the mix.
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
By default, pyocd uses generic target type called "cortex_m" which
should be able to connect and debug but not flash the memory.
Normally pyocd would warn us of using default target instead
of proper one but this message wasn't displayed.
Despite not providing target type, flashing process succeeded
but results were undefined. On Nitrogen, sometimes it worked
(especially for small images) and sometimes the programmed
device crashed miserably.
Fix flashing operation by providing pyocd target type acquired from
the conditional PYOCD_TARGET variable declared for each machine
(chip family).
Signed-off-by: Zbigniew Bodek <zbigniew.bodek@huawei.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
Implement logic to configure what probes to program based on the
PYOCD_FLASH_IDS variable:
1. by default program all attached probes
2. change default behaviour by listing the probe IDs to flash
CONNECT_TIMEOUT_SECONDS was also renamed to maintain consistency with
the PYOCD_FLASH_IDS variable.
One can query the IDs using `pyocd list`.
The value of PYOCD_FLASH_IDS can also be injected into the datastore
using BB_ENV_EXTRAWHITE.
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
Currently the code flashes the firmware in a blocking way. If the host
is not configured accordingly (for example in terms of permissions),
this would hang undefinitely. This can easily confuse users and in order
to avoid this, the patch changes to unblocking session creation and
opening call, wrapping the tries in some relevant logging. The timeout
can be defined with `CONNECT_TIMEOUT_SECONDS` which defaults to 30
seconds.
Also, by default, when multiple probes are attached, the session call
will return a selection choice. This would obviously break under bitbake
with an exception:
Exception: EOFError: EOF when reading a line
Avoid this by selecting the first found probe.
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
* Restructure recipe to use include files as opposed to a bbclass. The
latter is unnatural when defining versions, sources etc.
* Make the zephyr-kernel-src follow the version as defined by
PREFERRED_VERSION_zephyr-kernel.
* Make the setup of the zephyr-kernel-src.inc extensible for multiple
versions.
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
Tinycrypt is a library used in some sample applications,
i.e. in zephyr-peripheral-esp. Add it to kernel bbclass,
so it can be referenced in applications recipes that
use it.
Signed-off-by: Wojciech Zmuda <wojciech.zmuda@huawei.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
OpenAMP is a framework providing software components enabling
development of software applications for AMP systems.
It is downloaded by default by west from two Zephyr Project
repositories based on original OpenAMP repositories:
- open-amp - IPC layer that implements rpmsg communication
between cores,
- libmetal - HAL abstraction layer used by open-amp.
Clone the repositories so they can be used for building images
for boards with multicore chips.
Signed-off-by: Wojciech Zmuda <wojciech.zmuda@huawei.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
HAL for STM32 chipsets is one of Zephyr subprojects. It is downloaded
by default by west. Clone the HAL repository so it can be used for
building images for boards with STM32 chips.
Signed-off-by: Wojciech Zmuda <wojciech.zmuda@huawei.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
Machines not inheriting zephyr-qemuboot did not have
IMGDEPLOYDIR variable set, which is required for building
zephyr-kernel-test-all. The build was fine for qemu-xxx machines,
but for physical boards it failed somewhere inside python code
when .join() got an empty argument incoming from IMGDEPLOYDIR.
Move IMGDEPLOYDIR to zephyr class, so it's defined for
qemu and non-qemu machines.
Signed-off-by: Wojciech Zmuda <wojciech.zmuda@huawei.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
Implement do_flash_usb for boards supported by pyocd:
MACHINE=xxx bitbake yyy -c flash_usb
Pyocd support abundance of boards, however for now this
meta-layer supports only one board that can be flashed
using pyocd, that is 96Boards Nitrogen.
Describe the feature in README.
Signed-off-by: Wojciech Zmuda <wojciech.zmuda@huawei.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
HAL for Nordic chipsets is one of Zephyr subprojects. It is downloaded
by default by west. Clone the HAL repository so it can be used for
building images for boards with Nordic chips.
Signed-off-by: Wojciech Zmuda <wojciech.zmuda@huawei.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
Update Zephyr to the latest version. Tested via zephyr-philosophers on
qemu-cortex-m3.
Signed-off-by: Jon Mason <jon.mason@arm.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
Currently, there is no ability to set the board used by Zephyr. This
limits the ability to set the board to something other than the machine
name. By setting up an intermediate variable, ZEPHYR_BOARD, this can be
set by those that know better (with the default to use the machine name
as before).
Signed-off-by: Jon Mason <jon.mason@arm.com>
|
|
Signed-off-by: Mah, Yock Gen <yock.gen.mah@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
Release notes:
https://github.com/zephyrproject-rtos/zephyr/releases/tag/zephyr-v2.2.0
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
Updated the test recipes to build against Zephyr v2.0
Code clean up
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
Release notes:
https://github.com/zephyrproject-rtos/zephyr/releases/tag/zephyr-v2.0.0
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
|
Move all SITEINFO_EXTRA_DATAFUNCS and PACKAGEQA_EXTRA_MACHDEFFUNCS
from various tune files (tune-arc.inc, tune-iamcu.inc, tune-nios2.inc)
into a a new siteinfo-zephyr.bbclass file. Although the original code did
not result in any obvious errors, in fact it did cause some multiconfig
problems.
[YOCTO#11166]
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
|
|
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
|
|
Build kernel tests suite and kernel samples based on
PREFERRED_VERSION_zephyr-kernel
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
|
|
Explicitly state we don't have rootfs, otherwise default
rootfs QEMU settings may be forced by runqemu.
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
|
|
Implement a class allowing flashing Arduino-101 using dfu-util.
User needs to have dfu-utils installed on the host machine.
All three cores supported (x86, ARM, ARC).
Sample usage:
$ MACHINE=arduino-101 bitbake xxx
$ MACHINE=arduino-101 bitbake xxx -c flash_usb
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
|
|
Setting QB_NET = "none" bypasses network configuration in runqemu.
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
|
|
Only keep code/variables related to individual test/package names.
Moved ZEPHYR_TEST_SRCDIR into zephyr-kernel.inc as it is
zephyr kernel version specific.
Moved ZEPHYR_MAKE_OUTPUT into zephyr-kernel-common.inc as it is
as it is not zephyr test specific but applicable to all
zephyr images.
Generate additional files expected by testimage.bbclass:
testdata.json and a dummy manifest file
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
|
|
A bbclass used to generate qemuboot.conf and various symbolic
links needed to properly run "runqemu".
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
|
|
A bbclass used to generate qemuboot.conf and various symbolic
links needed to properly run "runqemu".
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
|
|
Drop the prefix "zephyr-kernel-test-".
Additional minor cleanup.
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
|
|
New class to support commands such as:
$ MACHINE=xxx bitbake yyy -c menuconfig
$ MACHINE=xxx bitbake yyy -c devshell
Kernel options are typically configured via menuconfig.
The file "prj.conf" must be edited manually, hence the need for devshell.
Once in devshell, user can use their favorite editor to edit the file.
For proper operation, these two variables need to be set in
recipes:
ZEPHYR_SRC_DIR : path to the source, typically place with prj.conf
ZEPHYR_BASE: Zephyr kernel tree location
[YOCTO#10657]
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
|
|
Do not prepend 'test' to test programs.
(Don't assume all test programs names begin with 'test_')
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
|
|
Numerous changes to allow building and running various
Zephyr tests using Zephyr release 1.6 and Yocto master distro
(commit 3676601335b4673e3572d5a9987a351f0bb44bcb and later)
Work in progress.
Notable changes:
1. Zephyr 1.6 does not support the concept of nano and micro kernel
anymore.
2. Location of various tests have changed
3. Changes due to subtle python3/python2 differences
4. Zephyr Makefile changes (including renaming)
5. Improved failed test detection
6. Remove patch files no longer needed
With these changes, it is now possible to run Zephyr test suite and
Zephyr sample programs. Currently only x86 CPUs are supported, with
additional CPU support coming in the near future, in particular
support for ARM Cortex-M3 CPUs
Prerequisites:
Modify local conf by adding:
DISTRO="zephyr"
MACHINE?="qemux86"
Modify bblayers.conf by adding "meta-zephyr" to BBLAYERS
To build all Zephyr tests:
$ bitbake zephyr-kernel-test-all
To test all built test images:
$ bitbake zephyr-kernel-test-all -ctestimage
You can also build and test an individual test. This is done by appending
the actual test name to the "zephyr-kernel-test", for example:
$ bitbake zephyr-kernel-test-test_sleep
$ bitbake zephyr-kernel-test-test_sleep -ctestimage
It is also possible to build Zephyr sample programs. Included is a sample recipe
that builds the Zephyr "philosophers" sample:
$ bitbake zephyr-philosophers
Once built, you can run the created "philosophers" image in qemu (at this point
the various paths have to be entered manually):
$ ./tmp/sysroots/x86_64-linux/usr/bin/qemu-system-i386 \
-kernel ./tmp/deploy/images/qemux86/philosophers.elf \
-nographic -machine type=pc-0.14 -display none -clock dynticks \
-no-acpi -balloon none
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
|
|
Initial commit: original work by Randy Witt and Richard Purdie.
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
|