Commit graph

18396 commits

Author SHA1 Message Date
Anas Nashif 2bbe6af07c cmake: add zephyr_link_libraries_ifdef
Link libraries only when config is defined.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-12-27 14:16:08 -05:00
Anas Nashif f4ddb62bfa kconfig: move ARCH_HAS_THREAD_ABORT to arch level
Was ARM specific and could not be used by other architectures.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2017-12-27 14:16:08 -05:00
Anas Nashif 95cd063280 libc: some architectures do not require baremetal libc
When building a native application, we use the host provided libc, so do
not build minimal libc or newlib.

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
Anas Nashif 94d034dd5e kernel: support custom k_busy_wait()
Support architectures implementing their own k_busy_wait.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-12-27 14:16:08 -05:00
Sebastian Bøe 35b2021d87 cmake: esp32: Fix check for environment variable ESP_IDF_PATH
Environment variables should be checked with if(DEFINED
ENV{ESP_IDF_PATH}).

if($ENV{ESP_IDF_PATH}) was not evaluating to true as it should have
when env[ESP_IDF_PATH] was set.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2017-12-27 10:29:35 -05:00
Anas Nashif 2e9064b7d6 cmake: replace @ in path with _
To avoid warnings from cmake such as:

  'path' is reserved or not valid for certain CMake features, such as
  generator expressions, and may result in undefined behavior.

This can be seen in Jenkins for example where @ is used when multiple
jobs are run on the same machine.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-12-23 09:13:44 -05:00
Anas Nashif ad405a08c2 gitlint: do not complain about hard tabs in body
Was enabled by default in gitlint, nothing really bad about tabs,
especially when copy-pasting into commit messages.

Fixes #5453

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-12-23 07:53:14 -05:00
Inaky Perez-Gonzalez aa765005e8 doc/scripts/filter-doc-log: protect further against bad TERM env
Checking for TERM being undefined before doing tput with colors is not
enough; if TERM is defined as 'dumb', this thing also behaves dumbly.

In fact, the whole trying to do colors thing is dumb and causes all
kinds of headache in corner cases, so just wrap anything smelling like
color in a check for TERM being undefined or 'dumb' and be done with
it.

It shall take care of different automation mechanisms that don't
invoke 'make htmldocs' from a user console.

Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
2017-12-22 08:36:39 -05:00
Ramakrishna Pallala b82dfb479b samples: boards: add sample for Altera Nios-II PIO core
Add a sample application for Nios-II PIO core on Altera MAX10 board.

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
2017-12-21 12:02:24 -08:00
Ramakrishna Pallala 12d614d0b8 drivers: gpio: add support for Altera Nios-II PIO controller
The PIO cores on Altera Nios-II processors can be used
for GPIOs and each PIO core can be configured as Input only,
Output only or as Bidirectional port from the Qsys tool.

The present Nios-II softcpu image on the Zephyr only has the
support for Output only port and the PIOs[0:3] are wired to
LED[0:3] on the Altera MAX10 board.

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
2017-12-21 12:02:24 -08:00
Ramakrishna Pallala e1af972d73 ext: hal: altera: fix PIO build config option
Fix Kconfig option of PIO HAL to CONFIG_ALTERA_AVALON_PIO

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
2017-12-21 12:02:24 -08:00
Adithya Baglody 9cde20aefa kernel: mem_domain: Add to current thread should configure immediately.
when a current thread is added to a memory domain the pages/sections
must be configured immediately.
A problem occurs when we add a thread to current and then drop
down to usermode. In such a case memory domain will become active
the next time a swap occurs.

Signed-off-by: Adithya Baglody <adithya.nagaraj.baglody@intel.com>
2017-12-21 11:52:27 -08:00
Adithya Baglody 13ac4d4264 kernel: mem_domain: Add an arch interface to configure memory domain
Add an architecure specfic code for the memory domain
configuration. This is needed to support a memory domain API
k_mem_domain_add_thread.

Signed-off-by: Adithya Baglody <adithya.nagaraj.baglody@intel.com>
2017-12-21 11:52:27 -08:00
Adithya Baglody e1f4a002f3 kernel: mem_domain: Add arch specfic destroy for remove thread API.
If the thread id is same as current then handle the cleanup of the
memory domain.

