Commit Graph

462 Commits

Author SHA1 Message Date
Benjamin Cabé
f7ad282504 boards: arduino: doc: Adopt Sphinx custom board directives
Adds zephyr:board and zephyr:board-supported-hw directives to the
Arduino docs in order to generate more of the boards' documentation
automatically.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-03-18 16:40:59 +01:00
Michael Feist
63623915af doc: update Rust documentation to say support Rust instead of CMake
Seemed to be a typo in the Rust doc page saying to enable CMake support
in your CMakeLists.txt. Swapped to say Rust.

Signed-off-by: Michael Feist <michael.feist@etcconnect.com>
2025-03-15 00:36:11 +01:00
Alex Fabre
5ba659c43f sca: gcc: add support for additional analyzer options
This commit brings support for additional GCC static analyzer options
with 'GCC_SCA_OPTS=...'

Linked to discussion on 'ccache' side effect on analyzer file
generation[1]

[1] https://github.com/zephyrproject-rtos/zephyr/discussions/86196

Signed-off-by: Alex Fabre <alex.fabre@rtone.fr>
2025-03-13 16:53:26 +00:00
Martí Bolívar
70efa2b120 doc: document "west gtags" command
Document this command's existence, provide basic usage, and describe
the locations of resources where additional help etc. should be found.

Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
2025-03-07 19:57:00 +01:00
Jamie McCrae
6888aba5bd doc: sysbuild: Add note on configuring board roots
Adds a note on how these should be configured

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-03-05 09:58:26 +00:00
Pieter De Gendt
c0c6047257 doc: develop: getting_started: Add powershell tabs
Activating the Python environment on Windows can be done in a regular
command line prompt, or in powershell. But the activation script is
different.
Add a code tabs to include the powershell alternative.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-02-28 14:52:30 +01:00
Benjamin Cabé
6060f07189 doc: toolchain: add reference label for IAR Arm Toolchain documentation
Add anchor to be able to reference this page from other places.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-27 13:26:56 +00:00
David Brown
68a5a95f2b docs: develop: languages: Add initial documentation for Rust
Start a simple set of documentation on using Rust within Zephyr.  This
gives an overview of how to use Rust, and pointers to the generated API
documentation.

Signed-off-by: David Brown <david.brown@linaro.org>
2025-02-27 09:07:42 +00:00
Butch Warns
141561fc1e doc: fix debug/informational options wrong defaults
Fixes: #86021
Documentation erroneously states CONFIG_DEBUG option is enabled by default.

Signed-off-by: Butch Warns <contact@butchwarns.de>
2025-02-25 20:39:10 +01:00
Guillaume Gautier
6cf1ecbeff doc: develop: tools: add doc to debug with stm32cubeide
Add documentation to use STM32CubeIDE for debug only.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-25 15:13:57 +00:00
Derek Snell
b5de6307d2 doc: getting_started: Install Perl in Windows
Perl is required for check_compliance.py/checkpatch.pl, and needs to be
installed in Windows to run these scripts.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-02-22 07:10:57 +01:00
Benjamin Cabé
66a3c6c9ef doc: adopt allowlist/blocklist terminology
Fixed a few occurrences of non-inclusive language.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-19 18:48:15 +01:00
Pieter De Gendt
ece3f3b5b6 doc: develop: beyond-GSG.rst: Add west packages to "Keeping Zephyr updated"
Add an entry to the commands to run for "Keeping Zephyr Updated" as
python packages might have been updated/added as dependencies.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-02-18 10:07:11 +01:00
Grzegorz Chwierut
df40aa5574 twister: shell harness with commands alongside the harness_config
Allow user to add shell commands in testcase/sample yaml file
alongside the harness_config like in the console harness.

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2025-02-14 19:14:38 +00:00
Robin Kastberg
c3c5333db5 toolchain: doc: Add toolchain information about IAR
This commit adds documentation information
about the IAR toolchain.

Signed-off-by: Robin Kastberg <robin.kastberg@iar.com>
2025-02-14 19:12:44 +00:00
Emil Gydesen
bf95ad47be docs: Rename BLE to Bluetooth (LE) where applicable
The BLE acronym is not an official description of Bluetooth
LE, and the Bluetooth SIG only ever refers to it as Bluetooth
Low Energy or Bluetooth LE, so Zephyr should as well.

