The line between Zephyr versus application is blurry since they share
a configuration, but try to disambiguate.
Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
The documentation regarding application-specific Kconfig options is
unclear. Fix that.
Reported-by: David Kinder <david.b.kinder@intel.com>
Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
The ELF format and extension is an acronym that needs a
definition. Add it.
Reported-by: David Kinder <david.b.kinder@intel.com>
Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
Grammatical fixes caught in review of unrelated changes.
Reported-by: David Kinder <david.b.kinder@intel.com>
Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
Fix the instructions for when an alternate CONF_FILE is used.
Reported-by: David Kinder <david.b.kinder@intel.com>
Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
Re-work this section for clarity, making it clearer where the division
between emulated and real hardware is, and cleaning up the
instructions. Also re-work for correctness, updating Kbuild-style
flash instructions to use CMake.
Also make sure users know they can flash and run from anywhere on the
system using cmake --build.
Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
Fix the white space around "Naming Conventions", which is currently
appearing on its own line.
Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
This document's flow could be improved a bit. The overview section is
followed by somewhat dense reference material, which is then followed
by step-by-step instructions central to the application workflow.
Fix this up by moving the details to the end, and adjusting the
transitions between the sections a bit.
The diff looks like a mess, but this commit is mostly just moving
things around. There are also various grammar fixes incorporated from
review.
Reviewed-by: David Kinder <david.b.kinder@intel.com>
Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
squash! doc: application: move build/run/debug docs after overview
Make this a bit less Unix-centric, changing the CMake invocation lines
to only use documented parameters that continue to work across all
CMake versions (-B doesn't work everywhere, and -H means "help" in
recent versions of CMake).
Handle some 80-column cleanliness. Add documentation about the search
key, /. Be a bit more explicit about the steps.
Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
Now that the above sections more clearly define the behavior of
CONF_FILE, the section on writing a .conf can be cleaned up and made
into a simple primer on syntax.
Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
Fix a few issues related to the description of an application's
CMakeLists.txt file, and how that relates to its configuraiton.
Make sure the section "Application CMakeLists.txt" appears under the
parent "CMake" section, instead of on its own. The order in which
lines appear in the application CMakeLists.txt is important, and
that's not coming through clearly, so try to improve that. Document
how the values for BOARD and CONF_FILE are determined by
boilerplate.cmake here. Also document usage of KCONFIG_ROOT, as its
Kbuild-based equivalent is something that users ask about.
Merge some content from the following section "Application
Configuration" into the appropriate places, to keep the document flow
working. Add references in "Application Configuration" to definitions
provided previously in the document, for clarity.
Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
Update the initial application overview and the basic "how to create
an application" sections for the CMake transition. This is worth doing
on its own, and also enables other fixes and improvements to below
sections.
Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
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>
If DTS does not depend on include paths determined in /ext then we can
move dts next to kconfig. Moving it next to kconfig means that DTS
CONFIG_ variables will be available at the same time as kconfig's
CONFIG_ variables which is the intended design and beneficial from a
usability perspective.
Signed-off-by: Sebastian Boe <sebastian.boe@nordicsemi.no>
Introducing CMake is an important step in a larger effort to make
Zephyr easy to use for application developers working on different
platforms with different development environment needs.
Simplified, this change retains Kconfig as-is, and replaces all
Makefiles with CMakeLists.txt. The DSL-like Make language that KBuild
offers is replaced by a set of CMake extentions. These extentions have
either provided simple one-to-one translations of KBuild features or
introduced new concepts that replace KBuild concepts.
This is a breaking change for existing test infrastructure and build
scripts that are maintained out-of-tree. But for FW itself, no porting
should be necessary.
For users that just want to continue their work with minimal
disruption the following should suffice:
Install CMake 3.8.2+
Port any out-of-tree Makefiles to CMake.
Learn the absolute minimum about the new command line interface:
$ cd samples/hello_world
$ mkdir build && cd build
$ cmake -DBOARD=nrf52_pca10040 ..
$ cd build
$ make
PR: zephyrproject-rtos#4692
docs: http://docs.zephyrproject.org/getting_started/getting_started.html
Signed-off-by: Sebastian Boe <sebastian.boe@nordicsemi.no>
Sometimes we need to select Endpoint addresses manually to get it
working with certain USB controllers having limit for endpoints. In
this case default values break endpoint limit check. The proper
solution would be automatic endpoint allocation.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>