It has been observed that users might "default" to Python2 and pip
will therefore install packages for the wrong Python. pip3 appears to
always be installed when Python3 is installed, so we invoke pip3
instead of pip2 to be safe.
Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
Several users have reported confusion about whether one should stop at
the 'Using MSYS2' guide, or continue following the guide.
To resolve this we title the three options as Option 1,2,3, and change
the wording of the second guide to make it clear that it is an
alternative, not an additional step.
Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
Modernize macOS instructions to fit the latest packages offered by
Homebrew and macOS High Sierra.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
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>
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>
Add a new zephyr-env.cmd that mirrors the functionality of zephyr-env.sh
but on Windows platforms. It sets ZEPHYR_BASE to the location of the
script.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Correct 2 items in the Windows Getting Started doc:
* dtc-msys2 is now an upstream Chocolatey package
* Add instructions to clone and build Ninja for MSYS2
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
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>
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>
Since QEMU currently requires Linux or macOS to run, use "unix" as a
host OS for those documenting the build with it.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Since we're switching to ninja as a default generator for CMake, require
the ninja package as part of the requirements on macOS.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
The new native Windows development environment no longer relies on MSYS2
or WSL at all. Instead it uses a standard Command Prompt and Windows
native tools. Document the installation and setup process in order to be
able to compile and develop.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Modern windows tools will properly handle windows or linux line endings
so remove the warning about windows tools.
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
Certain parts of Zephyr require Unix-style line-endings. To make sure
the line endings are not converted to Windows-style line-endings we
explicitly specify core.autocrlf=false when cloning.
This fixes#5557
Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
Fix broken links in getting_started. We now use "Implicit Hyperlink
Targets" instead of :ref:. I don't know why :ref: wasn't working.
Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
Some users might want to inherit their already existing Windows
environment variables into the MSYS2 system. This note explains how to
achieve this.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
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>
This change changes the semantics of the environment variable
ZEPHYR_SDK_INSTALL_DIR to allow the use of 3rd party toolchains
alongside the Zephyr SDK's host tools.
Specifically, setting ZEPHYR_SDK_INSTALL_DIR now indicates that the
Zephyr SDK host tools are to be used. But not necessarily that the
Zephyr SDK's toolchain is to be used.
The documentation is also changed to explain this behaviour.
Signed-off-by: Sebastian Boe <sebastian.boe@nordicsemi.no>
Unify the format and mechanisms used in the different Getting Started
guides so that they are consistent in:
- The way Kconfig is built
- Avoiding using -B and -H CMake options
- -DBOARD instead of export
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
We no longer want to pin users to 3.8.2. Instead we tolerate the warning
and therefore ask users to get the latest CMake package from their
distro.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
This makes it possible to point users at a canonical location for how
to use zephyr-env.sh, etc.
Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
Update the Windows MSYS2 instructions with the required CMake commands
used to build on this platform.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
The sanity test script needs to have ccache installed on the Ubuntu
and Fedora developement environments.
Signed-off-by: David Leach <david.leach@nxp.com>
The MSYS2 installer does not include an updated version of the package
database, so users need to update it first in order to install all of
the required dependencies. Additionally, the repo must be cloned before
being able to install the Python requirements.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
fixed error introduced in application.rst (v1.8) along with a general
spelling check pass including consistent spelling of "runtime" and
hyphenated words with "pre-"
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
This introduces an schema-based YAML validation process when loading
any YAML file, before doing any operations on them. An exception will
be raised at SanityConfigParser() if the file fails to verify with the
given schema.
Schemas are defined for the platform files in board///*.yaml and for
the (sample|testcase).yaml files. The verification is done using the
pykwalify python library. If not installed, a warning is printed and
the verification schema is skipped. At some point, we might want to
force it being installed.
The verification library is made a separate module (scl.py) so it can
be easily imported by others.
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
ReST defines interpreted text roles where text enclosed by single quotes
can be "intrepreted", for example :ref:`some name` becomes a link to
a label anywhere in the doc set named "some name", :c:func:`funcname()`
becomes a link to the API documentation for "funcname", and
:option:`CONFIG_NAME` becomes a link to, in our case, the documentation
for the generated Kconfig option.
This patch fixes uses of `some name` (without a role) by either adding
an explicit role, or changing to ``some name``, which indicates inline
code block formatting (most likely what was intended).
This is a precursor to changing the default behavior of interpreted
text to treat `some name` as :any:`some name` (as configured in
doc/conf.py), which would attempt to create a link to any available
definition of "some name".
We may not change this default role behavior, but it becomes an option
after the fixes in this patch. In any case, this patch fixes incorrect
uses of single-quoted text (possibly introduced because GitHub's
markdown language uses single-quoted text for inline code formatting).
Jira: ZEP-2414
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
After Andy Gross submitted a package for the Device Tree Compiler
(dtc), and it has now become available on the MSYS2 package
repository, it's no longer needed for the user to manually compile
the DTC.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
When installing packages with PIP, recommend --user so that it is
installed in the user's directory vs system wide, potentially
overriding system-wide files that are under package manager control
and introducing possible security issues.
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
Avoid overriding files in the system that shall be under package
manager control with who knows what is downloaded that day, as it can
introduce security issues.
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
By having this as a Python script rather than a host executable, this
should simplify the build process on non-Unix platforms.
With this change, pyelftools is now required to build Zephyr. Please
consult the getting started documentation for your host platform for
installation instructions.
Jira: ZEP-2062
Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
List all required modules in one file and just call pip with this
file to install all needed modules instead of listing them
individually.
Added gitlint and pyocd and other required packages to the list.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Having tried and tested building Zephyr using the standard SDK on
Windows 10 using the new WSL (Windows Subsystem for Linux), add the
documentation so that others can benefit from the functionality.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
This patch adds documention for device tree development in Zephyr. This
includes a description of device tree, how it is integrated into Zephyr,
and other related information.
Signed-off-by: Andy Gross <andy.gross@linaro.org>
Some users started the wrong shell (MinGW) and ended up having build
issues, added a note about starting the right shell.
Jira: ZEP-2004
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Fixed documentation and updated config files for xtools to be used with
the latest version of crosstool-ng (1.23)
Jira: ZEP-616, ZEP-2146
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
With the required patch already being upstream, we can now redirect
users to the standard vanilla DTC tree.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
MinGW is old and unsupported, and it does not even download properly
these days. Remove the instructions that rely on MinGW since they are
only confusing for people trying to build on Windows.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Add instructions to build the DTC from Windows, note that the following
2 caveats apply:
* The flex version needs to be pinned to 2.6.0 because of a bug with the
current MSYS2 flex
* The repository to clone DTC from is currently my own on GH while
waiting for a patch to be accepted upstream
Additionally this removes the python2 requirement and adds documentation
on installing pip an pyaml.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
More general spelling fixes, and cleaning up stray UTF-8 characters
such as curly-quotes, em- and en-dashes. Use replacement strings
for |reg| and |trade|.
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
We're moving the project code to GitHub folks, so change references
in the documentation from gerrit over to GitHub:
https://github.com/zephyrproject-rtos/zephyr
Change-Id: Ic491a62ed43fc799eb5698e92435cb6eb4d89394
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
The installation instructions for Ubuntu 16.04
needed to be updated to use the correct packages
rt:40021
Change-Id: Ia6bfb66b7d24dda2556b76a495988eea20037607
Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
Add more installation details for building zephyr on Windows
including what to do with the ISSM tar.gz file that's
downloaded, proxy settings if behind a firewall, adding tar
to the dependencies (needed to extract the ISSM tar.gz file),
linking to the downloads page for the ARM toolchain, and
fixing command lines to correctly use `make BOARD=`. Verified
instructions work on a Windows 10 system.
Change-Id: I04e5f8e46df7630868568b90388dc65bb9baa4c9
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
Also recommend dfu-util on Mac OS, as it's the recommended flashing
method for Arduino 101 and 96Boards Carbon.
Change-Id: I91d5a8323330ee31cc2165336e4a0a7fdd23dbcf
Signed-off-by: Ricardo Salveti <ricardo.salveti@linaro.org>
Since MSYS2 is far more stable, reliable, maintained and easy
to set up than MinGW as a Windows development environment,
default to it for the official Windows Getting Started guide,
including instructions to compile for both x86 and ARM with it.
Change-Id: Iaba61498b3b16a8ee1edbff953de16c275282c7b
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Since we recommend using dfu-util to flash the Arduino 101 board,
it should be mentioned in the list of packages to be installed.
Also fix indentation.
Change-Id: Iafc053c1b07e79bd7d02059b46a842c25ebaaf64
Signed-off-by: Patrice Buriez <patrice.buriez@intel.com>
Update documentation on using a Windows host for doing Zephyr development
using ISSM toolchain and console commands in a mingw environment
Jira: ZEP-1177
Change-Id: I3e4edec26a430f424427734dfe407a185ace8434
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
Updated supported OSes to Fedora 25 and Ubuntu 16.04 LTS
Updated Zephyr SDK package name to reflect actual name
ZEP-1480
Change-Id: If7d79785009db8eb50028ff664ac7fc26eff79b5
Signed-off-by: Evan Couzens <evanx.couzens@intel.com>
Don't need to have the user guess the URL.
Change-Id: Ifdad9c4d1034dc541b4a84999a12b4070a9130c0
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
the existing Kbuild is missing the path and needed python script
has new dependencies on yaml package also split the long line shorter ones.
Change-Id: I34fdd2ff70b2d76b0e2af6f78f2980d20651b12d
Signed-off-by: Rishi Khare <rishi.khare@intel.com>
This will replace the current goal of 'make qemu' with 'make run' and
moves Qemu handling into its own file and into the boards instead of
being architecture specific.
We should be able to add new boards that support some other type of
emulation (by adding scripts/Makefile.<emu type>) and allow the board to
define their own options for the use type of emulation.
'make qemu' will still work, however it will be deprecated, starting
with this commit it is recommended to use 'make run'.
Jira: ZEP-359
Change-Id: I1cacd56b4ec09421a58cf5d010e22e9035214df6
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Re-add board documentation and integrate into the project online
documentation.
Setup sphinx to pick any new board documentation added to boards/*.
Change-Id: Id208d5ef923f8806135879dd33a55ed527dc5f27
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Add GCCARMEMB_TOOLCHAIN_PATH and ZEPHYR_GCC_VARIANT to
getting_started.rst per ZEP-1027
Change-Id: Ia73697c66562e02a6d93afdac6cc92e327189abe
Signed-off-by: Evan Couzens <evanx.couzens@intel.com>
Add documentation for OS X users that want to compile
using an available 3rd-party cross compiler and also
complete the section to describe the existing support
for the GCC ARM Embedded toolchain.
Change-Id: I97d27d46c0048a49029dbe4d66fe141755c226e9
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Casual building in the tree leads to regular messups where I forget to
clean up the outdir first when switching platforms and the build fails
in strange ways.
Put a $(BOARD) subdirectory under outdir, and use that at $(O) when
the user does not provide an output directory.
Note that "make pristine" continues to remove the entire outdir,
including other architecutres (so as to make the tree pristine).
Also update a few spots where outdir was mentioned in documentation to
clarify the new scheme.
Change-Id: I365eec06ea440f17380b9f9ace5f5d34b9bed4dc
Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
Replaced the term "platform" with "board" or "SoC" depending
on context as per, ZEP-534.
Change-Id: I14c13d4eed429fe6e41e2221d6ff6afe97e942eb
Signed-off-by: Evan Couzens <evanx.couzens@intel.com>
Mac OS X guide had an unneeded transient variable.
JIRA: ZEP-616
Change-Id: I1a7cea35830bb786b67aee235337f89c62a4b69f
Signed-off-by: Genaro Saucedo Tejada <genaro.saucedo.tejada@intel.com>
Mac OS X set up instructions were missing some important details that
prevent a new user to set up Zephyr development environment on a not
yet configured system.
JIRA: ZEP-616
Change-Id: I0890ec5364a0ce21e38ba4101d285fc8e46a6bd8
Signed-off-by: Genaro Saucedo Tejada <genaro.saucedo.tejada@intel.com>
update /doc/getting_started/installation_linux.rst with
ncurses package for both Ubuntu and Fedora systems
Jira: zep-478
Change-Id: Icd4ba5c2151e96330005e3e31f5ea50b437e4f18
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
Contributor documents are moved to the wiki.zephyrproject.org site
Three references in existing documents updated to point to the wiki.
Change-Id: Ib902b9596020722cf8fec2fc064725f7406297ff
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
Linux package update/upgrade instuctions were incomplete (on
Ubuntu the instructions updated the local database but didn't
actually do the upgrade). On Fedora, the dnf update command was
deprecated in favor of dnf upgrade.
Change-Id: I83e126cf924d9c3720fcfb77b0d5abda943a6af5
Jira: ZEP-516
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
Backslashes need to be doubled up, otherwise they are interpreted like
a escape sequence and basically, dissapear. As part of this, suggest
the location of the default python installation *before* using it, for
simplicity.
Change-Id: I26ed80a7dd8c08277614dc49a3986848892ff844
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
No longer necessary since the host tools compile natively now.
Change-Id: Ibe6f66fa79498678bddc25f69f799555d181ea7f
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Relocates the introductory material for Zephyr into a new document,
so that it can be more easily located by users. (Previously this
info couldn't be accessed from the list of documents on the left hand
side of a web page; instead, you had to click on the "Documentation"
tab at the top of the page, which is non-intuitive.)
Change-Id: I1e1f78162a314b958789fcef57fc864336007f3c
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
A warning was generated for the TOC entry "About Zephyr", which was
missing; replaced with a link to said section (to reduce clutter in
the document).
Change-Id: I1f879bc21bad8ec857781208ad9e31079015292a
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
Jira: ZEP-177
Changes the documentation for the toolchain path. Some windows environments
need the ISSM installation path to be written in windows format.
Change-Id: Ib4729eb668e0daa7f7f520f208def4be6b86c692
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@intel.com>
- Put everything in one page and simplify workflow.
- Fix indent and layout
Change-Id: Ifd9d11531c9b906324cf87cf401cbce416cc01a4
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Removes the specific version number of SDK installation example commands.
Specific version numbers becomes frequently outdated.
Change-Id: I6fc368b30a5fe7899f6a2fc979f469e2b3cd9f72
Signed-off-by: Genaro Saucedo Tejada <genaro.saucedo.tejada@intel.com>
Adds missing '$' to export command, env variable PYTHON_PATH was not being
expanded when using such command.
typo:
Change-Id: Iad7ee60fbe2699cceb6a6ff6cd64e3bc4ebd2f58
Signed-off-by: Genaro Saucedo Tejada <genaro.saucedo.tejada@intel.com>
The path to the sample applications is a mis-match of previous and the
current values. Correcting it to represent the new value.
Change-Id: I54ffe823335b95f1076b1346d149b359b4f2e7bd
Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
The info already exists elsewhere in the documentation / GSG.
Change-Id: I1176b496dfd28179ce7771af4d3ac659690c7a7e
Signed-off-by: L.S. Cook <leonax.cook@intel.com>
Now that we've gone open source, there no longer needs to be a user id.
Change-Id: Ib3bc8ca1591d23e89a7d9d33946d56438c4f9846
Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
The wget command is broken in the documentation. By using a \
to continue the command on another line, unfortunately line does not
render a newline character after it. As such, a copy and paste
fails miserably. Removing the \ allows a copy and paste operation.
Change-Id: I95c09dbe2dbcd51dedefcedc285e6ed38419960f
Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
The file can be used to define variables used by the SDK to avoid
having to define them everytime a session is started.
The old file names ~/zephyr-env_install.bash will still work but
it will warn about the file being renamed. We do not want to break
users who have ~/zephyr-env_install.bash in their home and depend on
it.
Change-Id: I04fcaa76854bda3dcfc1cabe75e00e95c511b10d
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Breaking out the documentation on setting up a Linux Foundation account to
it's own section. This isn't needed for the getting started process, and is
only needed if someone decides to start contributing code.
Change-Id: I112b65a53b167927d2617aef7364c13f30f74c33
Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
The current doc structure requires the creation of a Linux Foundation
account, which is not really a valid open source usage model. In fact,
it isn't even required to download anything as anonymous git clone works.
Content on creating a Linux Foundation ID will be moved to the
collaboration section in another commit.
Change-Id: I50253d7b3da85b64986d62f2e5bee25da3eb3987
Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
Updates Set Up steps from previous 01.org Gerrit to new Linux Foundation one.
Change-Id: Iab98864b405ff6dc4ea20d687fae77bd59284678
Signed-off-by: Genaro Saucedo Tejada <genaro.saucedo.tejada@intel.com>
Updates Set Up steps from previous 01.org Gerrit to new Linux Foundation one.
Change-Id: Iab98864b405ff6dc4ea20d687fae77bd59284678
Signed-off-by: Genaro Saucedo Tejada <genaro.saucedo.tejada@intel.com>
Removed a repeated heading and set the ther headings
with the correct level.
Change-Id: Ief8b2f9a7f88d0b6c2456d6ae448e86bb0b8d050
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
Restructured the guide to follow a basic three step process: Set up, develop,
build. All information that is independent of the OS selection was taken out of
of the OS related documents and placed in the general set up sections.
A new section, Developing Zephyr Applications, was added with links to all the
development relevant section of the documentation.
The content in local_development.rst was split between the setting_up.rst,
installation_linux.rst and installation_mac.rst files as appropriate.
This new structure provides a much better flow for developers beginning their
Zephyr develpment.
Applied all of Inaky's suggestions in the refactored content.
Minor markup fixes and language edits were also perfomed during the refactoring.
Fixed a cross-reference that was broken during the refactor.
Applied all the feedback from the first trial run.
Applied the feedback provided by David Kinder from TCS.
Change-Id: I3368a3a41ec9ad02cc4e7b37fe71c65abd8a7df9
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>