Commit Graph

41 Commits (7501ee7fc9eb6572cb21d0003cb2fda6b87b98e9)

Author SHA1 Message Date
Jamie Smith 86723f7dab
Synchronize changes with Mbed upstream: September 2023 edition (#185)
* Fix null pointer dereferencing

Add null check for return values of functions that are mostly (but not
always) checked for null.
E.g., since 98% of calls to protocol_stack_interface_info_get_by_id
check for null, it is likely that the function can return null values in
some cases, and omitting the check could crash the program.

* Update MAX32660 peripheral drivers with final ones that use by SDK

* Apply MAX32660 delta
Update mbed hal function as per of SDK update

Signed-off-by: Sadik.Ozer <sadik.ozer@analog.com>

* M2354: Fix debug failure in Mbed Studio

In Mbed Studio, debugging, based on pyOCD, requires Mbed OS application code starting on the sector boundary.

Modification list:
1.  Update TF-M import assets with MCUboot header padding to sector aligned
2.  Following above, change header size argument (-H) in wrapper.py command line
3.  Following below, fix min-write-size (--align) to 4 (per flash_area_align()) in wrapper.py command line
    https://docs.mcuboot.com/design.html#image-trailer

Related issue:
https://github.com/ARMmbed/mbed-os/issues/15417

* Do not clear interrupt flag during initialization
This causes issue for repeaded initialization while using BufferedSerial mode

Signed-off-by: Sadik.Ozer <sadik.ozer@analog.com>

* MAX32660, MAX32670 UART performance improvement

Signed-off-by: Sadik.Ozer <sadik.ozer@analog.com>

* Handle negative values passed to close()

Calling close() with negative numbers causes out-of-bounds indexing of the filehandles array. For example, this can happen if open() returns an error and the value is later passed to close().

* Moved a { to the same line as if

Moved a { to the same line as if

* add nullpointer check in LWIP::socket_close

* Fix crash when using FDCAN3 RX IRQ on STM32G473 (and others)

* connectivity: drivers: Update Nuvoton M467 EMAC DMA_IE ctl

In IRQ Handler, to disable some interrupt type of DMA error.
It could avoid unexpected repeated interrupt.The masked bit of
DMA_IE could be recovered in next EMAC IRQ event.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>

* Add workaround for G474 hardfault

* update drivers STM32WL CUBE V1.3.0

* Changed static to weak

* Fix: Do not disable SPI for manual drive mode during transaction setup
It has been reported that disabling SPI module causes glitch for manual SS drive mode

Signed-off-by: Sadik.Ozer <sadik.ozer@analog.com>

* make cellular event queue size configurable

update unit tests

---------

Signed-off-by: Sadik.Ozer <sadik.ozer@analog.com>
Signed-off-by: cyliang tw <cyliang@nuvoton.com>
Co-authored-by: Mingjie Shen <shen497@purdue.edu>
Co-authored-by: Ahmet Polat <Ahmet.Polat@maximintegrated.com>
Co-authored-by: Sadik.Ozer <sadik.ozer@analog.com>
Co-authored-by: Chun-Chieh Li <ccli8@nuvoton.com>
Co-authored-by: alrvid <126816223+alrvid@users.noreply.github.com>
Co-authored-by: Jost, Chris <79271064+chrJost@users.noreply.github.com>
Co-authored-by: Joseph Duchesne <joseph@avidbots.com>
Co-authored-by: cyliang tw <cyliang@nuvoton.com>
Co-authored-by: Maxim Markin <mak22223@ya.ru>
Co-authored-by: Charles <hallard04@free.fr>
Co-authored-by: Lukas Karel <lukas.karel@world-direct.at>
2023-09-24 23:37:28 -07:00
Jamie Smith 3f7d67c64c
Synchronize upstream changes - May 2023 edition (#160)
* fix STM32L1 FLASH_SIZE for cat.3 devices with DEV_ID 0x436

* Fix mesh connect semaphore not releasing causing blockage

* Add support of NSAPI_ICMP sockets in Nanostack

* STM32F1: add MCU_STM32F103xD support

* STM32F1: add MCU_STM32F103xG support

* test: Disable failing tests due to echo server

Some tests are failing as echo.mbedcloudtesting.com is not serving TLS
requests anymore.

Signed-off-by: Saheer Babu <saheer.babu@arm.com>

* Check CAN DLC length value

* Fix default interface ID only being used partially

If user sets the default interface ID for a socket (e.g. using setsockopt
with SOCKET_INTERFACE_SELECT), the default interface should take over
other interface selection mechanisms as a interface is bound to the socket.
This applies for both IPv6 local and global scopes for unicast messages
but not for multicast messages as these are bound to a multicast interface
using SOCKET_IPV6_MULTICAST_IF socket option.

* Targets: NXP: IMXRT: Fixed GCC_ARM lds syntax.

Signed-off-by: Yilin Sun <imi415@imi.moe>

* CAN: read only up to 8 bytes

If HAL implementation writes more than 8 bytes of data, error immediately.
CANMessage defines only 8 bytes of data, lenght cannot be > 8.

This fixes https://github.com/ARMmbed/mbed-os/issues/15361

Signed-off-by: Martin Kojtal <martin.kojtal@arm.com>

* STM32F303xC: add RAM_CCM in GCC linker script

* fix(drivers/emac): Remove incorrect RMII RX ER initialization

* fix(drivers/emac): Add missing SPDX indetifier to ST driver files

* fixed compiler inline issue

* Update Mbed version block

* removed HSE speed limitation for STM32G431RB

* Added HSE range validation for STM32g431xB

* added support for 4, 8 and 16MHz

* M487: Remove unused variable 'u32EscapeFrame'

Remove unused variable 'u32EscapeFrame' in BSP m480_ccap.h to avoid warnings

* force FIFO IRQ for FDCan RX on H7

* Add hardware CRC support to STM32G4

* add support for Nucleo-H745ZI

* Update MAX32670 peripheral drivers with final ones that use by SDK

Signed-off-by: Sadik.Ozer <sadik.ozer@analog.com>

* MAX32670 apply mbed required changes on peripheral drivers

Signed-off-by: Sadik.Ozer <sadik.ozer@analog.com>

* M467: Support CAN bus

1.  Update BSP CANFD driver
2.  Notes for implementation
    (1) Each CANFD instance supports two IRQ lines. Use only line 0. Line 1 is not used.
    (2) For Rx disabling multiple filter handles,
        1)  Map all filter handles to filter handle 0
        2)  Use Rx FIFO 0 for filter handle 0
    (3) For Rx enabling multiple filter handles,
        1)  Use Rx FIFO 0 for filter handle 0
        2)  Use Rx FIFO 1 for filter handle through first invoking can_filter()
        3)  Use dedicated Rx Buffer for other filter handles
        NOTE: H/W supports mask on Rx FIFO 0/1 but not on dedicated Rx Buffer.
    (4) For Tx, use only dedicated Tx Buffer. BSP CANFD driver doesn't support Tx FIFO/Queue.
    (5) Support no CAN FD.

