Commit graph

91 commits

Author SHA1 Message Date
Torsten Rasmussen 7d03f2f08f doc: Zephyr SDK CMake package support
This commit updates the documentation so that it no longer requires
ZEPHYR_SDK_INSTALL_DIR and ZEPHYR_TOOLCHAIN_VARIANT to be used when
using the Zephyr SDK.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2020-05-20 12:05:40 +02:00
Andrejs Cainikovs 02a5ca931d doc: gsg: add missing python3-dev dependency
Linux distro might not have a python3-dev package installed by default,
which will give an error during Python dependencies installation.

Closes #25128.

Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@gmail.com>
2020-05-08 17:30:19 +02:00
Peter Bigot 97a5ec0d4f doc: gsg: provide a working link to the Zephyr SDK download page
The command-line is correct but specifies a particular release, which
may be out of date, and is not formatted as a URL that can be clicked.
Add a proper link.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-04-16 10:24:38 +02:00
Torsten Rasmussen db0b4e15e9 doc: Update documentation to describe use of find_package(Zephyr)
This commit changes the current boilerplate include description and
instead describes the use of find_package(Zephyr)

It also add a section covering additional possibilities when using
find_package(Zephyr).

- Search order
- Zephyr repository application description
- Zephyr workspace application description
- Zephyr freestanding application description
- Environment ZEPHYR_BASE setting
- Multiple Zephyr and preference setting

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-03-27 16:23:46 +01:00
Carles Cufi b3bb324735 doc: gsg: Update SDK version
Several users have noticed that the SDK version in the GSG is outdated.
Update it to the latest, 0.11.2.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-03-02 18:52:10 +02:00
Alberto Escolar Piedras 88f36bb796 doc: getting_started: Add missing native_posix dependencies
For some time now we are building also the C++ samples in
native_posix in CI.
For those who want to run the whole suite locally, they
require g++-multilib, which was missing in the Ubuntu list
=> Add it.

Similarly the display sample is built in CI for
native_posix64, so add the 64bit SDL dev library to both
the Ubuntu and Fedora lists.

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2020-02-06 08:52:17 -05:00
Anas Nashif e0e31eb296 doc: fix links to www.zephyrproject.org
Lots of broken links after the website update. Fix them or point to
alternatives.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-02-03 17:22:18 -05:00
Anas Nashif 01b3159b31 doc: update gsg with sdk v0.11.1
We are now using 0.11.1, so update the getting started guide.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-02-03 14:57:10 -06:00
Martí Bolívar 93b740c464 doc: update GSG and Linux guides for move to Python 3.6
Add information about the minimum Python version to the advanced Linux
documentation.

Drop 16.04 from the GSG since its system Python 3 is no longer covered
by these instructions.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2019-12-18 10:15:45 +01:00
David B. Kinder 331214704c doc: New developer getting started guide
As presented to the TSC, Zephyr's out-of-box experience for new
developers is, well, complicated.  A number of suggestions were
presented including simplifying the getting started material to present
a straight-forward path through the setup and installation steps through
to getting a sample application built, flashed, and running.

This PR is a work-in-progress towards addressing this OOB experience
with a minimal-distractions version of the GSG. Alternatives, warnings,
and material that could lead the developer astray were moved to
alternative/advanced instruction documents (based on the previous
separate Linux/macOS/Windows setup guides) and a new "Beyond the GSG"
document.

We do take advantage of a sphinx-tabs extension for synchronized tabs to
present OS-specific instructions: clicking on one tab will display all
same-named tabs throughout the doc.

We hope (and will continue evaluating) that this new GSG gets developers
set up quickly and then we can send them along to other documents to
continue learning about Zephyr and trying other sample apps.

Thanks for all your previous feedback that I've worked
into this new version.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-11-13 14:05:47 -06:00
Charles E. Youse 6767563f94 arch/x86: remove support for IAMCU ABI
This ABI is no longer required by any targets and is deprecated.

