Commit Graph

15818 Commits (4e10cc097e1727dbaa39de075c176245f13a523c)

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
Martin Kojtal c12ee10c5d travis: add astyle run for all changes in the PR
To compare to master, use entire branch, not only files changed.
2018-04-19 12:55:54 +01:00
Martin Kojtal 6d427eaea1 travis: fix commit content 2018-04-19 12:55:53 +01:00
Martin Kojtal 2cd0b8143e travis: astyle only on changed files in PR 2018-04-19 12:55:08 +01:00
Christopher Haster 396fa5f75a Astyle: Changed from test failure to status note 2018-04-19 12:55:08 +01:00
Martin Kojtal 7ba0e90f02 AStyle: options update
This should reflect these rules that we have defined since mbed 2:

```
Indentation - 4 spaces. Please do not use tabs.
Braces - K&R (see the exception 1 TBS below)
1 TBS -use braces for statements if, else, while, for (exception from K&R) Reference: http://en.wikipedia.org/wiki/Indent_style#Variant:_1TBS
One line per statement
Preprocessor macro starts at the beginning of a new line, the code inside is indented accordingly the code above it
Cases within switch are indented (exception from K&R)
Space after statements if, while, for, switch, same applies to binary and ternary operators
Each line has preferably at most 120 characters
For pointers, '*' is adjacent to a data name (analogin_t *obj) or a function name (analog_t *get_analogin_object())
Don't leave trailing spaces at the end of lines
Empty lines should have no trailing spaces
Unix line endings are default option for files
Use capital letters for macros
A file should have an empty line at the end
```
2018-04-19 12:55:08 +01:00
Martin Kojtal f6541f9fc8 Travis: add astyle
Fetch 3.1 astyle from website (install from ubuntu contains old 2.05).
Print version to verify and run on our codebase
2018-04-19 12:55:07 +01:00
Martin Kojtal 1ff77d8dbc Add astyleignore file 2018-04-19 12:55:07 +01:00
Martin Kojtal f07cf4cf5d Add Astyle configuration file for mbed OS
This follows what is in the codebase in most cases (K&R with few exceptions).
This should follow also how online compiler formats the code.
2018-04-19 12:55:07 +01:00
Ganesh Ramachandran 38c5997e4c IAR export and page size fix for nvstore 2018-04-19 17:24:58 +05:30
Teppo Järvelin 6a2eefba9c Cellular: fixed null pointer bug.
Null pointer could have been called after stop() in cellular state machine.
2018-04-19 14:30:33 +03:00
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