Commit graph

4709 commits

Author SHA1 Message Date
Daniel DeGrasse
de8478b7f3 doc: code-relocation: Update usage of zephyr_code_relocate
Update usage of zephyr_code_relocate to new API, and add examples of
relocating a library target, as well as using multiple files in list or
CMake generator expressions.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-01-17 18:08:37 +01:00
Jamie McCrae
1d14e42e40 doc: mgmt: img_mgmt: Fix description of hash and sha
Fixes an issue with the documentation whereby the wrong hash/sha
sections were described, also adds a link to upstream MCUboot
documentation for further information.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-01-17 11:28:38 +01:00
Erwan Gouriou
929f0de0a7 doc: release-notes 3.3: Document STM32 USB clock related changes
Document recent changes about USB clock source configuration.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2023-01-16 11:23:55 +00:00
Jamie McCrae
a870ca80e4 doc: release: 3.3: Add note on MCUmgr transports
Adds details on additional Kconfigs that need to be selected for
MCUmgr transports.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-01-16 10:04:45 +01:00
Al Semjonovs
403f28603e west: Update documentation on twister script integration
Adding documentation for twister wrapper west command

Signed-off-by: Al Semjonovs <asemjonovs@google.com>
2023-01-13 15:39:04 -08:00
Stephanos Ioannidis
4c24e7d862 doc: release: Add release notes for C++ library refactoring
This commit adds the release notes related to the C++ subsystem-to-
library refactoring.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2023-01-13 17:42:55 -05:00
Stephanos Ioannidis
3f058cc04e doc: languages: cpp: Improve C++ standard library documentation
This commit improves the C++ standard library documentation by adding
the list of supported C++ standard libraries.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2023-01-13 17:42:55 -05:00
Stephanos Ioannidis
669a0f5bec lib: cpp: Rework C++ standard library configurations
This commit reworks the C++ standard library configurations such that:

* the separation between the Zephyr minimal C++ library and the fully
  featured C++ standard libraries, such as GNU libstdc++, is clear.
  This is done by deprecating the Kconfig `CONFIG_LIB_CPLUSPLUS`
  symbol, which implies that the minimal C++ library is selected when
  set to `n`, and introducing the `CONFIG_MINIMAL_LIBCPP` symbol.

* the type of the selected C++ standard library is clear. This is done
  by introducing a Kconfig choice, `LIBCPP_IMPLEMENTATION`, for the C++
  standard library type and providing the choice symbols for each
  library type supported, such as `CONFIG_MINIMAL_LIBCPP` and
  `CONFIG_GLIBCXX_LIBCPP`.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2023-01-13 17:42:55 -05:00
Stephanos Ioannidis
404e7a9bf7 treewide: Use CONFIG_CPP_EXCEPTIONS instead of CONFIG_EXCEPTIONS
This commit updates all in-tree code to use `CONFIG_CPP_EXCEPTIONS`
instead of `CONFIG_EXCEPTIONS`, which is now deprecated.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2023-01-13 17:42:55 -05:00
Stephanos Ioannidis
4a64bfe351 treewide: Use CONFIG_CPP instead of CONFIG_CPLUSPLUS
This commit updates all in-tree code to use `CONFIG_CPP` instead of
`CONFIG_CPLUSPLUS`, which is now deprecated.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2023-01-13 17:42:55 -05:00
Stephanos Ioannidis
feaab27c1b lib: cpp: Relocate subsys/cpp to lib/cpp
This commit moves the files under `subsys/cpp` directory to the
`lib/cpp` directory because the C++ ABI runtime library and the
standard C++ library components are not a "subsystem" (aka. API) in
conventional sense and is better described as a "library."

Classifying the C++ ABI runtime library and the standard C++ library as
"libraries" instead of "subsystems" also better aligns with how the
existing C standard library implementation (`lib/libc`) is handled.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2023-01-13 17:42:55 -05:00
Andrei Emeltchenko
86f48609fb doc: ztest: Include ztress to API reference
Include ztress documentation to ztest API section.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-01-13 09:43:40 +01:00
Guillaume Lager
24d9de4ec1 doc: release-notes: Add note on mcuboot dfu changes
Add a note on removed BOOT_TRAILER_IMG_STATUS_OFFS macro and its
replacement functions

