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>
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>
Builds an image for Arduino 101 board needed to be flashed for its
nRF51 Bluetooth LE controller.
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
The recipe to build IPM sample demonstrating messaging between
ARC core and IAMCU core on Arduino 101.
The recipe can build two different images, based on BOARD.
Useful to demonstrate multiconfig.
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Support for Arduino BLE ARM core.
The core is based on Cortex-M0, so a corresponding tune/toolchain
is required as well.
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
An additional argument "target_modules_path" is needed in order
to work with the current master. The whole external controller code
handling will be changed in the near future, so this is most likely
only a temporary fix.
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>
Fix the error:
ERROR: binutils-cross-arc-2.26+gitarc-r0 do_fetch:
Fetcher failure: Unable to find file file://no-tooldirpaths.patch anywhere
This is a consequence of including recipes-devtools/binutils/binutils-cross.inc
which uses the patch in SRC_URI. (This patch was not used previously).
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Disable build of QEMU for Nios2 as the patch
for QEMU 2.7 does not apply cleanly for QEMU 2.8.
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Refactored processing of QEMU logs.
The original code read QEMU logs every 30 seconds, which
resulted in each test taking at least 30 seconds to finish.
In reality, most tests take only a few seconds.
Although the tests run in parallel, on systems with only a few
CPUs this can make a very noticable difference.
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>
Add support to run qemus using runqemu.
All qemu machines will inherit the bbclass "zephyr-qemuboot",
which is responsible to set up everything that is needed
in order to use "runqemu".
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Also build qemus if a recipe is built for a MACHINE=qemuXXX.
Allow inheriting classes based on recipe context.
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Added support for Zephyr qemu-nios2 BOARD.
Nios2 CPU is not supported natively by upstream QEMU,
so a Nios2 specific patch needs to be applied.
[YOCTO#10660]
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>
Deploy both binary and ELF images in order to make
it easier to flash the image on an actual board, such as Arduino-101.
(Some flashing tools require binary image)
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Added support for Zephyr arduino_101_sss board (ARC core).
The support requires ARC toolchain.
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Added support for ARC toolchains: binutils, gcc, libgcc.
These are not upstreamed, but taken from Symantec ARC repos.
[YOCTO#10659]
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
The meaning of BOARD in Zephyr environment is equivalent to MACHINE
in Yocto environment.
Specifying MACHINE will implicitly determine cross-compiler toolchain as well.
There is 1:1 correspondence between Zephyr BOARD and Yocto MACHINE so
a lookup table BOARD:MACHINE may be needed in the future, presently all
that is required is to convert "-" to "_". (Dash to undersocre)
This means that in order to support a new Zephyr board, we simply need to
create a corresponding MACHINE.conf file.
[YOCTO#10894]
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Several changes to simplify recipes by refactoring
common code. The code common to all Zephyr builds is
now in the file "zephyr-kernel-common.inc".
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Various changes to properly handle QEMU for Cortex M3.
This was solved by creating a new MACHINE qemu-cortex-m3.
Specifying MACHINE=qemu-cortex-m3 will select proper tuning
for the cross-compiler.
Typical usage:
$ MACHINE=qemu-cortex-m3 bitbake zephyr-philosophers
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>