This commit does not change any board or vendor specific
documentation, and the term BLE may still be used in those.
It will be up to the vendors to update it if they want,
since many of them are using the term BLE in their
products.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-02-12 12:24:18 +01:00
Anas Nashif
c1f603b9fe doc: twister: add shell harness doc
Document usage of shell harness.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-02-08 08:13:46 +01:00
Anas Nashif
49dcc54237 twister: update harness docs
Refine harness docs and move configuration options for each harness into
own section for clarity.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-02-08 08:13:46 +01:00
Grant Ramsay
a36c91b4cc doc: gsg: Add note on AArch64 Linux multilib availability
Currently, multilib packages are not available for AArch64 Linux

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2025-02-05 08:16:41 +01:00
Johan Hedberg
7a426deae3 doc: gsg: Clarify west workspace naming requirements
The way the instructions were formulated, it was possible for someone to
get the impression that only a specific name of the workspace is allowable.
Clarify that the name and location can be freely chosen.

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
2025-02-04 11:56:40 +01:00
Jamie McCrae
150f3674dd doc: Remove build type information
Removes information on this feature now it has been removed

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-01-30 16:19:57 +01:00
Dmitrii Golovanov
addfce6421 doc: coverage: Unify command line formatting style
Use the same command line formatting style for coverage execution
examples.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2025-01-30 02:01:56 +01:00
Dmitrii Golovanov
9228bb20bf doc: coverage: Add Twister --coverage-basedir use case
Add an example of using Twister for an 'out-of-tree' application's
code coverage report generation with `--coverage-basedir` option,
and a note about `gcovr` tool possible problems with symlinks.

Fixes: #83764

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2025-01-30 02:01:56 +01:00
Martí Bolívar
7d40091fbf doc: the west workspace topdir is not a git repository
It's a design decision that the west workspace "topdir"
(that is, the top level directory containing the .west directory), is
not itself a git repository. This exists to give us some breathing
room to make changes to the workspace which would otherwise
potentially cause breakage if the entire workspace is in .git.

While this has always been the case, I'm documenting this now because
I reviewed a PR today that flipped my bit from "this is a question to
answer on a case by case basis" to "this is a frequently enough asked
question that I want to be able to link people to the answer":

https://github.com/zephyrproject-rtos/zephyr/pull/84305

