As we are replacing native_posix with native_sim, let's
use native_sim instead of native_posix as example platform.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Documentation does not describe how to run QEMU on Windows.
Add description of steps needed to run QEMU and use QEMU
with Twister on Windows in Beyond the Getting Started
Guide. Add a reference to it in Aplication Development
section.
Tested using Windows 11 and QEMU installer from
https://qemu.weilnetz.de/w64/
Signed-off-by: Michal Smola <michal.smola@nxp.com>
Adds details to the application development page and sysbuild
page documenting the variable, how it works and how it should
be used
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
The EXTRA_DTC_OVERLAY_FILE is also an important build system variable,
therefore add it to the list and give a brief description.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
"cmake/extensions.cmake" does not exist. The link is broken.
Fix it to correct one "cmake/modules/extensions.cmake".
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Make sure application-kconfig.include is properly highlighted by setting
the :language: attribute.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Move the chapters about Application Debugging and
Debugging using Eclipse to another file for easier search and
to allow more debugging chapters to be inserted here.
Signed-off-by: Michał Barnaś <mb@semihalf.com>
Fix text that should be linking to the URLs but was missing
the link reference and remove the obsolete links.
Signed-off-by: Michał Barnaś <mb@semihalf.com>
Added the VERSION file to the list of application files.
Added link to the application version management page.
Signed-off-by: Grzegorz Ferenc <Grzegorz.Ferenc@nordicsemi.no>
Added several header tags on Application Development.
Edited header hierarchy under Create Application.
Signed-off-by: Grzegorz Ferenc <Grzegorz.Ferenc@nordicsemi.no>
Update Zephyr modules documentation to use EXTRA_ZEPHYR_MODULES.
This gives a more consistent naming scheme in Zephyr CMake build system.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Introduce EXTRA_CONF_FILE and EXTRA_DTC_OVERLAY_FILE and remove old
references to OVERLAY_CONFIG.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Clarify the debugging section by adding subsections for the GDB client
and server. Add information about reading the system console while
debugging. Make formatting a bit more consistent generally.
Signed-off-by: Abe Levkoy <alevkoy@google.com>
Briefly explain how a user can change their gdbserver listening device via
the Kconfig option or via shell environment. User is reminded about caveats
regarding using environment variables with CMake systems. Finally, another
invokation of QEMU-with-gdb via west from root directory is presented.
Signed-off-by: Alp Sayin <alpsayin@gmail.com>
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>
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>
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>
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>
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>
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>
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>
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>
: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>
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>
This commit adds a dedicated page for the Zephyr SDK under the
'Toolchains' sub-category under 'Developing with Zephyr'.
The content of this page is based on the Zephyr SDK installation
instruction from the 'Getting Started Guide'.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit adds individual documentation page for each toolchain type
based on the content from the `3rd_party_x_compilers.rst` file in order
to improve visibility.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
Move the application types descriptions from the CMake documentation
section to the application development one, to give them visibility
and also because they application development chapter is a better home
for them.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
It is quite confusing to describe Zephyr's source tree layout in the
section for application development, given that applications do not need
to follow the exact same layout as the main tree.
Instead move this section to the contribution guidelines chapter.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>