Commit graph

104 commits

Author SHA1 Message Date
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
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
Martí Bolívar ec725b5cab doc: application development: fix DT overlay section
Commit f17630ba75
("doc: application: added description of WARN_EXPERIMENTAL setting")
introduced a new section in the Kconfig settings bit about
experimental features.

This broke the structure of the document, however, because it used the
wrong kind of section underline, resulting in a hierarchy that looks
like this:

   Application Configuration
   └── Kconfig Configuration
   Experimental Features
   └── Devicetree Overlays

when it should have looked like this:

   Application Configuration
   ├── Kconfig Configuration
   |   └── Experimental Features
   └── Devicetree Overlays

This falsely make it look like DT overlays are an experimental
feature!

Fix it.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2022-12-15 10:43:21 +01:00
Yuval Peress b38445eaa0 math: Introduce a DSP basicmath subsystem with a cmsis backend
Introduce an API mirroring the CMSIS-DSP's basicmath. If CMSIS_DSP is
enabled, then it will by default be used as a backend. Developers may
opt into a custom backend by setting CONFIG_DSP_BACKEND_CMSIS=n. If
done, the application must provide `zdsp_backend/dsp.h` and optionally
implement the functions in its own .c files.

Signed-off-by: Yuval Peress <peress@google.com>
2022-12-02 20:15:55 +01:00
Stephanos Ioannidis d90eea51fb doc: Update to Zephyr SDK 0.15.2
Update the Getting Started Guide and the Zephyr SDK documentation to
point to the Zephyr SDK 0.15.2 release.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-24 07:35:13 -05:00
Aaron Massey 5fa1abf1cb fuel_gauge: Add basic stub API doc.
Add a short stub doc as a placeholder for future documentation on the fuel
gauge API.

Signed-off-by: Aaron Massey <aaronmassey@google.com>
2022-11-19 17:56:05 -05:00
Henrik Brix Andersen 2ade879de2 doc: develop: test: ztest: mention the newly added fake EEPROM driver
Mention the newly added FFF-based fake EEPROM driver in the test
documentation.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-11-15 09:43:42 -06:00
Uma Praseeda 90577ee5d8 doc: Add reference labels in getting started doc
Add reference labels in getting_started/index.rst

Signed-off-by: Uma Praseeda <uma.praseeda@nordicsemi.no>
2022-11-09 14:42:45 +01:00
Stephanos Ioannidis 8073115b4c doc: languages: cpp: Add notes about C++ main()
This commit adds notes about the C++ main() function prototype in the
C++ documentation.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2022-11-05 16:41:45 +09:00
Fabio Baltieri 2875f000b1 doc: api: drop modified version column, link to release notes
The modified version information on the API overvirew don't seem very
useful and are updated inconsistently between releases. The release
notes contains much better information about API updates already grouped
by subsystem and release, link to those instead.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-11-03 10:25:43 +01:00
Henrik Brix Andersen 10c37a3ab4 doc: develop: test: ztest: list FFF-based fake drivers
List the FFF-based fake drivers present in Zephyr.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-11-02 08:19:33 -07:00
Martin Jäger d218fd9843 doc: develop: test: twister: remove outdated comment
The options --testcase-report and --detailed-report are not existing
anymore.

Signed-off-by: Martin Jäger <martin@libre.solar>
2022-10-31 16:14:14 -04:00
Sam Hurst 76730da1a2 doc: add API documentation for USB-C VBUS Driver
This commit adds the USB-C driver API documentation in peripherals section
of the reference guide. The USB-C VBUS API is declared experimental.

Signed-off-by: Sam Hurst <sbh1187@gmail.com>
2022-10-22 18:38:35 -04:00
Sam Hurst 0d68ebc52c doc: Document the USB-C Subsystem
Documents the USB-C Subsystem API.

