Go to file
Arun S cfcfd11049 Remove ethernet interface logic for SoftAP and STA
Issue: The problem is that there is a race condition introduced in that the LWIP thread is relying on the
interface as it is taken down by a application thread while calling disconnect.
In disconnect api called from application context, whd_emac_wifi_link_state_changed() will refer to netif interface
structure in its callback api netif_link_irq(netif). This netif will be cleared by remove_etherent_interface().
whd_emac_wifi_link_state_changed will post message to tcpip_thread. tcpip_thread will process the message and
call the callback api netif_link_irq(netif)
Calling sequence is whd_emac_wifi_link_state_changed -> remove_etherent_interface(). Hence there is a timing issue
that netif might be cleared first before tcpip thread process the message netif_link_irq(netif)

Fix: remove_etherent_interface() will post message to tcpip thread and tcpip thread process the message delete_interface()
which will actually remove the inferface from the netif_list.
Calling sequence is whd_emac_wifi_link_state_changed() message post -> remove_etherent_interface() message post.
message processing order netif_link_irq(netif) -> delete_interface().
Since both the processing is handled in single thread, processing of message is handled sequentially.
2020-04-13 16:45:23 +05:30
.github Merge pull request #11999 from ARMmbed/affected_vers 2019-12-24 11:04:04 +00:00
TESTS Merge pull request #12572 from rajkan01/waitapi_remove_deprecated 2020-04-09 14:57:46 +02:00
TEST_APPS test apps: fix licenses + SPDX identifiers 2020-02-21 07:01:02 +00:00
UNITTESTS Merge pull request #12572 from rajkan01/waitapi_remove_deprecated 2020-04-09 14:57:46 +02:00
cmsis cmsis: remove arm math 2020-01-03 12:25:39 +00:00
components Fix the CI build issue 2020-04-08 10:35:07 +01:00
docs [Storage] Use internal flash for KVStore always if default configuration. TDB_INTERNAL is always for first choose. 2020-03-18 06:05:52 -07:00
drivers Fix the CI build issue 2020-04-08 10:35:07 +01:00
events UserAllocatedEvent: set delay/period at event posting 2020-02-12 10:20:28 +01:00
features Remove ethernet interface logic for SoftAP and STA 2020-04-13 16:45:23 +05:30
hal Applying changes to only specific targets for stop-gap. 2020-04-03 04:45:43 -04:00
platform Merge pull request #12572 from rajkan01/waitapi_remove_deprecated 2020-04-09 14:57:46 +02:00
rtos Fix the CI build issue 2020-04-08 10:35:07 +01:00
targets Merge pull request #12572 from rajkan01/waitapi_remove_deprecated 2020-04-09 14:57:46 +02:00
tools Merge pull request #12712 from jamesbeyond/lto-printf 2020-04-01 12:22:52 +02:00
.astyleignore Add moduletest for SlicingBlockDevice 2019-11-04 16:13:32 +02:00
.astylerc AStyle: fix indentation for longer lines 2018-05-24 14:15:52 +01:00
.coveragerc Exclude libraries and tests from coverage numbers 2017-09-25 11:51:31 -05:00
.gitattributes Normalize line endings for IM880B startup files. 2019-07-15 14:56:22 +03:00
.gitignore Integrate with mbeb-cli build system 2019-04-30 14:41:09 +03:00
.mergify.yml mergify: add 5.15 branch rule 2020-04-02 07:29:47 +01:00
.pylintrc Add pylint configuration file 2016-08-16 11:48:45 -05:00
.travis.yml Fixed travis-ci/events 2020-03-16 16:55:21 +00:00
CONTRIBUTING.md Fix links to documentation on https://os.mbed.com 2019-01-21 14:56:40 -08:00
DOXYGEN_FRONTPAGE.md Very minimal text 2016-08-04 14:09:59 +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 Removed scripts for provisiongs from repository, made fixes per PR comments, adjusted Readme.md 2019-08-30 15:10:19 +03:00
README.md Fix 'LICENSE' file 404 link error 2019-05-02 10:20:26 -05:00
doxyfile_options Doxygen: don't extract static members 2020-01-29 15:38:42 +02:00
doxygen_options.json Fix doxygen_options.json for ResetReason 2019-07-08 15:55:25 +02:00
logo.png Readme updates for style and branding 2017-12-04 14:59:16 -06:00
mbed.h Remove the deprecated RawSerial, UARTSerial, Serial class and SerialBase attach API 2020-03-03 05:19:42 -08:00
requirements.txt Update psutils to address security issue 2020-03-16 15:09:33 +00:00

README.md

Mbed OS

Build status release Build status master Tools coverage status

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.

Release notes

The release notes detail the current release. You can also find information about previous versions.

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

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.

Getting started for contributors

We also have a contributing and publishing guide that covers licensing, contributor agreements and style guidelines.

Documentation

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

To contribute to this documentation, please see the mbed-os-5-docs repository.