* Fix 'new[]' array freed with 'delete'

The array _scratch_buf is allocated using new[] in line 761 of
mbed-os/storage/kvstore/securestore/source/SecureStore.cpp.
But it was freed using delete.

* Define default parameters of functions of derived class the same as the base class

The member function bringup() of class ThreadInterface redefines
parameter stack's default value to IPV6_STACK from the inherited default value
DEFAULT_STACK (in Interface).
The default value will be resolved statically, not by dispatch, so this
can cause confusion.
Similar arguments apply to LoWPANNDInterface and WisunInterface.

* Avoid calling virtual functions from constructors and destructors

Virtual functions are resolved statically (not dynamically) in
constructors and destructors for the same class. The call should be made
explicitly static by qualifying it using the scope resolution operator.

* Fix potentially overrunning write of sprintf

Format string "%d" requires 12 bytes (including the null terminator).
Also, use snprintf instead of sprintf to prevent buffer overflow.

* Fix system_clock.c location

Signed-off-by: Jasper Jonker <jasper.jonker@wingtra.com>

* Fix variable name

Signed-off-by: Jasper <jasper.jonker@wingtra.com>

* Change storage-class of secret_buf to static

Storing the address of a local variable (`secret_buf`)
in non-local memory (`prf_ptr->secret`) can cause a
dangling pointer bug if the address is used after the function returns.

* fix compiling errors of FATFileSystem when exFAT was enabled

* Add OSPI support for STM32H7

* Nuvoton: Enable extending sampling time for ADC/EADC

For all Nuvoton targets, enable extending sampling time in ADC/EADC clocks on per-pin basis.

---------