Signed-off-by: Sam Hurst <sbh1187@gmail.com>
2022-10-22 18:38:35 -04:00
Stephanos Ioannidis 28b22b276a lib: libc: newlib: Make newlib nano variant optional
The newlib nano variant is currently enabled by default when
`CONFIG_NEWLIB_LIBC=y` and the selected toolchain-architecture
combination includes the newlib nano variant support, even if
`CONFIG_NEWLIB_LIBC_NANO` is not selected by the user.

When `CONFIG_NEWLIB_LIBC=y`, this results in the newlib nano variant
being selected for some architectures (e.g. ARC, ARM and RISC-V), while
the full variant is selected for the rest of the architectures.

The above behaviour is problematic because there exist functional
differences between the newlib full and nano variants (e.g. C99 format
modifiers such as `hh`, `ll`, `z`, `j` and `t` are not available in the
newlib nano variant), and this effectively leads to different level of
C standard support across different architectures when
`CONFIG_NEWLIB_LIBC=y`.

This commit fixes this problem by making the `CONFIG_NEWLIB_LIBC_NANO`
not `default y` and requiring its user to explicitly set this symbol to
`y` when they want to use the newlib nano variant.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2022-10-19 16:02:51 +02:00
Manuel Arguelles 31b3993d58 scripts: west: introduce Lauterbach TRACE32 runner
This patch introduces a West runner for flashing and debugging with
Lauterbach TRACE32 debuggers. The runner consists of a wrapper around
TRACE32 software, and allows a Zephyr board to execute a custom start-up
script (Practice Script) for the different commands supported, including
the ability to pass extra arguments from CMake. Is up to the board using
this runner to define the actions performed on each command.

The `debug` command launches TRACE32 GUI to allow debug the Zephyr
application, while the `flash` command hides the GUI and executes the
start-up script in a background process.

Signed-off-by: Manuel Arguelles <manuel.arguelles@nxp.com>
2022-10-14 09:51:14 +02:00
Stephanos Ioannidis 88af5964ed doc: Update to Zephyr SDK 0.15.1
Update the Getting Started Guide and the Zephyr SDK documentation to
point to the Zephyr SDK 0.15.1 release.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-12 19:23:32 -04:00
Cong Nguyen Huu 708fee8f61 doc: develop: test: update twister guide
add run steps guide for windows

Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
2022-10-06 07:23:17 -04:00
Daniel DeGrasse 50c7341070 doc: test: add documentation for twister sysbuild flag
Add sysbuild flag to twister supported options, with documentation on
how Kconfig and devicetree will be parsed

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-10-04 14:06:58 -04:00
Stephanos Ioannidis a041f5ce10 doc: toolchains: Update custom toolchain CMake reference file names
This commit updates the CMake reference file names for custom
toolchains.

The contents of `cmake/generic_toolchain.cmake` and
`cmake/target_toolchain.cmake` were moved
`cmake/modules/FindHostTools.cmake` and
`cmake/modules/FindTargetTools.cmake`, respectively.

Refer to the commit 8d2998d4f9 and
7131d02fa4 for more details.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2022-09-29 12:20:14 +02:00
Stephanos Ioannidis cf400c6c63 doc: flash_debug: Update OpenOCD and pyOCD links
This commit updates the outdated links for OpenOCD and pyOCD.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2022-09-29 12:20:14 +02:00
Stephanos Ioannidis d85900d0f7 doc: west: Update outdated link to SPDX specification
This commit updates the outdated link to the SPDX specification.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2022-09-29 12:20:14 +02:00
Stephanos Ioannidis 9f5ad65446 doc: tools: coccinelle: Update documentation link
This commit updates the oudated link to the Cocinelle documentation.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2022-09-29 12:20:14 +02:00
Stephanos Ioannidis 97efbec18b doc: test: Update link to Sparse documentation
Update the Sparse documentation to refer to the official Sparse
documentation instead of some random link, which no longeer works.

