Commit Graph

1602 Commits (c2760be01ccbfb9db91ec7a6f39ef19e218ecea2)

Author SHA1 Message Date
Kevin Bracey 268a07db37 NSAPI: Add Nanostack multicast membership support
Add support for recently introduced NSAPI generic socket options to
control group membership. Previously applications using Nanostack would
have had to use Nanostack's native socket options.
2018-01-17 14:30:45 +02:00
Vincent Coubard e2a2582549 BLE: Fix inclusion of BLE.h (case) 2018-01-17 11:31:50 +00:00
Cruz Monrreal 25aa0e6d37
Merge pull request #5846 from geky/fix-block-addr-overflow
littlefs: Fix block addr overflow
2018-01-16 15:53:30 -06:00
Cruz Monrreal 671c2d7e90
Merge pull request #5346 from scartmell-arm/feature-hal-spec-critical-section
Add Critical Section HAL API specification
2018-01-16 12:49:38 -06:00
Martin Kojtal 7be79f93fe
Merge pull request #5727 from dschuler/nrf52pf
Add presentation format descriptor support for nRF5x
2018-01-15 15:43:21 +00:00
Martin Kojtal 663a6d84e3
Merge pull request #5623 from SeppoTakalo/clarify_socket_docs
Clarify TCPSocket::recv() and UDPSocket::recvfrom() documentation.
2018-01-15 15:29:28 +00:00
Martin Kojtal 41be3727fc
Merge pull request #5731 from terhei/master
mesh-api documentation removal
2018-01-15 15:26:55 +00:00
Martin Kojtal 2d83463f9c
Merge pull request #5813 from TomoYamanaka/master
Revise the structure in RZ_A1 related directory
2018-01-15 15:23:52 +00:00
Martin Kojtal 8c78649078
Merge pull request #5829 from deepikabhavnani/fat_issue_5780_3
Fix: Sector/Size overflow from uint32_t
2018-01-15 15:22:11 +00:00
Daniel Schuler 271b09cda6 Add presentation format descriptor support for NRF52 2018-01-13 15:49:40 -08:00
Christopher Haster 44e2ca44a8 littlefs: Fix block addr overflow
deepikabhavnani did the hard work in tracking this issue down.  Block
addresses are not cast to the correct type until after multiplying to
convert to byte addresses. This results in an overflow when the storage
is larger than 4 GB.
2018-01-12 14:44:44 -06:00
deepikabhavnani c86d757267 Fix: Sector/Size overflow from uint32_t
FATFilesystem declares sector count and size as uint32_t and block
device class arguments are addr and size which is uint64_t
While passing arguments to program/read/write API's of block device,
multiplication of uint32_t*uint32_t was not typecasted properly to
uint64_t which resulted in MSB truncation.

Eg. If block 0x800000 is accessed with block size 0x200, addr to be
passed (0x800000*0x200)0x100000000, but actual address passed was 0x0
which resulted in over-writting the root directory, and hence corrupted
filesystem
2018-01-12 11:12:34 -06:00
Arto Kinnunen 8151e55838 Merge commit '47341478379429c08c468093e0326b5c79ecbc62'
* commit '47341478379429c08c468093e0326b5c79ecbc62':
  Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from d0a2597..8689fca
2018-01-12 14:02:31 +02:00
Seppo Takalo 6bf0611748 Clarify TCPSocket::recv() and UDPSocket::recvfrom() documentation. 2018-01-12 12:03:56 +02:00
Christopher Haster 5df2b9b0e7 littlefs: Fixed file truncation without writes
In the open call, the LFS_O_TRUNC flag was correctly zeroing the file, but
it wasn't actually writing the change out to disk. This went unnoticed because
in the cases where the truncate was followed by a file write, the
updated contents would be written out correctly.

