Go to file
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
.github Update for Doxygen 1.9.5 (#119) 2023-01-03 21:26:26 -08:00
TESTS Move Mbed TLS self tests to a separate configuration 2021-06-15 10:50:14 +01:00
UNITTESTS Rename inconsistently named testing-related variables. Also fix STM32CUBE not working from application code. 2022-09-14 00:25:29 -07:00
cmsis Remove all source files exclusive to Arm Compiler and IAR (#159) 2023-05-15 08:23:01 -07:00
connectivity Synchronize upstream changes - May 2023 edition (#160) 2023-05-17 01:18:28 -07:00
docker_images/mbed-os-env Fix dockerfile typo 2022-09-14 00:25:26 -07:00
docs github actions for mbed-os-env docker management 2021-08-03 16:28:14 +01:00
drivers Synchronize upstream changes - May 2023 edition (#160) 2023-05-17 01:18:28 -07:00
events mbed-ce@master + fixes + gcc 11 support (#135) 2023-02-21 09:04:34 -08:00
extern Add external greentea-client dependency 2021-07-07 14:29:14 +01:00
features Rethink STM32 I2C v2 HAL (#78) 2022-11-20 17:46:30 -08:00
hal More fixes for sleep and clocking stuff on MIMXRT105x (#158) 2023-05-11 22:49:55 -07:00
platform Synchronize upstream changes - May 2023 edition (#160) 2023-05-17 01:18:28 -07:00
rtos mbed-ce@master + fixes + gcc 11 support (#135) 2023-02-21 09:04:34 -08:00
storage Synchronize upstream changes - May 2023 edition (#160) 2023-05-17 01:18:28 -07:00
targets Synchronize upstream changes - May 2023 edition (#160) 2023-05-17 01:18:28 -07:00
tools Remove all source files exclusive to Arm Compiler and IAR (#159) 2023-05-15 08:23:01 -07:00
.astylerc AStyle: fix indentation for longer lines 2018-05-24 14:15:52 +01:00
.codecheckignore .codecheckignore add STM mx_wifi files 2021-09-30 17:56:07 +02:00
.coveragerc Exclude libraries and tests from coverage numbers 2017-09-25 11:51:31 -05:00
.editorconfig Add .editorconfig file 2021-02-25 16:26:34 +01:00
.gitattributes Normalize line endings for IM880B startup files. 2019-07-15 14:56:22 +03:00
.gitignore Clean up top-level build file and build options, fix build issues on MinGW 2022-09-14 00:25:25 -07:00
.gitmodules Add docs generation workflow (#45) 2022-09-26 08:15:30 -07:00
.lgtm.yml Rename inconsistently named testing-related variables. Also fix STM32CUBE not working from application code. 2022-09-14 00:25:29 -07:00
.mergify.yml mergify: fix needs work labels 2021-10-14 15:01:16 +01:00
.pylintrc Add pylint configuration file 2016-08-16 11:48:45 -05:00
CMakeLists.txt Teensy 4.1 port with Ethernet support (#144) 2023-03-08 20:18:33 -08:00
CONTRIBUTING.md Fix links to documentation on https://os.mbed.com 2019-01-21 14:56:40 -08:00
DOXYGEN_FRONTPAGE.md Updating with new links and correct branding 2020-08-12 10:49:05 +01:00
Jenkinsfile Updated file comment 2018-08-20 12:31:40 +03:00
LICENSE-apache-2.0.txt license: rename to apache 2.0 txt file 2019-02-13 11:28:01 +00:00
LICENSE.md Update LICENSE.md 2021-08-05 14:13:57 +03:00
README.md Update for Doxygen 1.9.5 (#119) 2023-01-03 21:26:26 -08:00
doxyfile_options Update for Doxygen 1.9.5 (#119) 2023-01-03 21:26:26 -08:00
doxygen_options.json BLE: update doxygen exclusion pattern 2020-08-25 11:34:00 +01:00
logo.png Update readme to show that this is Mbed CE, and update templates to show that this is no longer an automated system 2022-09-14 00:25:30 -07:00
mbed.h Added Raw CAN (unlocked can read api) and updated the code for the 2021-06-29 12:46:21 +05:30

README.md

Mbed OS

Mbed OS Community Edition

Build status master

Arm Mbed OS is an open source embedded operating system designed specifically for the "things" in the Internet of Things. It includes all the features you need to develop a connected product based on an Arm Cortex-M microcontroller, including security, connectivity, an RTOS and drivers for sensors and I/O devices.

Mbed OS provides a platform that includes:

  • Security foundations.
  • Cloud management services.
  • Drivers for sensors, I/O devices and connectivity.

This is Mbed OS Community Edition (CE), a fork focused on improving the build system and tooling, fixing bugs, and keeping maintenance going after ARM's step back from the Mbed project.

License and contributions

The software is provided under the Apache-2.0 license. Contributions to this project are accepted under the same license. Please see contributing.md for more information.

This project contains code from other projects. The original license text is included in those source files. They must comply with our license guide.

Folders containing files under different permissive license than Apache 2.0 are listed in the LICENSE file.

Getting started for developers

To start a new project that uses Mbed CE, see the setup guide here.

We have a developer website for asking questions, engaging with others, finding information on boards and components, using an online IDE and compiler, reading the documentation and learning about what's new and what's coming next in Mbed OS.

Additionally, the discussions page on this repo can be used for proposing and discussing specific code changes.

Documentation

For more information about Mbed OS, please see the published Mbed OS documentation. It includes general overview information, step-by-step tutorials, porting information and background reference materials about our architecture and tools.

For the Mbed OS CE code-level documentation (Doxygen), see here