It also fixes an incorrect inline literal usage.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2022-09-29 12:20:14 +02:00
Stephanos Ioannidis 45a8ace1f3 doc: Use inline literals
Use inline literals where applicable -- especially for the words that
contain `@`; otherwise, Sphinx will think it is an email address.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2022-09-29 12:20:14 +02:00
Øyvind Rønningstad b96453f653 doc: manifest.rst: Describe using 'revision: HEAD~0' in manifests
Describe that using 'HEAD~0' as the revision in manifest files will
cause west to not touch that project.

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2022-09-27 19:30:01 -07:00
Fabio Baltieri a2ba6cd0ee doc: api: update overview page
Update the API overview page, guessing based on gitk v3.1.0..main on the
various API headers.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-09-26 09:53:05 -05:00
Stephanos Ioannidis 81de0276fc doc: languages: c: Add formatted output section
This commit adds "Formatted Output" section to the "C Language Support"
documentation that describes the C library-specific formatted output
support details.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-09-21 12:37:04 +02:00
Andrei Emeltchenko beeecfdebf doc: Remove double code block anchor
Make code look consistent with other code blocks and remove
double block anchor. Leave code-block to have proper syntax
highlighting.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2022-09-19 18:23:17 +02:00
Daniel Leung 16b22fa46a doc: i3c: add a few bits about the new I3C API
This adds a fews bits about the newly introduced I3C API
for I3C controller.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-09-09 17:42:33 -04:00
Carles Cufi 451dffe5ac doc: west: Document the 'west completion' command
This extension command was not documented yet, add it to the
corresponding page.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-09-06 08:43:15 -07:00
Gregory SHUE 6c66905e8d doc: modules: document recommendations
Update Modules (External projects) documentation to:

- Recommend explicitly setting the module name in module.yml
- Recommend exposing module-provided headers with an include
  pathname beginning with the module-name.

Fixes #49766

Signed-off-by: Gregory SHUE <gregory.shue@legrand.com>
Co-authored-by: Stephanos Ioannidis <root@stephanos.io>
2022-09-05 14:54:07 +00:00
Martí Bolívar 1261a9eb88 doc: application development: update example-application text
The application now supports a custom west extension; mention that.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2022-08-31 17:29:43 +02:00
Daniel DeGrasse f1bafda5e5 docs: getting_started: add note about west boards command
Add note about west boards command to getting started documentation,
to make it easier for users to determine the name of their board when used
with west. Also change "-p auto" to "-p always" in the build step, since
this is more deterministic

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-30 16:44:23 +02:00
Daniel DeGrasse e1bcc0a0cc docs: getting_started: change default python setup to use virtual env
Change default python setup suggested in getting started guide to use
virtual environments. This aligns with the documentation itself, which
suggests that users use virtual environments with Zephyr. The Windows
python setup is also updated with the correct command to create a
virtual environment, as "python3" is not a defined executable in a
windows commandline after installing python with chocolatey

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-30 16:44:23 +02:00
Stephanos Ioannidis d9929556b3 doc: Update to Zephyr SDK 0.15.0
Update the Getting Started Guide and the Zephyr SDK documentation to
point to the Zephyr SDK 0.15.0 release.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-29 16:57:18 +02:00
Martí Bolívar f3fdfa3ff5 doc: west v0.14 release notes
Document this bug fix release.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2022-08-29 16:54:53 +02:00
Diego Herranz 66d47cae04 doc/develop/getting_started: update for Ubuntu 22.04
In Ubuntu 22.04 there is no need to add any extra repositories
to meet the minimum required versions for tools like cmake and dtc.
In fact, the Kitware repos don't even work in Ubuntu 22.04.

So, instructions updated to explain that step is only required for
Ubuntu versions older than 22.04.

Signed-off-by: Diego Herranz <diegoherranz@diegoherranz.com>
2022-08-25 23:39:23 -07:00
Carles Cufi 80b4df8839 blobs: Document the submission process
Add the missing piece of documentation for binary blobs: the submission
process. This follows the external source code process relatively close,
but it is relatively simpler.

The proposal includes a new issue template for requesting inclusion of
blob(s) for a particular module.

