aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-03-06arduino-101-ble: new MACHINEJuro Bystricky
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>
2017-03-06zephyrtargetcontrol: new argumentJuro Bystricky
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>
2017-03-06arduino-101: Support for flashing via USBJuro Bystricky
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>
2017-02-06binutils (ARC): fix buildJuro Bystricky
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>
2017-02-05qemu_2.8: disable Nios2 for nowJuro Bystricky
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>
2017-02-05testimage: performance improvementsJuro Bystricky
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>
2017-02-05zephyr-qemuboot.bbclass: disable QEMU networkJuro Bystricky
Setting QB_NET = "none" bypasses network configuration in runqemu. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-02-05zephyrtest.bbclass: refactorJuro Bystricky
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>
2017-01-30zephyr-qemuboot.bbclassJuro Bystricky
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>
2017-01-30zephyr-qemuboot.bbclassJuro Bystricky
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>
2017-01-30qemu-*.conf: support for qemubootJuro Bystricky
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>
2017-01-30zephyrtest.bbclass: simplify names of test binariesJuro Bystricky
Drop the prefix "zephyr-kernel-test-". Additional minor cleanup. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-30zephyr-kernel-test-all: implement cleanJuro Bystricky
support for: $ bitbake zephyr-kernel-test-all -c clean Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-30zephyr-getchar: minor cleanupJuro Bystricky
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-30zephyr-philosophers: use common naming conventionsJuro Bystricky
Derive the name of the resulting image based on PN. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-30zephyr-kernel-common.inc: also build qemus if neededJuro Bystricky
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>
2017-01-24README.txt: Updated for qemu-nios2Juro Bystricky
Also replaced all "qemux86" with "qemu-x86" Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-23zephyr-kernel-test.inc: exclude tests not suitable for Nios2Juro Bystricky
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-23qemuzephyrrunner.py: support for qemu-nios2Juro Bystricky
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-23qemu-nios2: New MACHINEJuro Bystricky
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>
2017-01-19meta-zephyr: newlib supportJuro Bystricky
This patch adds newlib libraries for cortex-m3, x86, IAMCU and ARC toolchains. [YOCTO#10662] Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-18zephyr.bbclass: support for image configurationJuro Bystricky
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>
2017-01-18gcc (ARC): removed unneeded patchesJuro Bystricky
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-18qemu-x86.conf: New MACHINEJuro Bystricky
MACHINE definition for Zephyr BOARD qemu_x86 Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-18qemu-cortex-m3.conf: updated NAME/DESCRIPTIONJuro Bystricky
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-10zephyr-philosophers: also deploy binary imageJuro Bystricky
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>
2017-01-10arduino-101-sss: New MACHINEJuro Bystricky
Added support for Zephyr arduino_101_sss board (ARC core). The support requires ARC toolchain. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-10meta-zephyr: Support for ARC toolchainJuro Bystricky
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>
2017-01-10arduino-101: New MACHINEJuro Bystricky
Support for Arduino-101 board, Intel MCU CPU. This board needs IAMCU cross-compiler. [YOCTO#10658] Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-10meta-zephyr: Select BOARD via MACHINEJuro Bystricky
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>
2017-01-10zephyr-kernel: refactor common codeJuro Bystricky
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>
2017-01-10qemu-cortex-m3: new MACHINEJuro Bystricky
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>
2017-01-04COPYING.MIT: Default licenseJuro Bystricky
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-04zephyr-getchar_git: sample programJuro Bystricky
Sample program for out-of-tree Zephyr images development. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-04zephyr-kernel-src: pack Zephyr sourceJuro Bystricky
This recipe obtains the Zephyr source code tree. The idea is to use this tree for out-of-tree Zepyhyr images via DEPENDS += "zephyr-kernel-src" Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-04zephyr-philosophers: use ZEPHYR_GCC_VARIANT="yocto"Juro Bystricky
Setting ZEPHYR_GCC_VARIANT="yocto" will result in images being built by our own Makefile: Makefile.toolchain.yocto The Makefile already contains LIB_INCLUDE_DIR definition, so it can be removed from this recipe. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-04zephyr-image.inc: use ZEPHYR_GCC_VARIANT="yocto"Juro Bystricky
Setting ZEPHYR_GCC_VARIANT="yocto" will result in images being built by our own Makefile: Makefile.toolchain.yocto The Makefile already contains LIB_INCLUDE_DIR definition, so it can be removed from this file. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-04zephyr-kernel.inc: use own MakefileJuro Bystricky
Zephyr RTOS uses the environmental variable ZEPHYR_GCC_VARIANT to determine which Makefile to use to build images. This allows different Makefiles for different toolchains, so the toolchains can co-exist. Rather than patching the included Makefile.toolchain.zephyr, we use our own file Makefile.toolchain.yocto. This Makefile will be used as long as Zephyr recipes set: export ZEPHYR_GCC_VARIANT="yocto" (Also removed some BOARD definitions) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-04zephyr-conf: various changesJuro Bystricky
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>
2017-01-04README.txt: initial versionJuro Bystricky
[YOCTO#10655] Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-04zephyr-philosophers: cleanupJuro Bystricky
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-04zephyr-image.inc: cleanupJuro Bystricky
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-04zephyr-kernel-inc: add default BOARD definitionsJuro Bystricky
Specify default BOARDs for x86 and ARM. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-04zephyrtest.bbclass: do not prepend 'test_'Juro Bystricky
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>
2017-01-04zephyr-kernel-test.inc: remove some ARM testsJuro Bystricky
Remove tests that fail because QEMU for ARM does not emulate CortexM3 BASEPRI register functionality. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-04zephyr-kernel-test-all.bb: modify LICENSEJuro Bystricky
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2017-01-04meta-zephyr: add support for cortexm3 toolchainJuro Bystricky
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>
2017-01-04meta-zephyr: basic upgradeJuro Bystricky
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>
2017-01-04Create the meta-zephyr layer with empty SRC_URIRandy Witt
Initial commit: original work by Randy Witt and Richard Purdie. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>