The warning below appears once -Waddress-of-packed-mem is enabled:
/__w/zephyr/zephyr/tests/lib/mpsc_pbuf/src/main.c: In function
'item_put_data_overwrite':
/__w/zephyr/zephyr/tests/lib/mpsc_pbuf/src/main.c:497:3: error:
converting a packed 'struct test_data_ext' pointer (alignment 1) to a
'uint32_t' {aka 'const unsigned int'} pointer (alignment 4) may result
in an unaligned pointer value [-Werror=address-of-packed-member]
497 | mpsc_pbuf_put_data(&buffer, (uint32_t *)&item, len);
To avoid the warning, as well as several others related to the same
problem, use an intermediate void * variable.
More info in #16587.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Add a new application for testing non-core devicetree functionality.
Add tests for the default and fallback case of
`LINKER_DT_NODE_REGION_NAME`.
Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
This platform is slow on some tests and times out on non-hardware
related tests, so exclude it or increase timeout for some of the tests
to avoid false negatives in the test results due to timeouts.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Add flags to macro which checks if string must be packaged
using runtime approach.
Added flag CBPRINTF_MUST_RUNTIME_PACKAGE_CONST_CHAR. When flag
is set then const char pointers are considered as pointers to
fixed strings and do not require runtime packaging.
Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
Add tests for the instance based enum macros DT_INST_ENUM_IDX and
DT_INST_ENUM_IDX_OR.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
One limitation of the current IPM API is that it is assuming that the
hardware is only exporting one single channel through which the data can
be sent or signalling can happen.
If the hardware supports multiple channels, the IPM device must be
instantiated (possibly in the DT) several times, one for each channel to
be able to send data through multiple channels using the same hw
peripheral. Also in the current IPM API only one callback can be
registered, that means that only one driver is controlling all the
signalling happening on all the channels.
This patch is introducing a new MBOX API that is supporting
multi-channel signalling and data exachange leveraging and extending the
previous (and outdated) IPM API.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
The "small" heap is is way sufficient for most 32-bit systems.
Let's provide the option to have only one type of heap allowing for
smaller and faster heap code due to not having a bunch of runtime
conditionals based on the heap size.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Currently all the *-names and *-cells properties are derived from the
name of the base <name>s property. This is a limitation because:
- It forces the base property name to be plural ending in -s
- It doesn't allow the english exception of plural words ending in -es
With this patch we add one additional property 'specifier-space' that
can be used to explicitly specify the base property name.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Suggested-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
Call and validate the new function. Note that this is actually
whiteboxing the heap implementation and duplicating the internal logic
needed to compute the header size, so as to validate that the correct
number is being returned. I had to write that test code anyway, might
as well commit it (the heap header is awfully well optimized now and
very unlikely to change).
Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
Add an application agnostic State Machine Framework library to
Zephyr that provides an easy way for developers to integrate
state machines into their application.
Twister passed:
twister -T tests/lib/smf/
Signed-off-by: Sam Hurst <sbh1187@gmail.com>
tests/lib/ringbuffer is now finally fixed with commit 15e834a687
("linker: __data_region_start equal to __data_start"), so we can enable
it back.
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
This reverts commit 4c32e21fc7 with some
manual conflict resolution.
It's not clear that the supported devices are being properly computed,
so let's revert this for v2.7.0 until we've had more time to think
it through.
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
Assert messages are printed if the assertion fails, so they should
state what went wrong instead of the expected behaviour.
Signed-off-by: Martin Jäger <martin@libre.solar>
binary_f16 and binary_f16.fpu test cases fail when target
SRAM size is below 140k.
Update test case requirements to set min_ram to 144.
Additionally, remove the platform_exclude hich is now useless
(frdm_kw41z ram is 128k).
Fixes#38826
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Ensure that length variables (len0, len1, len2) are positive
before they are used for array indexing.
Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
This commit disables the "minimum required newlib heap size" check for
the newlib thread safety tests since they do not make use of any newlib
functions that require large heap.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
Counter was not reset between various tests which may hide the fact
that number of preemptions is less than expected.
Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
Stress test that was validating thread safeness was configured to use
higher sys tick rate and targeting qemu_x86 platform. However, it was
also build for other platforms and was failing. Fixing it by extracting
stress tests to separate configuration that is run only on qemu_x86.
Modified the test to fail when number of preemptions is less than
expected only on qemu_x86.
Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
This commit disables running the CMSIS-DSP tests on the mps3_an547
board because the QEMU, which is default emulation platform for it,
does not currently support the emulation of the MVE instructions.
Refer to the issue #37694 for more details.
Revert this commit once QEMU 6.2 is released and integrated into the
Zephyr SDK.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit adds the quaternionmath F32 test patterns and
implementations for the CMSIS-DSP 1.9.0.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit adds the interpolation F16 test patterns and
implementations for the CMSIS-DSP 1.9.0.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit adds the interpolation F32 test patterns and
implementations for the CMSIS-DSP 1.9.0.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit adds the interpolation Q31 test patterns and
implementations for the CMSIS-DSP 1.9.0.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit adds the interpolation Q15 test patterns and
implementations for the CMSIS-DSP 1.9.0.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit adds the interpolation Q7 test patterns and implementations
for the CMSIS-DSP 1.9.0.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the transform CF64 test patterns and
implementations for the CMSIS-DSP 1.9.0.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the transform CF32 test patterns and
implementations for the CMSIS-DSP 1.9.0.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the transform CQ31 test patterns and
implementations for the CMSIS-DSP 1.9.0.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the transform CQ15 test patterns and
implementations for the CMSIS-DSP 1.9.0.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the svm F32 test patterns and implementations for
the CMSIS-DSP 1.9.0.
Note that the one-class SVM test has switched from using RBF to linear.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>