mirror of https://github.com/ARMmbed/mbed-os.git
6 Commits (eda766ec8f224ab93cfdb5fc96e0fead1931fedf)
Author | SHA1 | Message | Date |
---|---|---|---|
|
afba4e1eb5
|
Merge upstream changes into mbed-ce (#117)
* Fix for calculating CAN timing settings. NominalPrescaler value needs to be as high as possible to ensure a good approximation of the target CAN speed. Previous usage of macro IS_FDCAN_DATA_TSEG1 refers to (unsupported by Mbed ) FDCAN CAN controller settings and leads to too low prescaler values. Usage Macro IS_FDCAN_NOMINAL_TSEG1 yields optimum results. See also correct macro usage in line #158. * Add complete support of DHCP relay interface ID option RFC3315 specifies the following: "The relay agent MAY send the Interface-id option to identify the interface on which the client message was received. If a relay agent receives a Relay-reply message with an Interface-id option, the relay agent relays the message to the client through the interface identified by the option." The current implementation of the DHCP relay reply handling, the interface ID field from the server response is ignored. Managing the interface ID is very important especially as DHCP requests/replies use link-local addresses. The consequence of this is that the interface must always be specified because the routing layer cannot guess the correct interface. Moreover, Mbed provides a mechanism to enable/disable the interface ID option on a DHCP relay instance, so it is important to fully support it. The reason why this issue has not been discoverd until now is that the DHCP relay is mainly used on systems that use only one interface (such as Wi-SUN routers). By default, when no interface ID is specified for the socket, the latter will choose 6loWPAN interface by default. This means that if two interfaces are used on the same device, the 6loWPAN interface is always selected. The commit adds code to retrieve the interface-id value contained within the DHCP relay reply message and write it to a control message header that is added to the socket message. This tells the socket which interface to choose. If the interface-id option is not enabled on the relay, this procedure is simply ignored. * Support Nuvoton target NUMAKER_IOT_M467 1. Based on alpha version BSP (85564a2716548e7b6d6a79a490c6d94a24cf9bcf) 2. Continuing above, tweak BSP: (1) Add EPWM_ConfigOutputChannel2() to enable below 1Hz and below 1% duty cycle for PWM output (m460_epwm.h/c). (2) Add dummy RTC_WaitAccessEnable() for consistency with previous ports (m460_rtc.h). 3. Target NuMaker-M467HJ V0.1 board temporarily 4. Support Arduino UNO form factor for NUMAKER_IOT_M467 target 5. Enable export to Keil/IAR project - tools/arm_pack_manager/index.json - tools/export/iar/iar_definitions.json * M467: Fix Greentea reset_reason test failure HRESETRF is combined reset flag. Filter it out to avoid interference with reset reason check. * M467: Support HyperRAM 1. For GCC, support multi-block .data/.bss initialization 2. HyperRAM is mapped to two regions: 0x0A000000 and 0x80000000 According to default system address map, 0x0A000000 is located at 'Code' region and 0x80000000 at 'RAM' region. With MPU enabled on Mbed OS, 'Code' region is write-never and 'RAM' region execute-never. 0x80000000 is chosen because 'RAM' regioin is naturally for HyperRAM. 3. Configurable multi-function pins for HBI 4. To locate code/data at external HyperRAM: - Specify __attribute__((section(".text.nu.exthyperram"))) for RO/.text/readonly section type Invoke mbed_mpu_manager_lock_ram_execution()/mbed_mpu_manager_unlock_ram_execution() to run HyperRAM code - Specify __attribute__((section(".data.nu.exthyperram"))) for RW/.data/readwrite section type - Specify __attribute__((section(".bss.nu.exthyperram"))) for ZI/.bss/zeroinit section type 5. Add readme * Config for M460 EMAC * Add M460 EMAC driver * Adjust M460 EMAC RX/TX buffer * M467: Fix EMAC compile error with IAR * M467: Support Crypto SHA/ECC H/W 1. Prepare crypto common code 2. Support list - SHA - ECC NOTE: AES/RSA are to support in other works NOTE: Compared to M487, M467's SHA supports context save & restore (DMA Cascade mode) and so no software fallback is needed. NOTE: M467's ECC, following M487, goes partial-module replacement and it can just improve primitives e.g. point addition/doubling by 2X, and cannot improve high level point multiplication because MbedTLS doesn’t open it. To improve performance best, full-module replacement is needed. NOTE: Continuing above, add support for Montgomery curve * M467 H/W AES self-test pass * M467 Support crypto GCM H/W * M467: GCM support one simple mode instead of using composite GHASH & CTR MODE * Update M467 AES-GCM to pass AWS-IoT test * Update M467 AES-GCM for H/W gcm in-buffer creteria * M467: Improve Crypto H/W wait helper routine Add crypto_xxx_wait2 helper routine to replace crypto_xxx_wait for Crypto H/W control * M467: Seed PRNG with TRNG for SCAP According to TRM, it is suggested PRNG be seeded by TRNG on every Crypto H/W reset. * M467: Support Crypto RSA H/W 1. Crypto RSA H/W supports 1024/2048/3072/4096 key bits. Fall back to software implementation for other key bits. 2. For decrypt, if MBEDTLS_RSA_NO_CRT isn't defined, go CRT, or normal. 3. For decrypt, when blinding (f_rng != NULL), enable SCAP mode. 4. Recover from Crypto RSA H/W failure: (1) Enable timed-out wait to escape from RSA H/W trap (2) On RSA H/W timeout, stop this RSA H/W operation (3) Fall back to S/W implementation on failure NOTE: RSA 4096 key bits can fail with default mbedtls configuration MBEDTLS_MPI_MAX_SIZE. Enlarge MBEDTLS_MPI_MAX_SIZE to 1024 or larger if this feature is required. NOTE: Fixed in BSP RSA driver, for non-CRT+SCAP mode, temporary buffer for MADDR6 requires to be key length plus 128 bits. NOTE: Fixed in BSP RSA driver, DMA buffer must be 4-word aligned, or RSA H/W will trap. * M467 Support crypto AES-CCM H/W with one-shot & cascade mode * M467: Support Crypto ECC H/W in full-module replacement 1. Replace ecp.c full-module, and other ec modules dependent on ecp.c (ecdh.c/ecdsa.c/ecjpake.c) will improve followingly. 2. Recover from Crypto ECC H/W failure: (1) Enable timed-out wait to escape from ECC H/W trap (2) On ECC H/W timeout, stop this ECC H/W operation (3) Fall back to S/W implementation on failure 3. Support Short Weierstrass curve 4. Support Montgomery curve Montgomery curve has the form: B y^2 = x^3 + A x^2 + x (1) In S/W impl, A is used as (A + 2) / 4. Figure out its original value for engine. |
|
|
3b9a9c7fe3 |
Squashed 'connectivity/nanostack/sal-stack-nanostack/' changes from 0903b819c5..4a3c5c525b
4a3c5c525b Merge remote-tracking branch 'origin/release_internal' into release_external 2b8d2e1356 Do not reset radio when MAC data request timeouts (#2647) 95c506a276 Frame counters for nw keys are now stored to NVM only after send key is set (#2641) 3b3010a79b Adjusted stagger random to [min,min+max] and for small nw set the stagger value to 10 seconds 02bc33a242 Adjusted security protocol (EAP-TLS,4WH,2WH) retry timers eb26726020 High Priority timestamp compare overflow support fix. 928723a33e FHSS WS: Initialize broadcast channel count when enabling FHSS (#2642) 6040d703c8 Updated change log 667b191223 Changed initial EAPOL-key retries from trickle to exponential backup d925145d33 Add RTT calculation for DHCP Time calculation 0b82953567 Traceroute bug fix. 04de6e26d8 Merge pull request #2638 from PelionIoT/mbed_os_fix_ufsi_calculation 20123477c6 Fixed FHSS UFSI calculation unit tests 436f16e84f Handle timer rollover in calculate_ufsi 411cf5c7a4 coding style d6f44218d6 Correct ufsi timing calculation 560619d85d Add network time vendor data element to DHCPv6 reply message 6d290dc3c1 System time read/write callbacks (#2637) 7905df666d Restart or remove transmission when MAC data request timeouts (#2636) c97695cfc6 Bug fix: EAPOL parent compare fix e283e6285c Fixed channel mask usage with OFDM configurations (#2633) 24168f891b Do not send too old packets (#2632) dbd83be16d Fix copyrights (#2631) 7f0cffdbf7 Merge pull request #2630 from PelionIoT/use_pelion_copyright 511bd5a3ad Corrected coding style 57ec0281a8 Corrected comparison 7d853de862 When EAPOL waiting queue is full oldest entry is removed acf580fbd0 Update copyright in changed MDNS files 933c0bbf0a Update copyright 3aeb2af77c Statistics for data request latencies (#2629) 3f7eae64ef EAPOL FHSS temp entry discover 5200b666e7 DHCP time elapsed time write fix. 0536874f64 Removed empty EAPOL-key message send after 4WH completion to nodes on relay 8a2a683aef Fixed DHCP wrong time elapsed value write. 283f2ee685 DHCPv6 update: 99be7783ec EAPOL temp neighbour update 4f9e3d12ab Adaptation layer to remove oldest packet first 20f1f6492f Added ignoring of retry messages from RADIUS server when waiting EAP-TLS 8a8b407c47 Add RSL check for ETX Calculation for RPL parent selection c05e1da757 Fix DHCP server Uninitialized memory read 77229eefa6 Fix CPP error from domain prefix check 7e47889111 support filtering of EAPOL parents based device-min-sens configuration 618a19192c Wi-SUN Expedite forward state update 4371462d66 Fix NULL read from RPL header addition 7802c7ee97 Update CHANGELOG.md b2c810402c CHANGELOG for Nanostack v13.0.0 (#2615) git-subtree-dir: connectivity/nanostack/sal-stack-nanostack git-subtree-split: 4a3c5c525b2a62c19ecfb0ac64d09bd2a7f56ceb |
|
|
2773394947 |
Merge commit 'fb72e8eba714116d3578e4f53010b104f48459f0' into nanostack_release_13_0_master
* commit 'fb72e8eba714116d3578e4f53010b104f48459f0': Squashed 'connectivity/nanostack/sal-stack-nanostack/' changes from 3183d87e41..0903b819c5 |
|
|
0c4294b1af |
Merge commit 'b0e699fe3e03f574aa2b6d74ff56a024d6e1d508'
* commit 'b0e699fe3e03f574aa2b6d74ff56a024d6e1d508': Squashed 'connectivity/nanostack/sal-stack-nanostack/' changes from 715ae9a693..3183d87e41 |
|
|
b25f05b035 |
Merge commit '9a4e8a5964c54f2a983ffd4c13755176d4f9df52'
* commit '9a4e8a5964c54f2a983ffd4c13755176d4f9df52': Squashed 'connectivity/nanostack/sal-stack-nanostack/' changes from 48609aeded..d879e6db87 |
|
|
b9b4c5d392 |
Mbed OS will soon be changing directory structure to the below:
``` connectivity ├── netsocket ├── lwipstack ├── nanostack │ ├── mbed_lib.json // nanostack-interface's mbed_lib.json │ ├── include │ │ └── nanostack // headers from features/netsocket/nanostack-interface │ ├── source // sources from features/netsocket/nanostack-interface │ ├── coap-service // used by Thread only - deprecate? │ ├── mbed-mesh-api │ ├── nanostack-hal-mbed-cmsis-rtos // HAL porting layer for Nanostack on mbed with CMSIS-RTOS │ ├── sal-stack-nanostack │ └── sal-stack-nanostack-eventloop ├── cellular // previously in features/cellular/framework/ ├── ... ``` This PR is a part of a wider \connectivity refactoring and implements the above new directory structure for \nanostack. |