Signed-off-by: Guillaume Lager <g.lager@innoseis.com>
2023-01-12 19:08:23 +01:00
Tom Burdick
54832687bc docs: Document the simulation platform metadata
Adds a quick note about what the simulation platorm metadata for twister.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-01-12 10:30:57 -05:00
Tom Burdick
38385ed3ff twister: Platform key for test suites
Adds an option to inform twister a testsuite should only be built and
run for platforms with unique sets of attributes. This enables
for example keying on unique (arch, simulation) platforms to run the test
suite on.

The most common usage may be test suites configured to run once per
(arch, simulation) pair as being enough. Additional information about
platforms may enable running a test once per hardware IP block or once
per soc family or soc avoiding duplicated effort in building and running
tests when once suffices.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-01-12 10:30:57 -05:00
Dominik Ermel
afd0c6f957 doc: release: 3.3: Add missing MCUmgr Kconfig replacements
MCUmgr Kconfig replacement table has been missing a few entries.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-01-12 12:46:39 +01:00
Anas Nashif
73584dfe8d twister: support namespacing of extra configs
We want to be able to have platform or architecture extra configs
without having to duplicate a whole section of the test specification.

This adds support for namespacing of extra configs, for example:

arch:nios2:CONFIG_SYS_CLOCK_TICKS_PER_SEC=1000

or

platform:qemu_x86:CONFIG_FOO=y

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-01-12 10:00:05 +01:00
Marti Bolivar
1037348b7b doc: update stale references to boilerplate.cmake
Inclusion of this file is now deprecated in favor of
find_package(Zephyr ...). Update documentation appropriately.

Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2023-01-11 09:40:14 +01:00
Joakim Andersson
cc8493c3ba doc: tfm: Document how to pass list arguments to the TF-M build system
Document how to pass list arguments to the TF-M build system.

fixes: #53556

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2023-01-11 03:05:53 +09:00
Henrik Brix Andersen
4c90d05452 doc: develop: api: overview: mark the CAN controller driver API stable
Mark the CAN controller driver API as stable.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-01-10 17:05:05 +01:00
Stephen Stauts
d4b8db792d scripts: kconfig: Add functions for array/chosen props
Expands kconfigfunctions to include checks for value existence in
an array property by nodelabel, or a chosen's boolean prop value.

Signed-off-by: Stephen Stauts <stephen.stauts@nordicsemi.no>
2023-01-10 07:10:07 -08:00
Gerard Marull-Paretas
481ae767cb doc: doxygen: update Doxyfile for 1.9.6
Update the Doxyfile using `doxygen -u doc/zephyr/doxyfile.in`.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-01-10 10:27:54 +01:00
Jamie McCrae
514c02c1fc doc: release: 3.3: Mention removal of tinycbor module
Adds tinycbor removal to the release notes and suggets updating
to use zcbor.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-01-10 09:26:12 +01:00
Jamie McCrae
fd4090819a tinycbor: Remove deprecated/obsolete module
This removes the tinycbor module and replaces references in it
e.g. in sample text to use the zcbor replacement.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-01-10 09:26:12 +01:00
Jamie McCrae
1bd05df1a9 doc: mgmt: mcumgr: callback: Improve documentation
Improves the documentation when OR'ing multiple events of the same
group together to describe that this is only supported for events
that are part of the same group, giving example of correct and
incorrect usage.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-01-09 17:36:04 -08:00
Erwan Gouriou
871d6d26ee doc: release-notes-3.3: Document STM32 ethernet mac address config change
Document changes related to STM32 mac address configuration.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2023-01-09 19:22:54 +01:00
Henrik Brix Andersen
11aa8454f0 Revert "random: Change testing random generator"
This reverts commit d6881de3b3.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-01-09 19:29:50 +09:00
Declan Snyder
d6881de3b3 random: Change testing random generator
The old random timer test was not random-looking
enough on some platforms.

