Commit Graph

15493 Commits (dc006d6aa3fd67b18eb0e0dc3046b1418acb1304)

Author SHA1 Message Date
Marcus Chang f0d1424768 Update analogin_api.c for NRF52 SDK 14.2
Use new SDK API and fixed return value to be normalized to 16 bit
as per the Mbed HAL specification.
2018-04-19 09:40:41 -07:00
Donatien Garnier 64baf717e8 Upgrade NRF52 BLE API to version 5
* Add NRF_SD_BLE_API_VERSION=5 macro to MCU_NRF52832 target
* Added initial Softdevice v5 API support for nRF5XPalGattClient.cpp
* Added initial Softdevice v5 API support for nRF5xGap.h
* Added initial Softdevice v5 API support for nRF5xGattServer.cpp
* Make sure the ah() hash function used by the security manager is declared with C linkage
* Removed 'ARM porting pending' checks in Nordic SDK
* Added BLE configuration to mbed_lib.json for NRF52x targets
* Migrated APIs and events model for Nordic SDK14.2 & SD API v5 in btle.cpp; adopted polling dispatch model
* Migrated APIs and events model for Nordic SDK14.2 & SD API v5 in nRF5xn.cpp
* Migrated APIs and events model for Nordic SDK14.2 & SD API v5 in nRF5xGap.cpp
* Added const qualifier to hwCallbacks's p_ble_evt parameter in nRF5xGattServer
* Add workaround to enable Radio Notification module from Nordic SDK
  * Disabled SWI1 interrupt manually from SWI driver module
    * Added missing include directive for "nrf_nvic.h" in ble_radio_notification.c
* Set correct number of custom UUIDs
* Adjust Softdevice RAM requirements for NRF52832/S132
  * RAM settings for the application were adjusted as follow:
    * Start: 0x20003800
    * Size: 0xC800
* Adjust Softdevice RAM requirements for NRF52840/S140
  * RAM settings for the application were adjusted as follow:
    * Start: 0x20003700 (was 0x20003000)
    * Size: 0xC900
* Added 3dBm as a permitted TX Power value for NRF52832
* Fix address type recovery in GAP
* Return min non-connectable adv interval compatible with infrastrcture's expectations
* Moved BLE driver from TARGET_SDK_14_2/FEATURE_BLE to TARGET_SDK_14_2/TARGET_SOFTDEVICE_COMMON/ble
2018-04-19 09:40:41 -07:00
Marcus Chang fa79e685fc Fix TRNG for NRF52
* When multiple TRNG objects are initialized, destroying the first
  object will turn the TRNG off for the other objects. This fix
  adds a counter to ensure that only when the last object is
  destroyed will it cause the TRNG to be disabled.

* The corner case where a user request 0 bytes is correctly handled
  and will now return immediately.
2018-04-19 09:40:41 -07:00
Marcus Chang 5d5277336a Fix NRF52 build error
This commit removes mbed 2 support for the NRF52 since the new build
system is incompatible with the old one.
2018-04-19 09:40:41 -07:00
Marcus Chang 3b9ec4932c Flash storage for NRF52
Add fstorage and fds from Nordic SDK for SoftDevice compatible
flash storage. Mbed HAL flash API mapped to use fstorage API
to ensure write and erase doesn't conflict with BLE operation.
2018-04-19 09:40:41 -07:00
Marcus Chang 2e7b5ba27b Fix linker scripts and startup code for NRF52
Various bug fixes:

 * Moved SPIM3 location in vector table based on new location in SDK 14.2.
 * Updated vector table entries and size in startup code and linker scripts.
 * Added missing vector table RAM section to IAR linker script.
2018-04-19 09:40:41 -07:00
Marcus Chang 00713342b9 Switch to managed bootloader for SoftDevice merge on NRF52
SoftDevice can be swapped even easier now:

    "target_overrides": {
        "*": {
            "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140"],
            "target.extra_labels_add": ["SOFTDEVICE_NONE"]
        }
    }
2018-04-19 09:40:41 -07:00
Marcus Chang 39c69f146c Optional SoftDevice for the NRF52 series
Ability to swap SoftDevices using the mbed configuration system.

For example, build NRF52840_DK without SoftDevice:

    "target_overrides": {
        "*": {
            "target.MERGE_SOFT_DEVICE": false,
            "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140"],
            "target.extra_labels_add": ["SOFTDEVICE_NONE"]
        }
    }

