Commit Graph

15727 Commits (ccaef16f6a2665f5ec0dd93f7d84f2f99366d85b)

Author SHA1 Message Date
Ron Eldor ccaef16f6a Remove AES HW acceleration
Remove AES HW acceleration, as it is targeted future version
2018-05-14 13:15:57 +03:00
Ron Eldor 09d0d49efd Remove extra `mbedtls_zeroize` call
REmove additional unneded call to `mbedtls_zeroize()` which was added after rebase
2018-05-14 13:15:57 +03:00
Ron Eldor 069c5964ae Fix typo in Readme
Fix typo `DEBICE_CRYPTOCELL ` - > `DEVICE_CRYPTOCELL`
2018-05-14 13:15:57 +03:00
Ron Eldor 8f44cdff5d Resolve issues raised after rebasing
Remove `cc_rand.h` and duplicate check in `mbedtls_ecdsa_sign()`,
that were inserted after rebasing.
2018-05-14 13:15:57 +03:00
Ron Eldor 2b2aa0f94d Rephrase meaning of `MBEDTLS_CONFIG_HW_SUPPORT`
Rephrase the label, to make it more clearer.
2018-05-14 13:15:57 +03:00
Amanda Butler e68815e02b Copy edit changes to Readme.md
Copy edit changes, mostly for active voice and consistent tense.
2018-05-14 13:15:57 +03:00
Ron Eldor f07ff36f47 Rephrase explanation on `cc_platform_setup()`
Rephrase the explanation on `cc_platform_setup()`, since previous
explanation wasn't coherent.
2018-05-14 13:15:57 +03:00
Ron Eldor 55e7690593 Refactor Readme after comment from Tech Writer
Rephrase usage guideline on `objects.h` and explain usage of every label
in `targets.json`
2018-05-14 13:15:57 +03:00
Amanda Butler de2e4875fd Copy edit Readme.md
Copy edit file, mostly for minor grammar nits.
2018-05-14 13:15:57 +03:00
Ron Eldor 7cdfd91bf8 Add guidelines for porting CC310 on Mbed OS
Add guidelines for porting CC310 on a new platform
2018-05-14 13:15:57 +03:00
Ron Eldor 5e8e7361b0 Remove driver intialization from boot code
Remove Cryptocell driver initialization, which was accidently returned
in rebase.
2018-05-14 13:15:57 +03:00
Ron Eldor 245977f3c4 Rename libraries to pass CI library name check
Rename the CC libraries, with additional prefix "lib*".
Fixes CI failure
2018-05-14 13:15:57 +03:00
Ron Eldor 39973c8a8e Move trng code from target_nrf5 to target_nrf5x
After rebase, the build target NRF52840_DK is using TARGET_NRF5x,
instead of TARGET_NRF5. Moved Cryptocell TRNG related code from
`targets/TARGET_NORDIC/TARGET_NRF5/` to `targets/TARGET_NORDIC/TARGET_NRF5x/`
2018-05-14 13:15:57 +03:00
Ron Eldor ca844fd47a port CC to IAR
1. Add the compiled CC libraries for IAR toolchain
2. modify `ssi_pal_compiler.h` to support IAR
2018-05-14 13:15:57 +03:00
Ron Eldor 56df468a54 Alternative ECDSA and ECDH support
Add support for Alternative ECDSA and ECDH, on the higher level,
over CC310. Note that CC generates ECC keys according to FIPS 186,
while mbed TLS generates according to RFC 6979 and RFC 4754,
which causes test vectors for curve p521 to fail
2018-05-14 13:15:57 +03:00
Ron Eldor 19e2adf98d HW Accelerated SHA1 and SHA256
Add Poritng for Sha1 and SHA256 over Cryptocell
2018-05-14 13:15:57 +03:00
Ron Eldor fdf5587e29 Add CCM alternative implementation
Add CCM HW accelerated alternative implementation
2018-05-14 13:15:57 +03:00
Ron Eldor b31aa03be9 Add the platfrom setup \ terminate support
Add support for Platfrom setup and termination for Cryptocell on Nrf52840
2018-05-14 13:15:57 +03:00
Ron Eldor 340f22e3cd Add support for CC trng
add support for HW entropy source
2018-05-14 13:15:27 +03:00
Ron Eldor 75087469f7 Add the Cryptocell library
Add the latest cryptocell library, and add support for CC310 lirary
on latest Mbed OS code
2018-05-14 13:15:27 +03:00
Cruz Monrreal 2104d8ab5b
Merge pull request #6711 from marcuschangarm/cleanup-nrf5x
Cleanup TARGET_NRF5 and TARGET_NRF5x
2018-05-11 19:15:05 -05:00
Cruz Monrreal 30e39eeb10
Merge pull request #6852 from mprse/issue_5308_fix
Fix for issue #5308 - RTC set/get time issue on NCS36510
2018-05-10 23:26:06 -05:00
Cruz Monrreal 4318caaffa
Merge pull request #6779 from maximmbed/add-max32625pico
[MAX32625PICO] Add new platform
2018-05-10 23:25:41 -05:00
Cruz Monrreal ab7a856657
Merge pull request #6784 from deepikabhavnani/mbed_stats_fix
Add common define MBED_ALL_STATS_ENABLED to enable all statistics
2018-05-10 23:25:23 -05:00
Cruz Monrreal 634774f45f
Merge pull request #6845 from marcuschangarm/fix-idle-thread
Remove obsolete OS_IDLE_THREAD_STACK_SIZE from NRF52
2018-05-09 13:16:45 -05:00
Cruz Monrreal c97a8fb216
Merge pull request #6817 from pan-/fix-crypto_toolbox_f4-parameter-types
GenericSecurityManager: Fix crypto_toolbox_f4 signature.
2018-05-09 11:33:27 -05:00
Cruz Monrreal e33fb60c3d
Merge pull request #6849 from scartmell-arm/bug-critical-section-nordic
Add missing semicolon to NRF51 critical_section implementation
2018-05-09 11:33:10 -05:00
Cruz Monrreal a2370d57fa
Merge pull request #6809 from deepikabhavnani/add_assert
Mbed Stats: Assert if NULL pointer passed as arg
2018-05-09 10:50:10 -05:00
deepikabhavnani 52c33b5494 Add stats header file to mbed.h
All API header files should be part of mbed.h
2018-05-09 10:24:28 -05:00
Martin Kojtal b5a8ace79a
Merge pull request #6808 from hasnainvirk/state_machine_work
LoRa: State machine work
2018-05-09 16:02:53 +01:00
Przemyslaw Stekiel 23127af67f NCS36510: Enable RTC support. 2018-05-09 14:41:40 +02:00
Przemyslaw Stekiel 2ccc11f243 tests-mbed_drivers-rtc: Add one second tolerance in functional tests.
Currently test assumes that 1 sec is long enough to set RTC time and read same time which has been set.
In some cases extra time for synchronisation between clock domains is needed and after setting/reading operations the read value might be different than one which has been set (+1 sec).
Additionally in some cases when lp ticker is based on RTC, the RTC implementation may use mechanism to trace elapsed seconds without modifying RTC registers. In such case it is possible that second will change immediately after setting time.

