Commit Graph

473 Commits

Author SHA1 Message Date
Benjamin Cabé
e2508389c2 doc: develop: manifests: external: add emlearn
Introduce documentation for using emlearn (TinyML library) as an
external module in Zephyr.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-05-07 13:39:17 +02:00
Tobias Meyer
64fe434297 doc: sbom cmd more detail for build_dir
when following the example it was not clear that BUILD_DIR needs to point
to application for sysbuild builds

Signed-off-by: Tobias Meyer <tobiuhg@gmail.com>
2025-05-05 18:12:09 +02:00
Alex Fabre
1fdad5cc29 doc: toolchain: atfe: arm toolchain for embedded documentation
Arm Toolchain for Embedded (ATfE) is the next-generation Arm embedded
C/C++ compilation toolchain.

Arm Toolchain for Embedded is 100% open source. Arm is investing in the
LLVM linker and minor tools, and in the Picolib C library, to create a
performant 100% open source compilation toolchain for embedded
development with Arm-based designs.

The proprietary components used in Arm Compiler for Embedded 6 (the
linker, C library, and binutils carried over from the legacy Arm
Compiler 5 toolchain) are retired in favour of their open source
(LLVM and Picolib) equivalents.

Product page: https://developer.arm.com/Tools%20and%20Software/Arm%20Toolchain%20for%20Embedded
Github repo: https://github.com/arm/arm-toolchain

Signed-off-by: Alex Fabre <alex.fabre@rtone.fr>
2025-05-02 01:16:08 +02:00
Alex Fabre
6e5554b383 doc: toolchain: ac6: update documentation filename
This update changes the filename from 'arm_compiler.rst' to
'arm_compiler_6.rst' to accurately reflects its focus on AC6.

Recently, Arm introduced the Arm Toolchain for Embedded (ATfE), which is
distinct from AC6. This 7th generation compiler is entirely open source
for the first time. To distinguish it from AC6 and highlight it's a
complete toolchain rather than just a compiler, this new version will
be named Arm Toolchain for Embedded (ATfE).

Signed-off-by: Alex Fabre <alex.fabre@rtone.fr>
2025-05-02 01:16:08 +02:00
Tais Hjortshøj
0709014549 scripts: west_commands: Add powershell autocompletion (west -b)
Windows powershell can by default not autocomplete known boards when
tapping which can cause frustration when you can't quite remember the
exact name or you don't want to type it out.
west build .\path\to\application\ -p -b stm<tab> will search for
available board including 'stm' in their name.

Signed-off-by: Tais Hjortshøj <tbh@mjolner.dk>
2025-05-02 01:16:00 +02:00
Jordan Yates
a5ffd7f7a3 scripts: twisterlib: extend testcase schema for reboots
Extend the testcase schema to provide a way to communicate that a given
test is expected to reboot during execution. The generic harness takes
that information and suppresses `already STARTED` warnings if the
restart is expected.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-14 13:05:46 +02:00
Benjamin Cabé
f06c26a6d0 doc: extensions: boards: add zephyr:board-supported-runners directive
Use runners.yaml from build metadata to gather info regarding board
supported runners, store the info in the board catalog, and allow
to display it as a table in a board's doc page using the
.. zephyr:board-supported-runner:: directive.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-04-03 21:05:39 +02:00
Peter Johanson
4399d9e3a2 west: runners: rfp: Add Reneses Flash Programmer runner
Add a basic RFP runner that supports the `flash` command targettting
the Renesas Standard Boot Firmware.

Signed-off-by: Peter Johanson <peter@peterjohanson.com>
2025-03-31 19:49:22 -04:00
Benjamin Cabé
776c0cab9a doc: boards: nordic: Adopt zephyr:board directives
Migrate all Nordic boards to leverage the full extent of zephyr:board
directives.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-03-31 22:00:02 +02:00
Grzegorz Chwierut
3acfeafa35 doc: twister: update the quarantine section
Update the quarantine section in the twister.rst documentation
to include information about excluding specific platforms,
architectures, and simulators

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2025-03-24 19:23:31 +01:00
Carles Cufi
98bea0d957 doc: getting started: windows: Switch to winget
Winget has become the standard Windows package manager, and it already
contains all the packages required for Zephyr development. Switch to it
from Chocolatey for simplicity and consistency with the OS.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2025-03-24 12:13:56 +01:00
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