Signed-off-by: Adithya Baglody <adithya.nagaraj.baglody@intel.com>
2017-12-21 11:52:27 -08:00
Sebastian Bøe ba0b2836e8 cmake: Fix the -Wl,--print-memory-usage compatibility test
-Wl,--print-memory-usage is a relatively new LD feature (2015) and is
not supported by the espressif toolchain. Unfortunately the toolchain
compatibility test was broken as it was not using the flag when
linking.

The root cause lies in how we test LD compatibility and this same fix
must be applied again in e.g. target_ld_options().

This patch fixes
https://github.com/zephyrproject-rtos/zephyr/issues/5458

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2017-12-21 11:06:56 -05:00
Youvedeep Singh b4292cf35b kernel: posix: separating posix APIs according to their types.
Currently all posix APIs are put into single files (pthread.c).
This patch creates separate files for different API areas.

Signed-off-by: Youvedeep Singh <youvedeep.singh@intel.com>
2017-12-20 14:59:04 -05:00
Vinayak Kariappa Chettimada e00282af6e Bluetooth: Fix build failure with -Wshadow CFLAGS
Fixes many instances of errors similar to below:
zephyr/subsys/bluetooth/controller/ll_sw/ctrl.c:5927:22:
    error: declaration of ‘s_link’ shadows a previous
        local [-Werror=shadow]
  static memq_link_t s_link;
                     ^~~~~~
zephyr/subsys/bluetooth/controller/ll_sw/ctrl.c:5905:21:
    note: shadowed declaration is here
  static memq_link_t s_link;
                     ^~~~~~

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2017-12-20 12:29:52 -05:00
Sebastian Bøe fa53e89419 cmake: boilerplate: Define properties earlier
The properties definitions were not doing much because they were
defined after they were used. They were actually overriding the true
properties with "".

Moving them earlier ensures that the properties behave as expected, as
documented global mutable variables.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2017-12-19 17:01:47 -05:00
Carles Cufi 7fc13d29c8 board: arm: nrf: Add support for GDB debugging
Use the existing J-Link functionality to support debugging nRF5x targets
with GDB over a Segger J-Link USB connection.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2017-12-19 16:57:36 -05:00
Carles Cufi fdd94d3bd8 scripts: debug: J-Link script tweaks
* Add the interface speed option
* Select USB connection explicitly
* Use "J-Link" consistently

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2017-12-19 16:57:36 -05:00
Sebastian Bøe dbdd722239 ld: Introduce --print-memory-usage
Pass the --print-memory-usage to the linker on the first link if the
toolchain supports it.

Don't use this option with the second link because seeing it twice
could confuse users and using it on the second link would suppress it
when the first link has a ram/flash-usage issue.

Note that the memory regions are symbolic concepts defined by the
linker scripts and do not necessarily map directly to the real
physical address space. Take also note that some platforms do two
passes of the linker so the results do not match exactly to the final
elf file. See also rom_report, ram_report and
https://sourceware.org/binutils/docs/ld/MEMORY.html

This is particularly useful when the linker fails due to excessive
flash/ram usage. When a section does not fit into a memory region the
linker will exit with an error code and will state how big the
overflow was. But it doesn't state what the memory region size is, or
what memory regions exist, which is good to know when debugging
overflow issues.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2017-12-19 16:57:11 -05:00
Nirmala Devi 02d3f2e3a8 tests: power: Fix compiler definition flag
Enabled compiler definition flag TEST_CASE_SLEEP_SUCCESS
which was missing on migrating to cmake.

Signed-off-by: Nirmala Devi <nirmala.devix.m@intel.com>
2017-12-19 16:54:45 -05:00
Sebastian Bøe cf6cb590df cmake: Don't link with subsys__bluetooth unnecessarily
It is only necessary to link with subsys__bluetooth if the path
"subsys/bluetooth" is needed as an include directory. None of the
samples have this need.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2017-12-19 12:46:03 -05:00
Sebastian Bøe 8b2213f670 nrfjprog_py: Use RuntimeError instead of Exception
Be more specific with the exception type.

