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>
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>
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>
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>
Added support for Zephyr arduino_101_sss board (ARC core).
The support requires ARC toolchain.
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>
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>
Removed the need for "poky.conf", as a consequence
some variables previously defined via poky.conf needed to
be re-defined: TARGET_VENDOR, TCLIBCAPPEND
Moved here default BOARD definitions.
Defined DISTRO_VERSION.
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Cortex-M3 is not supported natively by oe-embedded, so we need to
do it here. With these changes it should be possible to run:
To build all Zephyr tests:
$ MACHINE=qemuarm bitbake zephyr-kernel-test-all
$ MACHINE=qemuarm bitbake zephyr-kernel-test-all -ctestimage
To build "philosophers" sample:
$ MACHINE=qemuarm 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-arm \
-kernel ./tmp/deploy/images/qemuarm/philosophers.elf \
-cpu cortex-m3 -machine lm3s6965evb -nographic -vga none
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>