Signed-off-by: Charles E. Youse <charles.youse@intel.com>
2019-09-07 10:07:42 -04:00
Kumar Gala 13a89cfbe7 doc: sdk: Update docs to use SDK 0.10.3
Update the install docs to reference SDK version 0.10.3

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-08-19 11:06:55 -05:00
Kumar Gala 9fb1fd4d6a doc: sdk: Update docs to use SDK 0.10.2
Update the install docs to reference SDK version 0.10.2

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-08-08 21:56:45 +02:00
Carles Cufi 271eb008cd doc: Minor fixes to the Getting Started guide
A couple of minor fixes suggested by a user.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2019-07-26 12:00:19 +02:00
Carles Cufi 9b13d51589 doc: Consolidate Python and pip documentation
The documentation that describes how Python and pip interact with the OS
when installing packages used to be under a common section, and was
moved to the west bootstrap one later on. Since this information is
required early on (for example on Linux when installing CMake via pip3),
move the info to its own section and link to it from others.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2019-07-26 12:00:19 +02:00
Carles Cufi 6c73652358 doc: getting_started: Remove Linux distro versions
Remove the version numbers from the distribution listings, since those
get outdated quickly and on top of that they are causing confusion due
to those being now too old to contain recent versions of CMake and DTC.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2019-07-26 12:00:19 +02:00
Carles Cufi ad5791cf89 doc: getting_started: Document DTC version installation
Document that the SDK contains a bundled dtc binary and how to use it.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2019-07-26 12:00:19 +02:00
Carles Cufi 51fdef5603 doc: getting_started: Add CMake snap installation option
Document how snap can be used on Ubuntu to install a recent CMake
version.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2019-07-26 12:00:19 +02:00
Steven Wang 033706c29c Doc: Use SDK 0.10.1 instead of 0.10.0.
There are several critical issues with SDK 0.10.0. For the detail,
please refer to the link below.

https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.10.1

Signed-off-by: Steven Wang <steven.l.wang@linux.intel.com>
2019-06-27 07:15:19 -04:00
Marc c790d5b498 Apply David's English corrections from code review
Co-Authored-By: David Kinder <david.b.kinder@intel.com>
2019-06-25 23:34:41 -04:00
Marc Herbert 3022fcecc6 doc: how to unset Clear Linux' CFLAGS and CXXFLAGS
Clear Linux exports to all users a list of "aggressive" compiler and
linker flags. Zephyr's CMake build system will either warn or fail
because of these. Add one magic command that solves the issue.

More background information at https://superuser.com/a/1452523/111302

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2019-06-25 23:34:41 -04:00
Marti Bolivar 5edb6d5def doc: unify documentation on setting environment variables
There are a few different places where alternatives for setting
environment variables are described. None of them is 100% complete, so
the results are likely to be confusing.

