Commit Graph

378 Commits

Author SHA1 Message Date
Simon Glass
1545cebff3 doc: emulator: Add basic documentation
Add some basic documentation for Zephyr emulators. This is expanded
from https://github.com/zephyrproject-rtos/zephyr/issues/27531 and
recent commits.

Signed-off-by: Simon Glass <sjg@chromium.org>
2020-10-27 16:41:30 +01:00
Daniel Leung
3c79b565fe doc: add info about using thread local storage
Adds a simple document on thread local storage.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2020-10-24 10:52:00 -07:00
Martí Bolívar
3df5f4003c doc: dts: update design goals document
Some information on design goals can be updated:

- we have decided against code generation for the time being
- we can do pin muxing via devicetree (this requires soc.dtsi
  support, but the necessary devicetree infrastructure exists)

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-10-22 07:48:21 -05:00
Ioannis Glaropoulos
4932925fde doc: modules: rework content describing submitting changes to modules
We rework the titles and headers of the section where we
describe the process for submitting new module and changes
to existing modules. Move the 'requirements' section at the
top of the page.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 17:51:19 +02:00
Ioannis Glaropoulos
07d61350e9 doc: modules: move building with modules into own child section
We move the section about how to build Zephyr and integrate
with modules into its own section with title
'Integrate modules in Zephyr build system'.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 17:51:19 +02:00
Ioannis Glaropoulos
7b4ce3a442 doc: modules: document synchronization practices in module repos
In the module documentation page, add a section to describe
the requirements and the allowed practices for synchronizing
the module code base with the upstream project.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 17:51:19 +02:00
Ioannis Glaropoulos
0362c70142 doc: modules: document Testing and Documentation and module removal
In the module documentation page, add sections for
Testing and Documentation requirements. Add also a
section decribing polices for module deprecation and
removal.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 17:51:19 +02:00
Ioannis Glaropoulos
28e674b32e doc: modules: initial text about licensing policies in modules
Adding content to describe policies and requirements
around licensing in Zephyr modules.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 17:51:19 +02:00
Ioannis Glaropoulos
cc60180299 doc: modules: add text about contribution workflow
Add a section that summarizes the recommended
contribution workflow in zephyr modules.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 17:51:19 +02:00
Ioannis Glaropoulos
04cdfccdb9 doc: modules: define the individual roles for zephyr modules
Submit a paragraph that summarizes the different
individual roles in Zephyr module repositories.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 17:51:19 +02:00
Ioannis Glaropoulos
4fac732eae doc: modules: Introductory text about module candidates
Capture the discussion regarding which external projects
should be considered as candidates for zephyr modules.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-19 17:51:19 +02:00
Martí Bolívar
7e64fba9ed doc: dts: macros.bnf comment improvements
Comment updates and cleanups, cosmetic changes.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-10-17 10:46:00 -05:00
Martí Bolívar
13893af651 doc: dts: fix typo in macros.bnf
The fixed-partitions label -> node mapping macro bit is missing an
underscore.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-10-17 10:46:00 -05:00
Ioannis Glaropoulos
38dd4683c6 doc: add HW stack protection enabling in the board porting guidelines
Mention in the board porting guidelines the recommendation
to enable by default the HW Stack Protection feature, and
the rationale behind it.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-10-15 09:55:01 -05:00
Martí Bolívar
305379e944 devicetree: add first round of dependency ordinal info
Add the first API functions that directly deal with node dependency
ordinals as determined by edtlib:

- DT_DEP_ORD(node_id): node_id's ordinal
- DT_REQUIRES_DEP_ORDS(node_id): list of dep ordinals for node_id's
  direct dependencies
- DT_SUPPORTS_DEP_ORDS(node_id): list of dep ordinals for nodes
  depending directly on node_id
- DT_INST_ equivalents

This is not meant to be an exhaustive set of macros related to
dependency ordinals; rather, it's a starting out point meant to enable
initial struct device dependency tracking work. We can add more if
needed.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-10-14 13:18:44 -05:00
Marc Herbert
20c7ec4ad5 doc: west: add inline comments in the tree and manifest examples
It's great to have full manifest examples that can actually work as they
are, however the number of lines can "dilute" the feature currently
described and distract from it. Add some comments in the manifests to
highlight the current topic(s).

The file tree examples and their descriptions are carefully made up and
generally excellent, however I found my eyes going constantly back and
forth between the two in order to match them with one another and build
the actual, graphical representation in my head. These new comments
attached to the major elements of the trees will IMHO accelerate that
visual representation. What I found especially lacking: clues about
which directories are .git/ clones; a pity in the pages specifically
about git clone organization.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2020-10-12 14:50:17 -05:00
Martí Bolívar
8165008f44 dts: remove legacy macro support
The legacy macros were first deprecated in Zephyr v2.3. Now that
Zephyr v2.4 has been released, that makes two releases where these
macros have been deprecated, so it's OK to remove them.