Add 1 sec tolerance (min possible) for such checks.
2018-05-09 14:41:40 +02:00
Przemyslaw Stekiel 8bddb6b305 NCS36510: Make RTC driver to operate on seconds instead of us.
In current implementation `rtc_read` function returns number of elapsed us and `rtc_write` function sets RTC time to specified value in us.
Mbed HAL API expects that these functions operate on seconds.
Since lp ticker is also based on RTC provide mechanism to trace elapsed seconds without modifying RTC registers.
2018-05-09 14:41:40 +02:00
Steven Cartmell 1dfea4168f Add missing semicolon to NRF51 critical_section implementation 2018-05-09 10:54:26 +01:00
Marcus Chang 34775d6431 Remove obsolete OS_IDLE_THREAD_STACK_SIZE from NRF52
Custom size is the same as the default size anyway.
2018-05-08 15:51:39 -07:00
Marcus Chang 1aebdcbee5 Reorganize TARGET_MCU_NRF51822_UNIFIED directories
The unified NRF51 target and feature BLE directories have been
reorganized to follow the naming and directory structure of the
NRF52 implementation.

This reorganization does not include TARGET_MCU_NRF51822 and
derived targets.
2018-05-08 10:10:01 -07:00
Cruz Monrreal 68ad00ffb8
Merge pull request #6645 from woodsking2/master
mbed_wait_api: add comments to warn the func will lock deep sleep
2018-05-08 10:54:48 -05:00
Cruz Monrreal adcd7ec002
Merge pull request #6742 from pan-/ble-update-cordio-porting-guide
BLE: Update cordio porting guide
2018-05-08 10:42:19 -05:00
Cruz Monrreal 5b5c8ddb4e
Merge pull request #6743 from pan-/ble-cordio-h4-conditionnal-to-fc
BLE: Conditional compilation of H4 driver
2018-05-08 10:41:58 -05:00
Cruz Monrreal a5326ca047
Merge pull request #6814 from pan-/fix-discovery-termination
GenericGattClient: Fix discovery termination.
2018-05-08 10:41:34 -05:00
Hasnain Virk be04a57ecf Removing abort from rx in case of FL discrepency
If the frame length is not what we are expecting, it is
found to be a good practise to actually continue with what we
have received rather than aborting. As we have already demodulated
the packet and RX slots are used up, ther is not so much benefit in
dropping that packet.
2018-05-08 16:45:27 +03:00
Hasnain Virk ac6fb71c90 Datarate bug fix in rx windows configs
While configuring RX parameters for the radio, we need to feed in
rx windows 1 and 2 parameters which are computed when we do the transmission.
We are actually setting the physical value of the data rate rather than
data rate table index and the expectation was to set the data rate index.
2018-05-08 16:45:26 +03:00
Hasnain Virk cc09e44cfb Moving msg flags to lorawan_types.h
Message flags are used in the application so the logical place for
them is in lorawan_types.h and not in lorawan_data_structures.h
2018-05-08 16:45:26 +03:00
Hasnain Virk 1a0d90555e Doc fix
Structure naming in the docs was wrong.
2018-05-08 16:45:25 +03:00
Hasnain Virk f63ed86cfc Adding custom channel plan support in AS923
The asia pacific region supports custom channel planning and
downlink channel request. By virtue of a mistake, this information
was missing and hence a custom channel support was not working.
Fixes issue #6783.
2018-05-08 16:45:25 +03:00
Hasnain Virk 9f36baab1b State Machine rework
There had been essentially two state machines running in our stack
which was too cumbersome and was not alligned in any symmetry.