Make a single page on setting environment variables, how the zephyrrc
files work, how the zephyr-env scripts work, and some of the important
environment variables, with appropriate references elsewhere. (This is
inspired by the Arch wiki's excellent page on installing programs.)

Link to it from the getting started and application development pages
instead of repeating the information. This has the benefit of
shortening the getting started guide a bit more.

Add some concrete advice on checking the toolchain environment
variables in particular. This is a stumbling block for beginners.

Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2019-06-14 14:19:09 -04:00
Marti Bolivar b587909427 doc: periodic updates to getting started guide
Updates based on discussion and changes in supported features.

- Make the guide shorter by removing content that's not relevant to
  most users who are truly just getting started, such as information
  about pre-LTS versions that did not support west, and by being more
  concise in some places.

- Decrease the number of colored boxes. At the latest TSC F2F, the
  "note / warning / note / tip" contents were identified as a
  readability problem.

- Add additional information based on new west features, like "west
  boards".

Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2019-06-14 14:19:09 -04:00
Ulf Magnusson baf38e9cb8 doc: Add guiconfig documentation
Add documentation for the new GUI configuration interface in the
Application Development guide.

Also update all the images, touch up the language a bit, and tweak some
minor stuff:

 - Say *.conf instead of .conf to make it clearer that .conf isn't the
   literal name

 - Add a missing -D<board> argument when running cmake

 - Use figure:: instead of image::. Comes out left-aligned and with
   space between the images, which looks nicer.

 - Explain what '- -' and '-*-' means in the terminal menuconfig.

tkinter isn't included by default in many Python installations, despite
being part of the Python standard library, so also add the required
packages to the Development Environment Setup section of the manual. Add
a note to the Application Development section as well, to help
debugging.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-05-30 09:54:06 -04:00
Kumar Gala 07384cf9e9 docs: Updated Linux Getting started for SDK 0.10.0
Update instructions to point at SDK 0.10.0

Fixes #14258

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-03-11 11:01:08 -05:00
Anas Nashif 5060ca6a30 cmake: increase minimal required version to 3.13.1
Move to latest cmake version with many bug fixes and enhancements.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2019-01-03 11:51:29 -05:00
Ruth Fuchss 664741c5bf doc: Add anchor in Getting Started
Add an anchor in the Getting Started topic to be able to link to
the requirements section.

Signed-off-by: Ruth Fuchss <ruth.fuchss@nordicsemi.no>
2018-12-07 16:45:49 -05:00
Anas Nashif 0819684703 doc: update docs with latest SDK
Changed documentation to point to SDK 0.9.4.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-11-05 11:00:38 -05:00
Alberto Escolar Piedras 27ec9fa7f2 doc: Linux installation: Add gcc and gcc_mulitlib for Ubuntu
In 0d811b9aee the gcc-mulitlib package
was removed from the Ubuntu list of packages to install.
Seems this may be creating some confusion for some developers (see
comments in #10243)
Let's add it back.

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2018-11-01 18:39:09 -04:00
Marti Bolivar 0d811b9aee doc: overhaul getting_started
The getting started documentation has become a bit of a mess over
time:

- The reader needs to jump forward and backward in the documents
  depending on what their system already has installed (e.g. "start by
  cloning Zephyr, oh wait, see below if you don't have Git yet" etc.).

- The operating system setup guides, toolchain setup instructions, and
  application build and run information have each become their own
  balkanized fiefdom, with duplicated, confusing and sometimes
  inconsistent results.

- Linux documentation for all distributions is incomplete in some
  places (the Arch documentation in particular is vestigial)
  and wrong in others (platforms like Ubuntu still nominally require
  tools, like autoconf, that haven't been necessary since we stopped
  using the C Kconfig tools)

- The dependencies needed to build the documentation have
  gotten *huge* since the LaTeX additions and massively overstate the
  footprint of Zephyr's real dependencies. This is particularly a
  problem on Linux, where those dependencies were not clearly
  separated from those needed to build Zephyr.

- The toolchain setup documentation is confusing and scattered across
  the main file and the platform-specific files. There are various
  bits of incomplete and/or incorrect information. For example, the
  docs imply that you can use the Zephyr SDK on non-Linux hosts, which
  isn't true. As another example, some toolchains, such as GNU Arm
  Embedded, are documented several times. As a final example, some
  toolchains, such as Intel's ISSM, are squirrelled away in the
  Windows document when there are Linux builds available.

Overhaul the pages to fix these issues and otherwise clean up the
language. One significant side-effect is that all the
toolchain-related information is rooted in a single toctree. Another
is that it should now be possible to follow the instructions, in
order, on any supported platform.

Signed-off-by: Marti Bolivar <marti@foundries.io>
2018-10-17 19:07:58 -04:00
Iván Sánchez Ortega 3a80518577 doc: Indent RST code blocks and notes
Fixes the indentation for some code blocks and notes
through the "getting started" instructions.
The main effect is that an ordered list
is no longer broken by a note block.

Signed-off-by: Iván Sánchez Ortega <ivan@sanchezortega.es>
2018-09-19 14:46:02 +02:00
Sebastian Bøe 19845a7489 cmake: Don't use the environment variable CFLAGS
Some distros set the environment variable CFLAGS, this will
accidentally affect Zephyr builds.

To fix this we clear the environment variable from within the Zephyr
build system for the duration of the CMake execution.

Until now we have been instructing the user to clear it, but it is
easier for the user if we clear it for him.

The same applies to CXXFLAGS.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-09-05 18:40:32 -04:00
Daniel Leung 9945e7fda0 doc: add ability to generate PDF
This adds new targets to generate build documentation through
LaTEX to PDF.

There are a few notes:

1. pdflatex complains about the tex file generated by doxygen
   so it needs to be fixed with a Python script before feeding
   in through pdflatex.

2. SVG files are not recognized by pdflatex so they are converted
   to known good format on the fly, only for producing PDF. This
   uses the libRSVG's rsvg-convert tool.

Relates to #6782.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2018-08-29 18:16:56 -04:00
Arjun Warty cd1705313f Doc: installation_linux.rst: Feedback Updates
Modified the web page to  make it direct and easier to understand.

Major changes being the selection of the directory in the Zephyr SDK
Installation and a Note added for the '.zephyrrc' to include the SDK
installation location if not default.

Minor changes involving the elimination of repeated use of same sentence
with different Host OS and indentation correction in the Fedora section
since it showed up in 'white text' rather than code block.

SDK's '.zephyrrc' documentation needed to have the default location and
the user defined location

Signed-off-by: Arjun Warty <arjun.warty@nxp.com>
2018-08-02 19:16:20 +02:00
Alexei Colin 368826e951 doc: getting started: add Arch Linux package
The SDK has been packaged for Arch Linux and can be found
in Arch User Repository. Update the docs to make this known.
The package is useful because by installing it the user
gets all dependencies automatically installed.

Signed-off-by: Alexei Colin <ac@alexeicolin.com>
2018-07-31 20:21:41 -04:00
Maureen Helm d7d1090422 doc: scripts: Updates for pyocd v0.11.1
pyocd recently added support for python 3 so we can now remove the
python 2 package requirements. It also merged Zephyr thread awareness
upstream, so we can remove the reference to my pyocd pull request.

Tested debugging and flashing on Linux and Windows.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-07-27 00:54:55 +02:00
Daniel Leung 62b8489635 doc: getting_started: add instructions to build on Clear Linux
This expands the Development Environment Setup on Linux guide to
include instructions for Clear Linux.

Tested on Clear Linux build 23610.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2018-07-16 21:02:24 -04:00
Marti Bolivar 64ab13264a getting_started: fixes and cleanups for installation_linux
Miscellaneous fixes and concision improvements.

Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
2018-06-08 08:03:05 -04:00
Anas Nashif 941007d4a0 doc: Update Zephyr SDK version
Reference new SDK version (0.9.3) in the docs.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-05-17 11:08:35 +03:00
Sebastian Bøe 9342e3d32e doc: getting_started: Remove redundant and erronous doc's
The 'getting started' documentation is stating that one should set
some environment variables, but this is not necessary because the user
has already been instructed to set the variables in the
platform-specific guides.

The duplicated documentation should be removed because it is inferiour
to the original documentation. E.g. this documentation does not
describe how to permanently set environment variables. Also, it is
confusingly demonstrating how to use the SDK on Windows, but this is
not supported.

I believe that the purpose of the section is to verify that the user
has not misconfigured or misinstalled the toolchain, but this
responsibility is handled better by CMake itself.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-05-15 18:13:35 +03:00
Iván Sánchez Ortega 71ddd825ec doc: Add 'apt-get install python3-wheel' to linux installation docs
Adding missing dependency to the "getting started" documentations.
Without the python3-wheel package, running "pip3 -r requirements.txt"
on a Debian system will fail.

Signed-off-by: Iván Sánchez Ortega <ivan@sanchezortega.es>
2018-03-17 19:05:17 +01:00
Anas Nashif 7ee8bb9677 build: deprecate ZEPHYR_GCC_VARIANT
We want to support other toolchain not based on GCC, so the variable is
confusing, use ZEPHYR_TOOLCHAIN_VARIANT instead.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-02-13 07:44:45 -08:00
Anas Nashif c1e395ec90 doc: we do not need gcc-c++.i686 on fedora
This package is not needed for building on fedora and currently causes
dependency issue with the fedora package manager, so remove it.

Fixes #6013

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-02-07 22:39:06 -05:00
Anas Nashif 61346f0c42 doc: install pyocd using pip2
pyocd does not exist as a python 3 module, use pip2 to install it.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-02-06 19:40:42 -05:00
Anas Nashif b452e9ecde doc: update package dependencies for Linux
We now require host compiler for building Zephyr in 32bit mode.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-02-06 15:59:36 -08:00
Carles Cufi 72046a8abc doc: getting_started: Support multi-OS instructions
In order to be able to document the build on Windows and UNIX
systems, slight variations are required on the app commands
that are used throughout the documentation system.

This includes getting rid of the prompt symbol and providing commands
for both UNIX and Windows operating systems.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2018-01-18 16:53:31 -05:00
Anas Nashif 6b55598ad4 board: posix: add native_posix board definition
Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-12-27 14:16:08 -05:00
David B. Kinder 8b81294f55 doc: environment setup needs zephyr clone first
There are files in the cloned copy of the Zephyr tree needed to setup
the development environment, so there's a bit of chicken and egg
problem.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-12-05 12:48:14 -05:00
Sven Dowideit 46f530e273 doc: make the CMake instructions a little more active
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2017-11-22 07:49:41 -05:00
Carles Cufi fa0030a31c doc: getting_started: Convert to using app extension
Use the new zephyr-app-commands extension to document the building of
applications

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2017-11-09 10:35:22 -05:00