https://github.com/zephyrproject-rtos/zephyr/pull/5432#issuecomment-352492089

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2017-12-19 12:45:34 -05:00
Erwan Gouriou e2f0aefe2f boards: disco_l475_iot1: add ST reference to doc name
ST official reference for this board is B-L475E-IOT01A.
While not used in zephyr, add reference in documentaion title.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-12-19 12:45:17 -05:00
Mariusz Skamra 3e8a5bc72f Bluetooth: tester: Add Core Unregister Service command
This adds stubs for Core Unregister Service command implementation.
It will be used to clean up the stack and tester after test case
execution.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2017-12-19 15:43:43 +01:00
Mariusz Skamra 16fbf25ceb Bluetooth: tester: Add Mesh Health Model related commands
This adds Mesh Health Model related commands implementation.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2017-12-19 12:12:00 +01:00
Ricardo Salveti dd43bd1823 boards: arm: nrf51_blenano: add board documentation
Documentation based on nrf52_blenano2.

Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com>
2017-12-18 21:46:39 -05:00
Ricardo Salveti a3e8f44e11 boards: arm: nrf51_blenano: add on-board LED definition
The on-board LED is connected to pin 19 (P0_19).

Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com>
2017-12-18 21:46:39 -05:00
Ricardo Salveti 96343afc2d boards: arm: nrf51_blenano: add support for make flash
Nano kit comes with a daplink board, which can be flashed with pyocd.

Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com>
2017-12-18 21:46:39 -05:00
Sebastian Bøe 5056ab24fb runner: nrfjprog: Improve error messages
When a debugger is already connected to the JLink debug adapter
nrfjprog.py would incorrectly detect that the snr is '0' and try to
flash a device with that snr.

Also, when there were no boards connected, nrfjprog.py would
incorrectly state that there were multiple boards connected.

This patch improves the error feedback so that a user can more easily
debug why he can't flash his device.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2017-12-18 21:46:12 -05:00
Marti Bolivar 86e6e674a5 scripts: zephyr_flash_debug.py: swallow exceptions by default
For readability, swallow exceptions unless --verbose is given on the
command line. Add a printline to direct the user how to ensure that's
set in case more information out of the flash script is desired.

Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
2017-12-18 21:45:48 -05:00
Mariusz Skamra 2f5d1f7a30 Bluetooth: tester: Add Mesh Network Received event
This adds implementation of Mesh Network receive event.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2017-12-18 12:43:23 +01:00
Mariusz Skamra a87840e8e2 Bluetooth: Expose Bluetooth Testing API
This moves Bluetooth testing header file to the include/bluetooth.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2017-12-18 12:43:23 +01:00
Mariusz Skamra c5a04fad64 Bluetooth: tester: Add Mesh Network Send command
This adds Mesh Network Send command implementation.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2017-12-18 09:37:31 +01:00
Anas Nashif e2122cbf89 lib: move ring_buffer from misc/ to lib/
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-12-15 20:02:01 -05:00
Anas Nashif 6daf046e8f lib: move crc from drivers to lib/
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-12-15 20:02:01 -05:00
Ramakrishna Pallala eace9ede03 tests: boards: add SysID test app for altera_max10 board
Add test application to demonstrate the usage of Nios-II
System ID soft IP.

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
2017-12-15 18:12:00 -05:00
Ramakrishna Pallala 27aced168d arch: nios2: enable System ID soft IP driver
The system ID core is a simple read-only device that
provides Qsys systems with a unique identifer.

Nios-II processor systems use the system ID core to
verify that an executable program was compiled targeting
the actual hardware image configured in the target FPGA.

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
2017-12-15 18:12:00 -05:00
Anas Nashif be61a66e14 boards: remove panther board
This board was never released and is similar in many ways to the
quark_se_c1000_devboard.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-12-15 18:09:34 -05:00
Michael Scott 2c208e99ad net: lwm2m: cleanup transfer_request error handling
Consolidate and standardize error handling throughout
lwm2m_obj_firmware_pull.c.  As well as handle previously
unhandled errors returned from transfer_request().