In this work we make sure that:
 * There are no callbacks from the MAC layer to Stack controller layer.
 * Primitives are made local to the mac layer and are presented as
   read-only to the stack controller layer.
 * Interrupt handling and processing is moved to the stack controller layer.
 * Reception is divided into smaller units, seperating handling of Join Accept
   and normal data frames. MIC gets its own unit.
 * Extraction of data and MAC commands from the payload is also being done now in
   its own method.
 * To ensure integrity of the stack, and sanctity of the radio payload, we copy the
   radio payload buffer immediately in the rx interrupt and hoist a flag that prevents
   another interrupt from happening for a short while when we are processing the previous
   packet.
 * If an automatic uplink is on going, we do not send a TX_DONE event to application
   anymore as that is logically incorrect.
 * state_controller() is the central engine for the state machine. To save code space and
   memory, we are not handling each and every state in the state_controller(). Some of the states
   which have no processing to be done, are explicitely set.
 * For all the states who need special processing, seperate methods are added.
 * Class A always run to completion to IDLE and CLass C always runs to completion as RECEIVING.
2018-05-08 16:45:18 +03:00
Hasnain Virk a75af9799e Adding thread safety
Making our LoRaWAN stack thread safe. If RTOS is not present, locks
don't do anything. ScopedLock is used to automate the lock release on
context expiry.
2018-05-08 16:24:34 +03:00
Hasnain Virk a331c4b59a Immutable payload pointer in LoRaPHY 2018-05-08 16:24:34 +03:00
Hasnain Virk 73e433e4e5 Immutable payload pointer to LoRaMacCommand class 2018-05-08 16:24:34 +03:00
Hasnain Virk 0be41f0e69 Remove useless extraction
Channel plan datastructure already contains channel parameters.
Extraction is not needed.
2018-05-08 16:24:34 +03:00