Pinned down vector table to beginningn of RAM.
2018-04-19 09:40:41 -07:00
Marcus Chang 770b1a326e Simplified critical_section_api.c for NRF52 series
Critical section enter/exit is now delegated to Nordic SDK's

sd_nvic_critical_region_enter
sd_nvic_critical_region_exit

When the SoftDevice is not included these functions map to

__disable_irq
__enable_irq
2018-04-19 09:40:41 -07:00
Marcus Chang 60397c527e Renamed NRF52 targets for HAL critical section test 2018-04-19 09:40:41 -07:00
Marcus Chang 5c3e494a7e Renamed MCU_NRF52832 inheritance in MTB_UBLOX_NINA_B1 2018-04-19 09:40:41 -07:00
Marcus Chang c049921064 Add GCC linker sections for NRF52 SoftDevice 2018-04-19 09:40:41 -07:00
sarahmarshy 6827816454 Add TRNG device_has for NRF52_DK 2018-04-19 09:40:41 -07:00
Marcus Chang cf61c240bf Update critical section for NRF5x 2018-04-19 09:40:41 -07:00
Marcus Chang efa3461fd4 Change target.json to use new SDK and folder structure for NRF52 2018-04-19 09:40:41 -07:00
Marcus Chang 3940d3abaf Default SDK configuration for NRF52832 and NRF52840 2018-04-19 09:40:41 -07:00
Marcus Chang 0b40ddc530 Initial mbed HAL implementation for NRF5x family
Copied from previous location in targets/TARGET_NORDIC/TARGET_NRF5

Core functionality is working but some peripherals do not.
2018-04-19 09:40:41 -07:00
Marcus Chang d861bda214 Pin configurations for NRF52840 based boards 2018-04-19 09:40:41 -07:00
Marcus Chang 56cf0921ad Pin configurations for NRF52832 based boards 2018-04-19 09:40:41 -07:00
Marcus Chang ad1b986913 Linker scripts and startup files for NRF52840
Flash and RAM offsets have been modified to fit new SoftDevice
2018-04-19 09:40:41 -07:00
Marcus Chang bff552de6c Linker scripts and startup files for NRF52832
Flash and RAM offsets have been modified to fit new SoftDevice
2018-04-19 09:40:41 -07:00
Marcus Chang fc2760ad04 NRF52832 and NRF52840 upgraded to Nordic SDK 14 and SoftDevice 5.0
Initial commit for separating NRF52 code from the NRF51 and for
combining the NRF52832 and NRF52840 SDK to version 14.

nRF5_SDK_14.2.0_17b948a.zip has been used as baseline.

The folders in SDK/components:
 * ble
 * boards
 * device
 * drivers_nrf
 * libraries
 * softdevice

have been copied to TARGET_NORDIC/TARGET_NRF52/TARGET_SDK14.

Each folder contains a README.md file describing any modifications
made to that particular folder. Most common operation is deletion
of files.

If the need arise in the future the missing files can be added again.

The SoftDevices have been moved to TARGET_SOFTDEVICE_x folders for
flexible selection.