Replace with new test which is psuedo-xoshiro.

The generator is still deterministic
and does not depend on entropy at all,
but should look more random for testing.

Change name of generator tree-wide also.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-01-09 10:16:55 +01:00
Marti Bolivar
c3d39d9573 doc: application development: adjust creation section hierarchy
The 'Creating an Application' section has existed for several years
and predates the introduction of the example-application repository.

It's still a good reference, but it's not really the easiest way to
make an applications any more. Judging by experience watching users
ask questions and receive support on Discord, the example-application
repository is serving its purpose as a better 'pre-cooked' starting
point.

Adjust the hierarchy so that there's a single, parent section about
creating applications, which has using example-application as one
alternative, and doing it by hand as a less-recommended option. Add
more text on exactly what you need to do with example-application to
get something you can actually use.

Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2023-01-08 19:51:47 +01:00
Marti Bolivar
873b63109b doc: application: improve example-application section
The 'Example Application' text is similar to but not the same as the
name of the repository, which is example-application. Use the name of
the repository instead. This is easier to search for and plants seeds
in people's memory about where to find it on GitHub.

Add more cross references.

Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2023-01-08 19:51:47 +01:00
Marti Bolivar
82ed21d9e7 doc: application: improve application types section
Add more cross-references to the overview and make a few other
improvements. In particular, adapt to David Kinder's recommended
style (lowercase 'zephyr' for the repository, capitalized 'Zephyr' for
the more general software distribution).

Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2023-01-08 19:51:47 +01:00
Marti Bolivar
c1d31734f9 doc: application: clean up overview
A few things are stale or missing:

- Using the term 'kernel' is outdated at this point. It's been years
  since Zephyr was just a kernel, and we now include many modules as
  well as our internal subsystems and driver layers. Make that clearer
  in the overview.

- Devicetree overlays are a basic piece of zephyr applications and
  they're worth highlighting at this introductory place as well. Note
  that neither app.overlay or prj.conf are actually required to be
  present, so if we're mentioning prj.conf here, we might as well
  mention app.overlay too.

- Explain the basic purpose of and differences between Kconfig
  fragments and DT overlays.

Clean up some other language and provide some more cross references.

Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2023-01-08 19:51:47 +01:00
Marti Bolivar
20b1c56572 doc: application: make default app a workspace app
It is well known that putting your application inside the west
workspace where zephyr is installed, i.e. defining a workspace
application, makes it easier to use west build, since you don't have
to juggle setting ZEPHYR_BASE appropriately.

Therefore, recommend doing thing this way, while leaving a hint about
how to do something else.

The current state of affairs where the application is assumed to be in
$HOME/app is longstanding and precedes the introduction of west to
zephyr, and I think it's overdue for the page to get with the times
and use conventions that work well with west: our reference
application has been a workspace application for almost 2 years at
this point.

Create a new meta-variable <app> to describe the location of the
application to keep things short and make it clearer that the actual
location on the file system doesn't matter as long as things are set
up properly.

Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2023-01-08 19:51:47 +01:00
Flavio Ceolin
05d3b57851 doc: security: Disclose CVE information
Add information about CVE-2022-2993

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-01-07 21:34:33 +01:00
Al Semjonovs
4858d995c6 gpio: Include GPIO_KEYS in documentation
Add gpio_keys_interface to GPIO documentation

Signed-off-by: Al Semjonovs <asemjonovs@google.com>
2023-01-04 10:36:00 +01:00
Yuval Peress
47b675c6ee twister: Set a default gcov-tool for llvm
When using llvm we need to set the gcov-tool to "llvm-cov gcov" but
the lcov tool is incapable of passing arguments to the gcov-tool. i.e.
the following cannot work:

$ lcov --gcov-tool "llvm-cov gcov" ...

Instead, create a symlink to llvm-cov prefixed as `gcov` which by the
documentation of llvm-cov will alias to `llvm-cov gcov` subcommand.