NOTE: in general, unhandled errors will now result in
RESULT_UPDATE_FAILED.  Previously, unhandled errors in
transfer_request() would result in RESULT_CONNECTION_LOST
which might or might not be over-written with another
result later.

Signed-off-by: Michael Scott <michael@opensourcefoundries.com>
2017-12-15 18:02:25 -05:00
Michael Scott 2fc554b8fc crypto: config: config-coap: add CONFIG for setting max content length
The CoAP samples use an MBEDTLS config "config-coap.h" which could be
re-used by the LwM2M sample, except that most servers use a larger
maximum content length setting of 1500 bytes.

Let's add a CONFIG to set this for users of the CoAP lib and set the
CONFIG value for the samples to the 256 size currently used.

Signed-off-by: Michael Scott <michael@opensourcefoundries.com>
2017-12-15 17:52:13 -05:00
Marti Bolivar 1d3c1150f0 boards: x86_jailhouse: fix build documentation
The build documentation for this board is misleading. It says to "set
JAILHOUSE_QEMU_IMG_FILE", *then* run cmake commands. But setting the
variable must be part of the cmake commands themselves. Fix it.

Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
2017-12-15 16:49:13 -05:00
Michael Scott 2a7546fb5a net: lwm2m: add support for coap2coap proxy
Currently, LwM2M firmware download only supports coap2http proxy.
Let's add support for coap2coap proxy as well.

This was tested running Californium demo app cf-proxy on the host
machine with the following setting changed in Californum.properties:
MAX_RESOURCE_BODY_SIZE=524288

Add the following to the samples/net/lwm2m_client/prj.conf:
CONFIG_LWM2M_FIRMWARE_UPDATE_PULL_COAP_PROXY_SUPPORT=y
CONFIG_LWM2M_FIRMWARE_UPDATE_PULL_COAP_PROXY_ADDR="coap://[2001:db8::2]:5682"

Build the sample for qemu_x86 as you would normally, but now
you can use a real world coap address to pull firmware using the 5/0/1
resource.  The host machine running cf-proxy will pull the remote
resource and then deliver it to the running qemu sample.

Signed-off-by: Michael Scott <michael@opensourcefoundries.com>
2017-12-15 16:47:30 -05:00
Michael Scott 5f4c7fcf5c samples: lwm2m: update documentation for DTLS support
- Mention the prj_dtls.conf setting
- Explain setting up security in the Leshan Demo Server web UI.

Signed-off-by: Michael Scott <michael@opensourcefoundries.com>
2017-12-15 16:46:48 -05:00
Michael Scott 100f8273dd samples: lwm2m: add support for DTLS
To test, use -DCONF_FILE=prj_dtls.conf

Signed-off-by: Michael Scott <michael@opensourcefoundries.com>
2017-12-15 16:46:48 -05:00
Michael Scott 6ddbd56853 net: lwm2m: add support for DTLS
- Add needed settings for DTLS support to the lwm2m_ctx structure.
- Add initialization of MBEDTLS to the LwM2M lib based on the
  user application settings in lwm2m_ctx.

Signed-off-by: Michael Scott <michael@opensourcefoundries.com>
2017-12-15 16:46:48 -05:00
Michael Scott 7111491be3 net: lwm2m: use correct remote address when DTLS is enabled
The default net_context remote address is scrambled when using a
connection via DTLS.  Instead let's use the dtls context remote.

Signed-off-by: Michael Scott <michael@opensourcefoundries.com>
2017-12-15 16:46:48 -05:00
Michael Scott 8f4b4db71f net: lwm2m: fix possible dereference in RD client
While looping through possible lwm2m_ctx matches, we're referencing
remote before checking that the context itself is valid.

Also, reduce indentation issues.

Signed-off-by: Michael Scott <michael@opensourcefoundries.com>
2017-12-15 16:46:48 -05:00
Michael Scott e0b8d172a9 net: lwm2m: setup LwM2M build as static library
Instead of building under the "app" context, let's build the
LwM2M library as a separate static library.  This will be helpful
later when adding support for DTLS as w/o this configuration,
the build breaks on MBEDTLS config includes.

Signed-off-by: Michael Scott <michael@opensourcefoundries.com>
2017-12-15 16:46:48 -05:00