ble.h has been renamed to nrf_ble.h to avoid namespace clash with
mbed OS BLE.
2018-04-19 09:40:41 -07:00
Martin Kojtal 42d77ecd13
Merge pull request #6658 from theotherjimmy/lib-override-target
Allow library configs to override target configs
2018-04-19 17:41:34 +02:00
Martin Kojtal 951e70f36f
Merge pull request #6604 from geky/lfs-fix-lookahead-trust
littlefs: Fix some issues with lookahead trust
2018-04-19 17:27:19 +02:00
Martin Kojtal 13913c7301
Merge pull request #6628 from kivaisan/mlme_indication_and_auto_uplink_config
Lora: Make automatic uplink message configurable
2018-04-19 17:25:33 +02:00
Martin Kojtal c6b6bab2f9
Merge pull request #6630 from OpenNuvoton/nuvoton_add_nonsecure_flash
Support secure/non-secure flash IAP for Cortex-M23/M33
2018-04-19 17:24:27 +02:00
Martin Kojtal 7f98f5b796
Merge pull request #6652 from jarvte/update_doxygen_for_deprecated_apis
Cellular: Updated doxygen for deprecated API's.
2018-04-19 17:23:53 +02:00
Martin Kojtal a37ba4b3ab
Merge pull request #6614 from pauluap/compiler_warning_macro_expression
Macro expansion leads to a bare expression
2018-04-19 17:22:52 +02:00
Ganesh Ramachandran 38c5997e4c IAR export and page size fix for nvstore 2018-04-19 17:24:58 +05:30
Martin Kojtal cbb10335b4
Merge pull request #6663 from kjbracey-arm/nshal-static-removal
Use SingletonPtr in Nanostack HAL
2018-04-19 12:43:08 +02:00
Teppo Järvelin 025e0dfc49 Cellular: moved one function in cellularnetwork to public as it was accidently set as protected. 2018-04-19 13:40:33 +03:00
Teppo Järvelin 5ebdb439af Cellular: fixed cellular unit tests and one bug which was found while fixing. 2018-04-19 13:35:53 +03:00
Martin Kojtal 9cc4302c51
Merge pull request #6629 from jarvte/add_select_plmn_to_cellularfsm
Cellular: add plmn for CellularConnectionFSM
2018-04-19 12:07:20 +02:00
Martin Kojtal 15cac12f7e
Merge pull request #6660 from marcuschangarm/fix-greentea
Enable flow control in Greentea
2018-04-19 09:25:31 +02:00
Wilfried Chauveau 345bc493f5 make PR type box list "fancier" without making it a github tasklist 2018-04-18 15:18:10 +01:00
Jimmy Brisson 7a6f2e485a Use passed in target data everywhere when doing lib config 2018-04-18 09:12:49 -05:00
Jimmy Brisson 5b83f21cec Return correct configuration dict 2018-04-18 09:09:29 -05:00
Martin Kojtal cba28cc0ac
Merge pull request #6221 from codeauroraforum/Add_RNG_LPC54XXX
LPC546XX: Add TRNG support
2018-04-18 14:25:56 +02:00
Martin Kojtal 7aa293b11a
Merge pull request #6441 from theotherjimmy/disable-deprecated-exporters
Disable all deprecated exporters
2018-04-18 14:24:47 +02:00
Martin Kojtal 06eefcb45a
Merge pull request #6536 from c1728p9/sync_lp_ticker_support
Add handling for synchronized low power tickers
2018-04-18 14:24:06 +02:00
Martin Kojtal 099e54bc17
Merge pull request #6483 from deepikabhavnani/add_tz_functions
Add tz functions
2018-04-18 14:20:13 +02:00
Martin Kojtal f1738c9186
Merge pull request #6651 from tung7970/fix-warnings
rtl8195am - Fix more compiler warnings
2018-04-18 14:19:00 +02:00
Martin Kojtal c0f0a8e61f
Merge pull request #6653 from kjbracey-arm/lwip-ticks
Stop lwIP using us_ticker
2018-04-18 14:17:54 +02:00
bcostm 893b759663 L0 ST CUBE V1.10.0: change adc sampling time 2018-04-18 14:06:21 +02:00
bcostm 61576f8131 L0 ST CUBE V1.10.0: spi and i2c corrections 2018-04-18 14:06:20 +02:00
bcostm 8191487a4d L0 ST CUBE V1.10.0 2018-04-18 14:06:20 +02:00
Teppo Järvelin 55f4360680 Cellular: review fixes to cellularfsm and cellularnetwork. 2018-04-18 12:35:38 +03:00
Kevin Bracey 123c182033 Use SingletonPtr in Nanostack HAL
Avoid static data/code overhead when Nanostack HAL isn't in use.
Preparation for removal of FEATURE_COMMON_PAL.
2018-04-18 10:40:56 +03:00
Kimmo Vaisanen d336ceeee8 Lora: Make automatic uplink message configurable
Currently lora stack will automatically send an empty uplink message to lora gateway in case of:
- Node received message with pending bit set.
- Node received MAC command which requires instant response (sticky MAC command)
- Node received confirmed message in class C mode

This commit makes this configurable via config item

        "automatic-uplink-message": {
            "help": "In case of pending bit, class c confirmed message or sticky MAC command, stack will automatically send empty uplink message",
            "value": true
        }

Default value is true. If sending an empty message fails, stack will send event AUTOMATIC_UPLINK_ERROR application.

If automatic uplink sending is disabled, stack will send application UPLINK_REQUIRED -event to indicate
application should issue a new uplink to gateway as soon as possible.
2018-04-18 09:29:20 +03:00
ccli8 076a160ac1 Add comment for target_config/target_config_ns in flash IAP 2018-04-18 11:30:11 +08:00