Fixes #7516.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-08-25 11:10:53 -04:00
Carles Cufi 7743b6da85 doc: Require Python 3.8
Given that 3.6 is now several years old and the current and previous
 Ubuntu LTS ship with 3.8 or later, upgrade the minimum required Python
version from 3.6 to 3.8.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-08-24 18:35:57 +02:00
Gerard Marull-Paretas cd739a9757 doc: fix incorrect usage of envvar role
:envvar: is currently used to tag environment variables, however,
:envvar: role expects a matching .. envvar:: directive where the
environment variable is defined. This patch fixes some cases by adding
envvar directives and by converting certain cases to literals (it
doesn't make sense to document all env vars in a list, as some are
self-documented by contextual information).

Ref. https://www.sphinx-doc.org/en/master/usage/restructuredtext/
roles.html#role-envvar

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-23 10:15:34 +02:00
Martí Bolívar f6416681ca doc: west: mention west blobs in without-west.rst
This page is out of date now that we have blobs infrastructure managed
by west blobs. We need to tell users that they are on their own when
it comes to building applications that require blobs if they aren't
using west.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2022-08-22 16:37:07 +00:00
Martí Bolívar 16d681c2ef doc: blobs: fixes and tweaks
From a user perspective, it doesn't really matter that west blobs is
an extension. And again from a user perspective, the fact that the
command is called "blobs" is much more important than knowing that
it's an extension. Similarly, the fact that we host it in zephyr and
why isn't super relevant.

Re-work the docs so that we refer to the command as "west blobs"
instead of "a/the west extension" or "west", for ease of reading.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2022-08-22 16:37:07 +00:00
Carles Cufi 0b3564e36d blobs: Document the command and the module integration
Extend the existing documentation by documenting the command itself and
the format of the module.yml blobs section.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-08-18 15:25:43 +00:00
Torsten Rasmussen 5fa4156462 doc: sysbuild documentation guide
This is this initial sysbuild guide on what sysbuild is and how to build
a sample using sysbuild.

It provides an architectural overview of sysbuild.
Descriptions on how to use `west build` or `cmake` + `ninja` to build
projects with the sysbuild infrastructure.

Flashing is described through the use of `west flash`.

Extending sysbuild with additional Zephyr based applications are
described, and reference to CMake documentation for including non-Zephyr
based applications are provided.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2022-08-12 13:56:55 +02:00
Gerard Marull-Paretas b2520b09a7 devicetree: drop support for dts_fixup.h files
Devicetree fixup files existed previous to the current stable Devicetree
API. While they served their purpose, they are no longer necessary nor
used in-tree. This patch drops support for this legacy feature.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-11 12:17:02 +02:00
Yuval Peress 84dfb8edf8 ztest: allow asserts anywhere
Updates the ztest_test_fail() function to allow failures in setup.
When executed, a failed assert will fail every test in the suite owning
the setup function. This was verified by adding a suite which asserts
in the setup function and has a test that should pass. During
exeuction, ztest marks the test as failing.

In order to verify exection I also added 2 new APIs:
- ZTEST_EXPECT_FAIL(suite_name, test_name)
- ZTEST_EXPECT_SKIP(suite_name, test_name)

Signed-off-by: Yuval Peress <peress@google.com>
2022-08-09 13:30:15 -04:00
Chen Peng1 7f105cea87 twister: support board@revision in platform filter
support to use board@revision as platform filter when running
twister, like "twister -p nucleo_f030r8@1 ...".

Signed-off-by: Chen Peng1 <peng1.chen@intel.com>
2022-08-09 08:45:55 -04:00
Fabio Baltieri def230187b test: fix more legacy #include paths
Add a bunch of missing "zephyr/" prefixes to #include statements in
various test and test framework files.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-08-02 16:41:41 +01:00
Nikolai Kondrashov 6cee447a15 doc: Fix a couple typos
Fix a couple small typos in docs.

Signed-off-by: Nikolai Kondrashov <spbnick@gmail.com>
2022-08-01 18:04:02 +01:00