Signed-off-by: Yuval Peress <peress@google.com>
2023-01-03 11:01:16 +01:00
Piotr Jasiński
742c812858 doc: add monitor mode debugging entry
Added documentation on monitor mode debugging usage.

Signed-off-by: Piotr Jasiński <piotr.jasinski@nordicsemi.no>
2022-12-28 12:00:46 +01:00
Dominik Ermel
0f7c92d731 doc/release: Add release note on removal of fa_device_id
Note on removal of fa_device_id from flash_area structure.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-12-27 13:24:55 +01:00
Jamie McCrae
29639624ea doc: mgmt: mcumgr: callbacks: Fix issues
Fixes some issues with code and formatting.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2022-12-24 16:57:57 +01:00
Gerard Marull-Paretas
9003d7556a doc: scripts: sort redirects alphabetically
Redirects need to be sorted alphabetically, as stated at the beginning
of the file.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-12-24 16:57:43 +01:00
Gerard Marull-Paretas
2ebdfe1340 doc: scripts: remove legacy redirects
Remove redirects from legacy docs (<1.14).

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-12-24 16:57:43 +01:00
Gerard Marull-Paretas
a1148bbc24 doc: develop: tools: drop platformio docs
PlatformIO seems to not keep up with Zephyr (they don't seem to even
support 3.0), so we should not recommend it as an IDE as part of our
official docs. Also, it is frequent to see people reporting problems on
our Discord channels.

Ref. https://github.com/platformio/platform-ststm32/issues/602

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-12-22 13:45:52 +01:00
Dominik Ermel
22ff66f240 doc/release: Add notes on MCUmgr Kconfig renames
Adds information on renaming of MCUmgr Kconfig options
and migration script that can be used to help with transition.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-12-22 12:36:34 +01:00
Dominik Ermel
a5488d64d4 doc: MCUmgr replaced Kconfig options to new format
Documentation fixes following renaming of Kconfig options
to the new standardised form.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-12-22 12:36:34 +01:00
Rob Barnes
61b5566e74 logging: Add an option for a custom log header
There are scenarios when it is necessary to globally redefine
a log macro. The existing logging frontend is not sufficient since
it redirects at the function level.

One example is using pigweed_tokenzier. The pigweed tokenizer depends
on intercepting log strings at the macro level to function.

Introduce an option to include a custom application provided header
named "zephyr_custom_log.h" at the end of log.h. This allows an
application to extend the LOG_* macros globally.

This change includes a simple test that redefines the core LOG macros
to include a custom prefix.

Signed-off-by: Rob Barnes <robbarnes@google.com>
2022-12-22 11:09:59 +01:00
Emilio Benavente
39762716d4 boards: arm: rtxxx: moving the instances FLASH_MCUX_FLEXSPI_XIP
This Kconfig is moved to the soc level since it determines
the flexspi clock initialization for XIP.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2022-12-22 11:07:08 +01:00
Jamie McCrae
843f14167b doc: release: 3.3: Add note on MCUmgr handler update
Adds a note on MCUmgr Bluetooth and UDP transports now being
automatically registered without needing an application to
manually register them.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2022-12-22 11:03:04 +01:00
Jamie McCrae
fd81987da8 doc: release: 3.3: Add note on MCUmgr handler update
Adds a note on MCUmgr handlers now being automatically called
without needing an application to manually register them.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2022-12-22 11:03:04 +01:00
Fabio Baltieri
7a9b019f46 doc: contribute: add a note about the GitHub "Update branch" feature
Add a note about the "branch out of date" and "Update branch" GitHub
feature. That message is confusing for new users and we often see people
losing approvals and introducing merge commits with it. Adding a note
in the contribution guidelines would hopefully help some.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-12-21 12:18:22 +01:00
Fabio Baltieri
f781788ece doc: contribute: drop the point about subsystem branches
There hasn't been any topic branch in widespread use. This point is
still relevant for backports or some advanced usage, but since this list
is meant to help contributor approaching the project it may be a good
idea to drop the point and make the list a tiny bit shorter and less
intimidating.

Instead, mention that main should be used "if unsure" in the previous
point.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-12-21 12:18:22 +01:00