Marking the file as dirty if the file isn't already truncated fixes the
problem with the least impact. Also added better test cases around
truncating files.
2018-01-11 16:27:33 -06:00
Cruz Monrreal dc87f0b1e6
Merge pull request #5313 from pan-/ble-cordio-pal-gap
Cordio: Pal Gap implementation
2018-01-11 10:35:42 -06:00
Cruz Monrreal b32828bc37
Merge pull request #5739 from pan-/nordic-new-client
BLE: Nordic pal client implementation
2018-01-11 10:26:47 -06:00
Cruz Monrreal c0c501c70f
Merge pull request #5768 from deepikabhavnani/storage_stats
Added statvfs API to get storage statistics
2018-01-11 10:25:41 -06:00
TomoYamanaka 0d00be3a60 Add the function declarations of WEAK attribute to use LWIP on GR-LYCHEE
I added the function declarations of Ethernet functions that have a WEAK attribute. Although several Ethernet functions was called in rza1_emac.c, GR-LYCHEE don't have Ethernert feature. But there may be case that GR-LYCHEE uses LWIP feature.
In this case, since GR-LYCHEE will occur the build error, I addressed the error by defining the functions with a WEAK attribute. For reason of WEAK attribute, there is no influence in GR-PEACH and VK_RZ_A1H that have Ethernet feature.
2018-01-11 18:11:37 +09:00
Vincent Coubard d33b02818a BLE: Implement Generic GattClient reset logic. 2018-01-10 14:31:52 +00:00
Vincent Coubard 29988d5265 BLE: Align naming of GattClient procedure control blocks. 2018-01-10 14:18:00 +00:00
Vincent Coubard 3061db271d BLE: Put generic gattclient procedures inside the GattClient class 2018-01-10 14:15:08 +00:00
Christopher Haster d82d9888d4 Added COMMON folder for tests
A COMMON folder allows code reuse across different test cases. This
avoids code duplication or code enterying the application space.

The COMMON folder is uppercase to match naming conventions in Mbed OS.
2018-01-09 16:11:14 -06:00
Steven Cartmell 061795c489 Move in_critical_section implementation into the HAL
- Add function to HAL hal_in_critical_section()
- Wrap assert in FEATURE_UVISOR macro
2018-01-09 10:41:29 +00:00
Tero Heinonen d8b369f5b2 mesh-api documentation removed
All documentation is now in Handbook
2018-01-09 12:37:06 +02:00
TomoYamanaka 9cbd678049 Modify the TYPO of debug info when using LWIP in RZ/A1 related
I modified the debug message when using LWIP in RZ/A1 related mbed boards.
In eth_arch_enetif_init(), sys_thread_new() was called and task name is appeared as debug information, but task name for debug was a mistake.
2018-01-09 18:30:07 +09:00
TomoYamanaka 285c259472 Performance improvement of LWIP communication in RZ_A1 related
For LWIP communication speedup in RZ_A1 related, I changed the below macro value and added the definition processing in RZ/A1 related header file(lwipopts_conf.h). For this reason, those macros are overrode by RZ/A1 related values, not default values.
2018-01-09 18:28:39 +09:00
TomoYamanaka 2e7d6df775 Commonize RZ_A1 related folders placed in "FEATURE_LWIP" directory
In the below "features/FEATURE_LWIP" folders, same as Cortex-M targets, I changed the folder structure to combine files that can be shared as RZ/A1 related. And I renamed the folder name to "TARGET_RZ_A1XX" in order to make commonality explicit.
- "features/FEATURE_LWIP" folder
  <before>
  \features\FEATURE_LWIP\lwip-interface\lwip-eth\arch\TARGET_RZ_A1H
  \features\FEATURE_LWIP\lwip-interface\lwip-eth\arch\TARGET_VK_RZ_A1H
  <after>
  \features\FEATURE_LWIP\lwip-interface\lwip-eth\arch\TARGET_RZ_A1XX
2018-01-09 16:48:39 +09:00
Jimmy Brisson 086ccd5536
Merge pull request #5782 from geky/littlefs-fix-seek-cur
littlefs: Fix positive seek bounds checking
2018-01-08 10:38:00 -06:00
Jimmy Brisson cef1cc26d8
Merge pull request #5651 from gorazdko/ff_lpc546xx-add-ethernet
ff_lpc546xx: add enet, change led1 and led3 pins
2018-01-08 10:35:56 -06:00
Jimmy Brisson 737f75a68f
Merge pull request #5608 from productize/nucleo-f413zh
NUCLEO_F413ZH: Add support for the NUCLEO-F413ZH board
2018-01-08 10:35:27 -06:00
Vincent Coubard c5bc247217 Nordic BLE: Use SD API version rather than SDK define. 2018-01-08 14:00:23 +00:00
Vincent Coubard e9ba84168b Nordic BLE: Fix PalGattClient for SDK v13. 2018-01-08 13:52:42 +00:00
Vincent Coubard e8bad03a1c Nordic BLE: Simplification and clarification of pal client implementation. 2018-01-08 12:04:02 +00:00
Vincent Coubard 331e8f2aed BLE: Fix include dependency in UUID.h. 2018-01-08 12:01:30 +00:00
Steven Cartmell e14bee5209 Fix potential race condition in critical section HAL API
Call underlying HAL implementation to enter critical section/disable interrupts
before incrementing the global critical section counter.