This leaves support for legacy binding syntax in place. Removing that
is left to future work.

We need to update various pieces of documentation related to flash
partitions that never got updated when the new API was introduced.
Consolidate this information in the flash_map.h API reference page,
since that's really where users will run into it. This also gives us
the opportunity to improve this documentation.

Adjust a couple of kconfigfunctions.py and sanitycheck bits to use
non-legacy edtlib APIs.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-10-09 08:45:38 -05:00
Martí Bolívar
93608adb5a doc: update west build --pristine
This needs to be changed to reflect the change of default to 'auto'
from 'never'.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-10-07 15:16:24 -05:00
Mattia Fiumara
8244590fb8 tracing: add feature for analysing post-mortem
This adds a Kconfig option for enabling post-mortem mode of SystemView.
This is useful for crashes that occur after a longer period of time.

Signed-off-by: Mattia Fiumara <mattia.fiumara@bgrid.com>
2020-10-07 10:10:48 -04:00
Peter Bigot
6b22c764f1 doc: coverage: document unit test coverage
Unit tests require a special board and use the host toolchain.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-10-06 18:08:19 -05:00
Martí Bolívar
cc6fe437c7 doc: west: fix typo in release notes
There's a copy/paste error here.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-10-06 09:12:41 -05:00
Martí Bolívar
49fdfd4f39 doc: west: changes for v0.8
Track changes in the APIs and CLIs for this release.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-10-01 20:47:53 +02:00
Martí Bolívar
b593087734 doc: west: API doc cleanups
Use italics more consistently when referring to parameters by name.
Make the ImportFlag members appear.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-10-01 20:47:53 +02:00
Martí Bolívar
f6e90fce87 doc: west: add missing 0.7.x docs
I neglected to update the release notes when cutting these. Whoops.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-10-01 20:47:53 +02:00
Martí Bolívar
840eaab970 doc: west: add information about private repositories
How to manage repositories that require authentication to fetch from
using west is a frequently asked question.

TL;DR on the answer is that Git already has credential storage built
in, so our expectation is that there is nothing west needs to do in
particular, as users can select whatever credential helper works for
them, or set up a custom one using something like the GIT_ASKPASS
environment variable.

That's not a very helpful expectation if people aren't aware that
credential helpers exist, though, so let's document that and provide
examples for common use cases, as well as west-specific
troubleshooting advice.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-09-17 21:39:03 -04:00
Anas Nashif
01bcd0d7e5 doc: remove benchmarking section from docs
This section does not exist anymore.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-09-05 13:28:38 -05:00
Torsten Rasmussen
212c336400 cmake: extend support for conf file and board overlays
Fixes: #27934

This commit introduces additional naming support of config files.

It is now possible to create a config file of the form
`prj_<build>.conf` and automatically have a corresponding
`boards/<BOARD>_<build>.conf` config file merged.

As example, one can create a structure as:
|-- prj.conf
|-- prj_debug.conf
|-- boards
      |-- nrf52840dk_nrf52840.conf
      |-- nrf52840dk_nrf52840_debug.conf

when building: (existing behavior)
cmake -DBOARD=nrf52840dk_nrf52840 ...
prj.conf is merged with nrf52840dk_nrf52840.conf

when building: (new behavior)
cmake -DBOARD=nrf52840dk_nrf52840 -DCONF_FILE=prj_debug.conf ...
prj_debug.conf is merged with nrf52840dk_nrf52840_debug.conf

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-09-04 17:52:27 +02:00
Peter Bigot
13576962b8 doc: guides: dts: document inferred bindings for /zephyr,user
Identify the special case of /zephyr,user as a node for which property
values are generated without having to define a binding.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-09-04 07:41:19 -05:00
Martí Bolívar
c4deb9ebde doc: west: update west sign documentation
Update the documentation to reflect the easier flow.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-09-03 16:49:09 -05:00
Flavio Ceolin
49f7e2411e doc: debugging: Add information about gdbstub
An overview about gdbstub and available features.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2020-09-02 20:54:57 -04:00
Tomasz Bursztyka
c0bcfd2a77 doc: Apply constant qualifier on device instance where relevant
s/struct device */const struct device *

