strtok should not be used for the purpose it was being used for.
Furthermore, the pointer that was stored from the value is not
a long-living pointer, and would in fact be invalid after the
callback has returned.
Modified the code so that we store the value in the application
and then do a proper search for the first URI in the list.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Added a guard before attempting to access
svc_insts[cur_inst->idx + 1], as that code can only ever be value
if CONFIG_BT_CSIP_SET_COORDINATOR_MAX_CSIS_INSTANCES > 1.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Guarding code that uses __ASSERT with IS_ENABLED seemingly
does not work, and still gives unused variables (rank_1 and
rank_2). Modified the guard.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The TMAP central had a few bugs. It was also using the old
BAP discovery API.
The commit fixes the bugs, and updates it to use the new BAP
discover API.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
This commit clarifies that the toolchain-bundled Picolibc in the Zephyr
SDK must also be updated when updating the Picolibc module.
Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
This commit updates the link to the "Zephyr SDK Releases" page to point
to the "Tags" page instead of the "Releases" page because:
* "Tags" page is easier to browse by version.
* Download links are not properly rendered on the "Releases" page due
to a GitHub limitation (release body preview content length limit).
Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
This commit updates the documentation to link, instead of the latest,
the specific release of Zephyr SDK referenced in the documentation
because the latest version is subject to change and may not be
compatible with the particular Zephyr release.
Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
This commit adds "Zephyr SDK version compatibility" section to the
Zephyr SDK documentation, which provides a link to the "Zephyr SDK
Version Compatibility Matrix" and describes the recommended Zephyr SDK
version.
Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
Cover the 2nd stage bootloader options and
the extend the application build instructions
to include sysbuild.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
Allow builds which has CONFIG_MULTITHREADING disabled.
This is reduce code footprint which is handy for
constrained targets as bootloaders.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
Allow builds which has CONFIG_MULTITHREADING disabled.
This is reduce code footprint which is handy for
constrained targets as bootloaders.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
This make MCUboot build as Zephyr application.
Providing optinal 2nd stage bootloader to the
IDF bootloader, which is used by default.
This provides more flexibility when building
and loading multiple images and aims to
brings better DX to users by using the sysbuild.
MCUboot and applications has now separate
linker scripts.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
Add a test specifically for the check_init_priorities scripts.
The test creates a set of fake devices to exercise the three possible
conditions, run a build, run the check script and validate the script
output.
The check is meant to fail the build on error but that's bypassed in
this case as that would fail the twister run. That specific bit is
covered in unit tests anyway.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Add a "Scripts tests" workflow, for now just run pytest against
"scripts/build", but keep the naming generic so this could be reused for
other tests under scripts that are not covered by the other workflows.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Add a reference to the check_init_priorities script in the cmake
"Supporting Scripts and Tools" section.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Add an option for running the build time initialization priority check
as part of the build.
By default the build is going to fail if any error is reported
(dependent devices, inverted priority), optionally it can also be failed
on warnings (dependent devices, same priority).
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Add a check_init_priorities.py scripts. This goes through all the object
files looking for known initialization sections and building a map of
device ordinals and their effective initialization priority. Then
compares that with the list of dependencies generated based on the
device tree and reports any warning (dependent devices, same priority)
or error (incorrect priority).
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
sl_power_manager can only be used if HAL services infrastructure
is enabled, and that is controlled by SOC_GECKO_DEV_INIT kconfig option.
Therefore, SOC_GECKO_PM_BACKEND_PMGR may not be enabled without
SOC_GECKO_DEV_INIT.
Signed-off-by: Roman Dobrodii <rdobrodii@antmicro.com>
Like other stm32 drivers, especially the stm32 flash ospi,
the DMA callback accepts a null or positive status.
It returns an error in case of negative.
BTW it also sets variable as unused, like stm32 flash ospi does.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add missing USB-OTG control nodes. Like other STM32-platforms it's
disabled by default and uses the internal 48 MHz clock by default.
Signed-off-by: Caspar Friedrich <c.s.w.friedrich@gmail.com>
When using the Zephyr SDK toolchain, prefer the pre-built version of
picolibc over using the picolibc module. This will reduce the time it takes
to build applications.
Signed-off-by: Keith Packard <keithp@keithp.com>
Define two macros for calibration and oversampling for STM32 series that
possess these features, and use these macros instead of a list of series.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Rework oversampling by creating a const table containing possible
oversampling values and using this table instead of switch case.
Also disable ADC for all series before setting oversampling.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Fixes: #57139
Snippets provides the possibility of defining EXTRA_DTC_OVERLAY_FILE and
EXTRA_CONF_FILE in snippets.
Snippets must co-exist with existing infrastructure of
EXTRA_DTC_OVERLAY_FILE and EXTRA_CONF_FILE, and a user specifying a
snippet must be able to specify extra files for adjusting the snippet.
This means that if the following is specified:
`-DSNIPPET=some_snippet -DEXTRA_CONF_FILE=extra.conf`
then `extra.conf` may contain adjustments to the snippet.
Similar to sysbuild. Imagine a sysbuild controlled image uses a default
snippet for building, by ensuring that any extra
`-D<image>_EXTRA_CONF_FILE=extra.conf` arguments takes precedence over
the snippet we allow users to make adjustments if they need.
This commit introduces a snippets scope where snippet scoped variables
can be set with `zephyr_set()` and then `zephyr_get()` will take the
snippet scoped variables into consideration before returning.
Adjust calls to `zephyr_get(EXTRA_DTC_OVERLAY_FILE)` and
`zephyr_get(EXTRA_CONF_FILE)` to use `MERGE` to ensure all scopes are
considered.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
zephyr_get() supports multiple scopes when returning variables.
Variables are returned based on the scope's priority.
To facilitate creation of more scopes in Zephyr for variable handling
additional functions are introduced.
- zephyr_create_scope(<scope>)
creates a new scope
- zephyr_set(<var> <val>... SCOPE <scope>)
set the value of a variable in the specified scope.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This commit adds change snippets to use the new EXTRA_DTC_OVERLAY_FILE
and EXTRA_CONF_FILE Zephyr build system variables instead of
DTC_OVERLAY_FILE and OVERLAY_CONFIG.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Adding the possibility to have the list returned in reversed order when
using `zephyr_get(... MERGE).
`zephyr_get(... MERGE)` creates a list which populates the content based
on variable settings in the following scopes, in this order:
sysbuild, cache, environment, local.
This works well for lists where content first in list has highest
precedence, such as ROOTs settings.
However, for settings where the value last in the list will overwrite
values earlier in the list, we want the list to be reversed, examples
of such can be CONF_FILE, OVERLAY_CONFIG, DTC_OVERLAY_FILE, where the
content of the file last in the list will overrule the content from an
earlier file.
So to ensure that a DTC_OVERLAY_FILE defined as cache takes precedence
over an env or local scope variable the possibility of reversing the
list must be available.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Added the new amg88xx sensor shield with designation
amg88xx_grid_eye_eval_shield and updated the overlay, Kconfig and
documentation files accordingly.
The platforms that are compatible with new shield changed, so
sensor sample yaml file was extended for both available shields.
Signed-off-by: Steffen Jahnke <steffen.jahnke@eu.panasonic.com>
Sysbuild now generates a .config.sysbuild config file which specifies
settings controlled by sysbuild.
Any setting specified in this .config will overrule user provided
setting, and a warning will be raised if the sysbuild controlled value
is different from the value specified by the user.
This has the following benefits:
- Allow sysbuild to control any build setting without adjustments to
the existing Kconfig tree
- Allow sysbuild to adjust settings based on knowledge regarding enabled
images / bootloaders.
- Cleanup CMake code, as settings in sysbuild no longer needs to be
propagated using CMake cache variables.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This commit introduces an internal FORCE_CONF_FILE CMake setting which
allows higher order build systems to generate a configuration file
which will always take precedence.
This means that in case a user tries to change any setting to be
different than the defined value in the FORCE_CONF_FILE provide file(s),
then a warning will be printed and the setting will be reset to the
value given in the FORCE_CONF_FILE file.
Example of such warning:
<path>/.config.sysbuild:1: warning: BOOTLOADER_MCUBOOT
(defined at Kconfig.zephyr:766) set more than once.
Old value "n", new value "y".
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This commit improves the BOARD handling for Zephyr images.
Concatenate sysbuild BOARD and BOARD_REVISION to BOARD when creating the
image sysbuild cache file. This ensures that the proper sysbuild
BOARD@REVISION can be correctly inherited.
Current solution creates image specific <image>_BOARD cache variables
whenever a board revision is in use, even if the image is expected to
inherit the BOARD@REVISION value from sysbuild.
This improvement means that only when a dedicated board or
board@revision is specified for an image, then an image sysbuild cache
entry will be created.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
I realized today that we had a "." and "IDs of message." top level
Doxygen sections. It looks like the multidomain helpers module was
merged without a proper Doxygen structure. This patch adds the helpers to
a subgroup within `log_backend` and uses `@name` to group definitions.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>