Modify HAL implementations to track first entrances to the critical section and
only update the saved state on first enter.
2018-01-05 14:55:58 +00:00
Steven Cartmell 3c9ae7bf1c NRF51_DK: Add Critical Section HAL implementation 2018-01-05 14:55:57 +00:00
ccli8 67386b9ebd [NUC472/M487] Fix DMA input/output buffers are overlapped in AES alter. 2018-01-05 09:18:26 +08:00
ccli8 4023078e14 [NUC472/M487] Remove unnecessary H/W context clone functions in SHA alter. 2018-01-05 09:18:26 +08:00
ccli8 acff29e6f2 [NUC472/M487] Fix context clone corner case in SHA alter.
As destination/source contexts are the same, we return immediately.
2018-01-05 09:18:25 +08:00
ccli8 d96bcda606 [NUC472/M487] Fix indefinite loop in SHA alter. 2018-01-05 09:18:25 +08:00
ccli8 8b7ff095a9 [NUC472/M487] Remove duplicate configuration of CRPT->SHA_CTL/CRPT->HMAC_CTL in SHA alter. 2018-01-05 09:18:25 +08:00
ccli8 3a8c1aa687 [NUC472/M487] Use interrupt signal rather than polling to check operation completion in DES alter.
This is to be consistent with PRNG/AES.
2018-01-05 09:18:24 +08:00
ccli8 0c1098483f [NUC472/M487] Refine flow control code between crypto start and crypto ISR 2018-01-05 09:18:24 +08:00
ccli8 add839c808 [NUC472/M487] Refine code in SHA alter. 2018-01-05 09:18:24 +08:00
ccli8 b443a23b07 [NUC472/M487] Add memory barrier for DMA transfer in AES/DES alter. 2018-01-05 09:18:23 +08:00
ccli8 c906790257 [NUC472/M487] Call BSP driver rather than direct register access in DES alter. 2018-01-05 09:18:23 +08:00
ccli8 dc3c84c011 [NUC472/M487] Fix parameter check for TMODE/OPMODE in DES alter. 2018-01-05 09:18:23 +08:00
ccli8 815a6a7c4d [NUC472/M487] Add parameter check for configuring DES registers in DES alter. 2018-01-05 09:18:23 +08:00
ccli8 1d62b9120b [NUC472/M487] Refine comment with BSP driver use in DES alter. 2018-01-05 09:18:22 +08:00
ccli8 479cf687ff [NUC472/M487] Fix multiple calls to SHA free in SHA alter. 2018-01-05 09:18:22 +08:00
ccli8 7d92550d11 [NUC472/M487] Remove superfluous code in AES alter. 2018-01-05 09:18:22 +08:00
ccli8 116b14aa84 [NUC472/M487] Refine code with SHA context selection in SHA alter. 2018-01-05 09:18:22 +08:00
ccli8 980cb6b9c8 [NUC472/M487] Guard against SHA internal state size is not word-aligned in SHA alter. 2018-01-05 09:18:21 +08:00
ccli8 8ba07815ed [NUC472/M487] Fix SHA H/W resource leakage in context cloning 2018-01-05 09:18:21 +08:00
ccli8 83fb50cca3 [NUC472/M487] Fix SHA H/W is not stopped in corner case
Take SHA1 for example, without the fix, SHA H/W is not stopped in either case:
(1) ctx->total == 0 in mbedtls_sha1_hw_finish()
(2) mbedtls_sha1_hw_finish() is not called by upper layer
2018-01-05 09:18:21 +08:00
ccli8 a0a8a955a9 [NUC472/M487] Strengthen crypto DMA buffer check
1. Catch incompatible buffer range, where buffer base = 0xffffff00 and buffer size = 0x100.
2. Add buffer size alignment check.
2018-01-05 09:18:21 +08:00
ccli8 ac000244f4 [NUC472/M487] Refine AES/DES alter. DMA buffer requirement comment 2018-01-05 09:18:20 +08:00
ccli8 aafbdc8d38 [NUC472/M487] Fix compile error with disabled crypto
For example, even though MBEDTLS_SHA512_C is disabled (via #undef MBEDTLS_SHA512_C),
mbedtls_sha512_context is still necessary due to referenced in sha512.h.
2018-01-05 09:18:20 +08:00
ccli8 b0228d020d [NUC472/M487] Fix compile error as mbedtls is not included
Currently, trng_api.c is located in targets/ and AES/DES/SHA alter. are located in mbedtls/.
They have shared crypto code.
If they could locate at same location e.g. mbedtls/, the shared crypto code placement would be more reasonable.
2018-01-05 09:18:20 +08:00
ccli8 ba16fd9617 [NUC472/M487] Refine AES alter. key endianness code 2018-01-05 09:18:20 +08:00
ccli8 6464649c41 [NUC472/M487] Coordinate crypto interrupt handler among AES/PRNG 2018-01-05 09:18:20 +08:00
ccli8 0c2d59d327 [NUC472/M487] Refine AES/DES alter. code 2018-01-05 09:18:19 +08:00
ccli8 289bbf0ec7 [NUC472/M487] Fix AES alter. CFB128 error 2018-01-05 09:18:19 +08:00
ccli8 7076675fec [NUC472/M487] Optimize AES alter. code 2018-01-05 09:18:19 +08:00
ccli8 6cc3aa3e54 [NUC472/M487] Guard from re-entry into crypto H/W 2018-01-05 09:18:19 +08:00
ccli8 d66074fecc [NUC472/M487] Coordinate crypto init among AES/DES/SHA/PRNG
Add counter to track crypto init among crypto sub-modules. It includes:
1. Enable crypto clock
2. Enable crypto interrupt

As counter gets zero, crypto clock is disabled to save power.
2018-01-05 09:18:18 +08:00
ccli8 b0eededdaf [NUC472/M487] Fix DES alter. DMA buffer could locate at unsupported region 2018-01-05 09:18:18 +08:00
ccli8 f85875c7b6 [NUC472/M487] Fix AES alter. DMA buffer could locate at unsupported region 2018-01-05 09:18:18 +08:00
ccli8 70e9a90957 [NUC472/M487] Refine AES alter. input/output data endianness 2018-01-05 09:18:18 +08:00
ccli8 a1e202518f [NUC472/M487] Fix AES alter. DMA buffer check 2018-01-05 09:18:18 +08:00
ccli8 20aa516e79 [NUC472/M487] Refine config check code 2018-01-05 09:18:17 +08:00
ccli8 126aa565c7 [NUC472/M487] Remove redundant S/W DES code
This S/W DES code was to test DES H/W port before.
2018-01-05 09:18:17 +08:00
ccli8 2e7f07e264 [NUC472/M487] Refine DES alter. code 2018-01-05 09:18:17 +08:00
ccli8 b2b67af189 [NUC472/M487] Add comment for DES alter. context 2018-01-05 09:18:17 +08:00
ccli8 ed57432c95 [NUC472/M487] Add comment for AES alter. context 2018-01-05 09:18:17 +08:00
ccli8 9e5837fd77 [NUC472/M487] Refine AES alter. code with IV endianness 2018-01-05 09:18:16 +08:00
ccli8 087186aba7 [NUC472/M487] Rework AES alter. CFB128
1. Fix bug on non-block aligned data size
2. More concise
2018-01-05 09:18:16 +08:00
ccli8 93f6ef996f [NUC472/M487] Refine AES alter. DMA buffer code 2018-01-05 09:18:16 +08:00
ccli8 f24ca8c857 [NUC472/M487] Refine AES alter. code 2018-01-05 09:18:16 +08:00
ccli8 82bd285e51 [NUC472/M487] Support multiple contexts in AES alter. with context save & restore 2018-01-05 09:18:15 +08:00
ccli8 0d25a9c421 [NUC472/M487] Fix AES DMA buffer cannot locate at ROM region 2018-01-05 09:18:15 +08:00
ccli8 2dcc1e9e27 [NUC472/M487] Remove AES alter. dead code 2018-01-05 09:18:15 +08:00
ccli8 5665247d4a [NUC472/M487] Fix AES alternative function not thread-safe 2018-01-05 09:18:14 +08:00
ccli8 315b684bd9 [NUC472] Refine coding style 2018-01-05 09:18:14 +08:00
ccli8 0c5b860409 [M487] Refine coding style 2018-01-05 09:18:14 +08:00
ccli8 19e9dbf799 [NUC472] Fix DES alternative function not thread-safe 2018-01-05 09:18:13 +08:00
ccli8 61d9e69be4 [NUC472] Remove unnecessary MBEDTLS_CONFIG_FILE check from AES/DES/SHA alternative
1. aes.h/des.h/sha1.h/sha256.h/sha512.h includes config.h before aes_alt.h/des_alt.h/sha1_alt.h/sha256_alt.h/sha512_alt.h.
2. aes_alt.h/des_alt.h/sha1_alt.h/sha256_alt.h/sha512_alt.h should not be included in any other location.
3. Just include aes.h/des.h/sha1.h/sha256.h/sha512.h in aes_alt.c/des_alt.c/sha1_alt.c/sha256_alt.c/sha512_alt.c.
2018-01-05 09:18:13 +08:00
ccli8 6b0213c13d [NUC472] Remove other unnecessary AES alternative macro definitions
As MBEDTLS_AES_ALT is defined, alternative implementations for all AES functions should be defined.
2018-01-05 09:18:13 +08:00
ccli8 925eee0688 [NUC472] Remove debug code in AES alternative 2018-01-05 09:18:13 +08:00
ccli8 530b8dfdb9 [M487] Fix DES alternative function not thread-safe 2018-01-05 09:18:13 +08:00
ccli8 436ecdbd60 [M487] Remove unnecessary MBEDTLS_CONFIG_FILE check from AES/DES/SHA alternative
1. aes.h/des.h/sha1.h/sha256.h/sha512.h includes config.h before aes_alt.h/des_alt.h/sha1_alt.h/sha256_alt.h/sha512_alt.h.
2. aes_alt.h/des_alt.h/sha1_alt.h/sha256_alt.h/sha512_alt.h should not be included in any other location.
3. Just include aes.h/des.h/sha1.h/sha256.h/sha512.h in aes_alt.c/des_alt.c/sha1_alt.c/sha256_alt.c/sha512_alt.c.
2018-01-05 09:18:12 +08:00
ccli8 8f7df9ab41 [M487] Remove other unnecessary AES alternative macro definitions
As MBEDTLS_AES_ALT is defined, alternative implementations for all AES functions should be defined.
2018-01-05 09:18:12 +08:00
ccli8 fbf7d40778 [M487] Remove debug code in AES alternative 2018-01-05 09:18:12 +08:00
Jimmy Brisson af9e07357a
Merge pull request #5740 from ashok-rao/master
Adding MTB ublox ODIN W2 as a new target.
2018-01-04 10:05:02 -06:00
Christopher Haster 5e7c0976fa littlefs: Fixed issue with immediate exhaustion and small unaligned storage
This was a small hole in the logic that handles initializing the
lookahead buffer. To imitate exhaustion (so the block allocator
will trigger a scan), the lookahead buffer is rewound a full
lookahead and set up to look like it is exhausted. However,
unlike normal allocation, this rewind was not kept aligned to
a multiple of the scan size, which is limited by both the
lookahead buffer and the total storage size.

This bug went unnoticed for so long because it only causes
problems when the block device is both:
1. Not aligned to the lookahead buffer (not a power of 2)
2. Smaller than the lookahead buffer

While this seems like a strange corner case for a block device,
this turned out to be very common for internal flash, especially
when a handleful of blocks are reserved for code.
2018-01-04 09:49:13 -06:00
Christopher Haster ffc857ddc9 littlefs: Fixed positive seek bounds checking
This bug was a result of an annoying corner case around intermingling
signed and unsigned offsets. The boundary check that prevents seeking
a file to a position before the file was preventing valid seeks with
positive offsets.

This corner case is a bit more complicated than it looks because the
offset is signed, while the size of the file is unsigned. Simply
casting both to signed or unsigned offsets won't handle large files.
2018-01-03 18:07:17 -06:00
Christopher Haster 9dd3060d60 Added littlefs statvfs implementation 2018-01-03 12:54:28 -06:00
Christopher Haster f1a9815876 Moved squiggly bracket placement per mbed style 2018-01-03 12:30:50 -06:00
gorazd f6283f5b03 ff_lpc546xx: add enet
fsl_phy.c/.h move to ../drivers to reuse it
lwip: add hardware_init.c
2018-01-01 15:55:24 +01:00