Signed-off-by: Saheer Babu <saheer.babu@arm.com>
Signed-off-by: Yilin Sun <imi415@imi.moe>
Signed-off-by: Martin Kojtal <martin.kojtal@arm.com>
Signed-off-by: Sadik.Ozer <sadik.ozer@analog.com>
Signed-off-by: Jasper Jonker <jasper.jonker@wingtra.com>
Signed-off-by: Jasper <jasper.jonker@wingtra.com>
Co-authored-by: caodd <caodd1993@qq.com>
Co-authored-by: YannCharbon <yann.charbon@ik.me>
Co-authored-by: Jerome Coutant <jerome.coutant@st.com>
Co-authored-by: Saheer Babu <saheer.babu@arm.com>
Co-authored-by: Martyx00 <martin.petran@protonmail.com>
Co-authored-by: Yilin Sun <imi415@imi.moe>
Co-authored-by: Martin Kojtal <martin.kojtal@arm.com>
Co-authored-by: akiroz <akiroz.vectis@gmail.com>
Co-authored-by: Charles <hallard04@free.fr>
Co-authored-by: Leonard Chiang <leochiang2002@gmail.com>
Co-authored-by: Chun-Chieh Li <ccli8@nuvoton.com>
Co-authored-by: jmcloud <jmcloud@tesla.com>
Co-authored-by: Augusto Zanellato <augusto.zanellato@gmail.com>
Co-authored-by: Sadik.Ozer <sadik.ozer@analog.com>
Co-authored-by: Mingjie Shen <shen497@purdue.edu>
Co-authored-by: Jasper Jonker <jasper.jonker@wingtra.com>
Co-authored-by: wdx04 <wdx04@outlook.com>
2023-05-17 01:18:28 -07:00
Tymoteusz Bloch bdfd98e764 New feature: send/recv message implementation added to network stack 2021-09-01 09:13:57 +01:00
Arto Kinnunen 1de3aab0a9 Enable nanostack system time read/write
Allow Nanostack to read and write system time to synchronise time in
the mesh network. By default feature is enabled in the mesh json-
configuration.
2021-06-23 14:17:03 +03:00
Anna Bridge ef0b31ab53
Merge pull request #14629 from artokin/phy_mode_and_channel_plan_master
Mesh api: Added PHY mode, channel plan IDs and configuration functions
2021-05-25 14:04:32 +01:00
Debdeep Saha d963a9af4a Added API to get Wi-SUN Neighbor Table 2021-05-10 20:00:32 +05:30
Jarkko Paso 37e42fb1b7 Mesh API: Functions to set/get/validate FAN v1.1 domain configuration. 2021-05-06 09:27:04 +03:00
Jarkko Paso 6c7789e31e Fixed astyle issue 2021-05-06 09:24:33 +03:00
Jarkko Paso 2f4b3426cb Mesh api: Added PHY mode and channel plan IDs 2021-05-06 09:11:20 +03:00
Martin Kojtal 6f43f03657
Merge pull request #14553 from debdeep-arm/reset-ws-stats-master
Added API to reset MAC statistics and Wi-SUN statistics
2021-04-28 12:35:07 +01:00
Debdeep Saha 83844f0fd4 Added API to reset MAC statistics and Wi-SUN statistics. 2021-04-15 18:28:44 +05:30
Mika Leppänen 989c8e85eb Added new start methods to Wi-SUN BR with WisunInterface parameter and deprecated the old ones
Previously WisunBorderRouter start() used NetworkInterface type for mesh interface, although only
WisunInterface type is possible for the call. Added a new overloads of the start with the
WisunInterface as mesh interface type and deprecated the old ones. This makes the calls stricter
about the interface type and safer. It also allows to remove the reinterpret_cast that causes
compiler warning on ARM compiler.
2021-04-07 11:34:33 +03:00
Mika Leppänen 08bec7583d Added missing const qualifier to mesh ethernet mac addr get 2021-02-10 13:17:03 +02:00
Mika Leppänen 1e3d32ad41 Corrected nanostack coverity warnings 2021-01-13 13:05:51 +02:00
Mika Leppänen 88b46cc71c Corrected Wi-SUN certificate add and remove functions on Wi-SUN interface
Corrected Wi-SUN certificate add and remove functions to work properly
with .json certificates. .json certificates are used only if certificates
added by add functions are not set. Corrected certificate add and remove
functions to work properly and improved function descriptions.
2020-12-15 15:04:14 +02:00
Arto Kinnunen 6a28bce1dd Remove API changes
-Remove Nanostack::add_ethernet_interface API change
-Add get_mac_address to MeshEthernetInterface
-Fix compiler warnings by adding overrides
2020-11-30 13:49:33 +02:00
Arto Kinnunen 82964a3a0c Update set_mac_address signature
Use nsapi_size_t instread os size_t.
2020-11-20 10:05:35 +02:00
Arto Kinnunen c8b667a7ba Review correction: Remove unnecessary method
Remove unnecessary method: add_ethernet_interface_ns
2020-11-18 17:29:10 +02:00
Arto Kinnunen e1e0f89699 MAC address set/get support for EMAC interface
Add support to set and get MAC address from EMAC interface.
2020-11-18 17:26:04 +02:00
Arto Kinnunen a607be6623 Method for adding network interface MAC address
Add method set_mac_address to set network interface MAC address.
2020-11-18 17:17:54 +02:00
Martin Kojtal 78c8d84214
Merge pull request #13808 from harmut01/license_refactor
Remove erroneous character from SPDX identifer
2020-10-27 09:03:41 +00:00
Harrison Mutai 6bfe651aad Remove erroneous character from SPDX identifer
Erroneous '/' was appended to start of comment. This was causing CMake
warning during complition. Removes character from affected files.
2020-10-23 15:08:58 +01:00
Martin Kojtal ed73a48364
Merge pull request #13733 from artokin/enable_nanostack_dNS_cache_usage-master
Enable Nanostack DNS cache usage
2020-10-19 08:23:20 +01:00
Martin Kojtal 61aa6817f0
Merge pull request #13724 from harmut01/license_refactor
Add license notice to Arm copyrighted source files
2020-10-16 09:09:53 +01:00
Martin Kojtal bdb6bd50d4
Merge pull request #13757 from artokin/add-min-sens-wisun-param-master
wisun: Add APIs for Device min sense and CCA threshold table.
2020-10-15 15:05:58 +01:00
Martin Kojtal b7551c2eb5
Merge pull request #13737 from mikaleppanen/cert_remove_master
Add certificate remove before add to wisun tasklet
2020-10-15 13:53:28 +01:00
Harrison Mutai 4fad1112e5 Add SPDX license identifier to Arm files
Add license identifier to files which Arm owns the copyright to,
and contain either BSD-3 or Apache-2.0 licenses. This is to address
license errors raised by scancode analysis.
2020-10-15 10:47:27 +01:00
Harrison Mutai d1d6bf51b3 Add license notice to Arm copyrighted source files
Scancode found missing license notices in our source files. This commit
addresses those issues by adding an Apache-2.0 notice to source files
highlighted.
2020-10-15 10:46:35 +01:00
Debdeep Saha 986f9dd946 Resolved comments. 2020-10-13 15:11:27 +03:00
Debdeep Saha 6c84032a33 Added APIs for Device min sense and CCA threshold table.
-Added get, set and validate API for device min sens.
-Added get API for CCA threshold table.
2020-10-13 14:56:29 +03:00
Mika Leppänen 657795e621 Added certificate remove before add to wisun tasklet
This prevents tasklet from adding own certificates multiple times
to Nanostack in case bootstrap is made again.
2020-10-08 12:08:56 +03:00
Arto Kinnunen a53233da08 Follow Mbed OS coding style 2020-10-07 17:37:56 +03:00
Arto Kinnunen d02561e5e9 Update WisunBorderRouter class
Add set_dns_query_result to WisunBorderRouter.
2020-10-07 17:36:22 +03:00
Mika Leppänen 4bf2c3a964 Mesh interface global up is indicated always on bootstrap
This indicates e.g. to client that IP address has changed or connection
to network has been established.
2020-10-05 12:59:44 +03:00
Mika Leppänen 23c13d74ec Added RADIUS configuration options to Wi-SUN
Added support for external RADIUS server configuration to Wi-SUN Border Router.
Added configuration functions and .json configuration options for:
- external RADIUS server IPv6 address
- RADIUS shared secret.
- RADIUS client retry trickle timer configuration. This can be used to set how fast
the RADIUS client retries Access-Request messages to RADIUS server in case reply
from server is not received.
2020-09-08 14:42:18 +03:00
Martin Kojtal 6f024d5299
Merge pull request #13494 from artokin/upstream_mesh_network_size_api_to_master
Add WiSun network size configs in JSON
2020-08-31 11:10:40 +01:00
Debdeep Saha 0258c89f6d Typo fixed. 2020-08-26 12:12:56 +03:00
Debdeep Saha c0172154e6 Resolving comments 2020-08-26 12:12:56 +03:00
Debdeep Saha 68cf724168 Updating mbed-mesh-api.
-Adding new parameters for Wi-SUN interface information.
2020-08-26 12:12:56 +03:00
fred.li bb87fa9f0c Add WiSun network size configs in JSON 2020-08-26 10:29:00 +03:00
Ashok Rao 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.
2020-08-05 16:55:43 +01:00