Fixes #27399

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-09-02 13:48:13 +02:00
Fabio Utzig
92431e2bae doc: fix :c:macro: usage
Remove parameters in :c:macro: usage because it's invalid syntax.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
4c2f0605da doc: fix invalid usage of function to :c:macro:
Some macros were using :c:func: and :cpp:func: which forbids Breathe
from resolving those symbols. Update to :c:macro: for proper resolution.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
ce12936ce1 doc: update enumerator usage to :c:enumerator:
Following the change to use the C domain for parsing, update all
existing :cpp:enumerator: references to :c:enumerator:.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
bb93b337f9 doc: update enum usage to use :c:enum:
Update enum reference usage to use C domain.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
c79d2ce794 doc: update struct references to use :c:struct:
Sphinx>=3.0 includes the `struct` role in the C domain, which provides a
specific way to link to structs, while the old :c:type: role should be
primary used to typedefs. Update existing references, using :c:type:,
:cpp:type: or emphasized symbols that point to structs to use the new
role.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
53fd5ff236 doc: update function references to use :c:func:
Following the change to use the C domain for parsing, update all
existing :cpp:func: references to :c:func:. Remove the parentheses as
well, if used, because they are not needed, this is already known to be
a function, and how it is displayed in the documentation later is a
semantic decision done by the output builder.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Torsten Rasmussen
42d84eaacf docs: Zephyr module and CMake processing
This commit describes add a section which describes how Zephyr modules
are integrated into Zephyr build system and what Zephyr module variables
that are available during CMake and Kconfig processing.

Those variables may be used for refering other Zephyr modules or
including of additional code.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-08-31 12:15:02 +02:00
Martí Bolívar
20ca76fe17 doc: west: troubleshoot no west on PATH on windows
Depending on how people set up their Python, west might not be on
PATH.

I'd like to have a special-purpose step by step guide for how to
handle this in the documentation to save support time when this
happens. I think it's worth special casing since west is the first
runnable program that pip installs onto a new user's system when
they're following the GSG.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-08-27 16:06:01 +02:00
Carles Cufi
63f838e307 doc: bluetooth: Add a new controller listing
Add a new listing for the Zephyr BLE Controller. This applies to
the Nordic nRF52 series and Zephyr version 2.2.x.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-08-27 15:57:36 +02:00
Anas Nashif
dca317c730 sanitycheck: inclusive language
change whitelist -> allow.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-08-27 07:04:07 -04:00
Andrew Boie
46def95f51 doc: memory domain updates
Update memory domain documentation to reflect the policy, API,
and code changes in this PR.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-08-26 20:35:02 -04:00
Peter Bigot
7410b9ed34 doc: guides: design: document how to handle conditional documentation
Various API involves functions and data that are conditionally
enabled.  Zephyr practice is to exclude data (always) and function
(sometimes) declarations at build time using the enabling preprocessor
macro.  This meets functional needs, but blocks generation of the API
documentation as Doxygen will not see the declarations.

Document the need to extend Doxygen's PREDEFINED setting to generate
the documentation.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-25 18:09:56 +02:00
Peter Bigot
ec507d3f03 doc: guides: add design guidelines with callback expectations
Provide a location for recommended practices that are not related to
coding style.  Initialize it with information about the expected
design for callbacks.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-25 18:09:56 +02:00
Peter Bigot
e69f22be54 doc: guides: dts: document expectation for devicetree driver configuration
Gaps in Kconfig flexibility make it necessary to provide
instance-specific driver configuration through devicetree properties
in certain cases.  Because these are not hardware characteristics or
configuration they should be marked as zephyr-specific.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-25 18:09:56 +02:00
Peter Bigot
23b34323fa doc: guides: dts: update note on enabling individual instances
The Kconfig options that formerly controlled this capability have been
removed so rework the "exception" (there is no "precedence" anymore).

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-25 18:09:56 +02:00
Daniel Leung
49206a86ff debug/coredump: add a primitive coredump mechanism
This adds a very primitive coredump mechanism under subsys/debug
where during fatal error, register and memory content can be
dumped to coredump backend. One such backend utilizing log
module for output is included. Once the coredump log is converted
to a binary file, it can be used with the ELF output file as
inputs to an overly simplified implementation of a GDB server.
This GDB server can be attached via the target remote command of
GDB and will be serving register and memory content. This allows
using GDB to examine stack and memory where the fatal error
occurred.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2020-08-24 20:28:24 -04:00
Peter A. Bigot
d75e1a8f32 doc: guides: portability: fix misspellings in POSIX C LANG table
Fix various missing letters and inconsistent parentheses.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2020-08-21 13:55:32 -04:00
Henrik Brix Andersen
b3aca735f7 doc: guides: porting: shields: fix directory layout examples
Fix the directory layout examples to use "<board>" when referring to a
board name, and "boards" when referring to the boards directory.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2020-08-21 10:27:57 +02:00
Siddharth Chandrasekaran
b5f7706009 doc: portability/posix: Indicate presence of strtok_r
Commit 0637595e added strtok_r implementation but missed updating this
document.

Signed-off-by: Siddharth Chandrasekaran <siddharth@embedjournal.com>
2020-08-20 19:40:18 -04:00