We can debate the wisdom of this design decision (and, informally,
I've always tried to avoid breaking these setups), but IMO it's too
late to try to change this in west. Make it explicit in the docs that
you're on your own if you try this.

Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
2025-01-23 19:22:13 +01:00
Stephanos Ioannidis
b69f8ee0b6 doc: develop: toolchains: Remove 'xtools' documentation
The `xtools` toolchain variant has been deprecated since Zephyr v3.3.0 and
now removed.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2025-01-17 10:50:07 +01:00
Dmitrii Golovanov
b4d22420e9 twister: harness: recording: Allow multiple patterns
Extend Twister Harness 'recording' feature to allow multiple
regular expression patterns to extract different types of records
from test output.

Add 'merge' recording mode to collect all extracted data fields
into a single record object of the test instance.

Export to CSV file now takes all field names occurred in the collected
records, sort it alphabetically, and then use it for columns instead of
using only the first record's fields. This is done to address possible
situation when records have different set of fields.

Adjust Twister documentation and test suite to the above changes.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2025-01-16 22:38:51 +01:00
Pieter De Gendt
60da065f03 doc: develop: test: twister: Add ctest harness option
Add ctest to the list of harnesses and the ctest_args harness config
option.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-01-10 04:12:42 +01:00
Pieter De Gendt
751f3a9c37 doc: develop: Add external runners for modules information
Add an example for the `runners` section in the zephyr/module.yml file,
and a paragraph to the west "flash and debug runners" section.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-01-08 17:02:06 +01:00
Anas Nashif
53486c9538 doc: twister: add documentation of integration_toolchains
Document the new option and how to use integration_toolchains.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-01-08 12:58:59 +01:00
Martin Becker
2871f1abef sca: added support for Polyspace tool
Add the cmake files for running static code analysis with the Polyspace
tools in the west build. The analysis leverages the compilation database.
Options for the analysis are documented in doc/develop/sca/polyspace.rst.

Analysis results are printed as command line output and provided as CSV.

Manually tested on v4.0.0 with various sample applications.

Signed-off-by: Martin Becker <mbecker@mathworks.com>
2025-01-07 14:13:13 +01:00
Peter Johanson
27615a7cf1 west: runners: bossac: Honor --erase flag
Instead of unconditionally erasing the whole target, add
support for using the common --erase flag.

Signed-off-by: Peter Johanson <peter@peterjohanson.com>
2024-12-22 18:20:30 +00:00
Oleg Zinovyev
2c271cbfbd doc: develop: tools: CLion: add update note
CLion now offers a more native approach to working with Zephyr projects.
We would like to inform users about this.

Signed-off-by: Oleg Zinovyev <oleg.zinovyev@jetbrains.com>
2024-12-16 20:50:31 +01:00
Dmitrii Golovanov
b69a8d1deb twister: ztest: short test case names on --no-detailed-test-id
Extend `--no-detailed-test-id` command line option: in addition to its
current behavior to exclude from a test Suite name its configuration path
prefix, also don't prefix each Ztest Case name with its Scenario name.

For example: 'kernel.common.timing' Scenario name, the same Suite name,
and 'sleep.usleep' test Case (where 'sleep' is its Ztest suite name
and 'usleep' is Ztest test name.

This way both TestSuite and TestCase names follow the same principle
having no parent object name prefix.

There is no information loss in Twister reports with this naming:
TestSuite is a container object for its TestCases, whereas TestSuite
has its configuration path as a property.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2024-12-16 08:35:34 +01:00
Thomas Günther
20409ca2cc doc: add get_filtered_output method documentation
Add documentation for the get_filtered_output method in both the Python
implementation and the Integration with pytest chapter. The method is used
to filter command outputs by removing prompts and log messages, making it
easier to process shell command results.

Signed-off-by: Thomas Günther <thomas.guenther@limatica.com>

removed traling whitespace
2024-12-05 20:00:47 -05:00
Benjamin Cabé
2f583a8369 doc: gsg: warn against using Python 3.13 on Windows
History seems to repeat itself and we need to momentarily discourage
folks to use Python 3.13 on Windows until windows-curses releases a
PyPI package that works with it.
See https://github.com/zephyrproject-rtos/windows-curses/issues/69

Fixes #81543.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-11-28 12:53:42 +01:00
Anas Nashif
48ddfe7c4a twister: filters: add ability to filter by vendor
add vendor_allow and vendor_exclude to the list of filters. The vendor
data is maintained in the board.yml files.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-11-27 06:58:23 -05:00
Benjamin Cabé
e544465cd6 doc: _scripts: conf: apply ruff lint rules
This makes all remaining Python scripts in doc compliant w.r.t current
Ruff rules

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-11-26 15:43:52 -05:00
Pieter De Gendt
32c59004bf doc: develop: modules: Add a section about package managers
Add a description and example on how modules can describe pip
dependencies.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-25 12:16:43 +01:00
Pieter De Gendt
6d103d73a4 doc: gsg: Update with west packages command for pip
Update the entry where Python dependencies are installed, use
west packages.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-25 12:16:43 +01:00
Wilfried Chauveau
7cc70f01f1 scripts: twisterlib: Enable multiple simulator support in twister
This change introduces the ability in twister to select which
emulation/simulation tool to use on the command line.

If none is specified, it will select the first in the list.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2024-11-25 08:31:28 +01:00
Dmitrii Golovanov
18451bca44 doc: twister: Update test naming and application diagram
Update Test Application diagram as well as Test Scenario and
Test Case naming conventions to make them more clear and aligned
to Ztest suite name included as a part of Test Case name.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2024-11-22 08:26:59 -05:00
Grzegorz Chwierut
e0bd7e7c87 twister: Allow sharing hardware platform between variants
Extended hardware map to share a single board between variants.
To run tests for different variants on the same board
without re-configuring the hardware map file for each variant,
one can use a `platform` atribute as a list of names.

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2024-11-21 14:48:03 +01:00
Pieter De Gendt
45a3b6b731 doc: develop: west: Remove deprecated west.log
The global state west.log is deprecated, replace with WestCommand
logging.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-18 13:18:42 -05:00
Simon Hein
22ce16d17b doc: sca: Add Bugseng eclair documentation
Add the documentation for the eclair from Bugseng
with the pre configuration for the zephyr project.

Signed-off-by: Simon Hein <Shein@baumer.com>
2024-11-16 15:18:57 -05:00
Lukasz Mrugala
7092335c11 doc: Add information on Twister Statuses
Currently, Twister Statuses are only useful for
the initiated, save for the very basics.
This is in opposition to the fact
that they are the main thing end users take into
account when checking their Twister run reports.

In order to make Statuses more useful for the end user,
a new documentation page has been created,
elucidating the full meaning of all Statuses.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-11-15 08:09:28 -06:00
Pisit Sawangvonganan
1175f57640 doc: fix typo in multiple directories before v4.0.0 release
Utilize a code spell-checking tool to scan for and correct spelling errors
in various files within the `doc` directory.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-11-13 13:35:49 -06:00
Robert Middleton
05ad0ae8fd doc: develop: tools: Add STM32CubeIDE directions
Add directions on using STM32CubeIDE for developing Zephyr.

Signed-off-by: Robert Middleton <robert.middleton@rm5248.com>
2024-11-12 09:57:15 -06:00
Anas Nashif
79f742f252 doc: tests: remove page about deprecated ztest APIs
Remove leftover page about deprecated ztest APIs.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-11-12 09:56:54 -06:00
Declan Snyder
39f32eac37 doc: twister: Clarify that the minimums are rough
There is no way to know for sure the size of an image built for a test,
given that zephyr can build for so many different architectures,
platforms, software supports, etc. So it should be clear that the filter
for min_ram and min_flash on the twister testcases is an estimate, and
not a strictly well known value.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-11-07 18:04:08 -06:00
Daniel Leung
cdb9166b81 cmake: toolchain/xcc,xt-clang: env vars for multiple cores
To use Xtensa toolchain, various environment variables must be
set so the executables can find necessary files and what core
to compile for. This becomes an annoyance when you have to
test multiple boards with different cores. You have to use
one set of environment variables per core. Twister cannot test
them all in one setting, and it is especially annoying doing
west builds. So enhance the environment variables handling so
that TOOLCHAIN_VER and XTENSA_CORE can be replaced by
TOOLCHAIN_VAR_<board> and XTENSA_CORE_<board> where <board>
is the normalized board target (think <board>.yaml). CMake
will then figure out the core ID for the toolchain to use.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-10-31 09:26:00 -05:00