Go to file
Russ Butler 06fa1dbbef Prevent use of deleted ticker in Ticker test
In test_case_2x_callbacks two tickers are setup to repeatedly
reschedule each other. When these tickers are deleted this
rescheduling is still occurring and can lead to a deleted ticker
being scheduled.

When this happens the following error message is displayed:
Thread 0x0 error -6: Not allowed in ISR context

Note - this problem was not detected by CI since the test reported
the correct results back to the host test and only experienced this
error on tear down.

This problem can be reproduced on an nrf51 by first building the ticker
test with:
"mbed test -t GCC_ARM -m NRF51_DK -n tests-mbed_drivers-ticker
--compile -DMBED_TRAP_ERRORS_ENABLED=1
-DMBED_HEAP_STATS_ENABLED=1 -DMBED_STACK_STATS_ENABLED=1"

And then running testing with:
"mbed test -t GCC_ARM -m NRF51_DK -n tests-mbed_drivers-ticker --run"
2017-10-20 16:18:27 +01:00
.github Correct a typo in the github issue template 2017-07-06 00:26:21 +02:00
TESTS Prevent use of deleted ticker in Ticker test 2017-10-20 16:18:27 +01:00
cmsis Initial RTX and tools support for Cortex M-23/M-33 devices 2017-09-11 11:43:26 -05:00
drivers Properly unlock sleep in destructor of drivers 2017-10-06 14:12:48 +01:00
events Remove use of internal RTX types 2017-09-04 11:26:38 -05:00
features Nanostack v6.2.2 2017-10-06 14:12:48 +01:00
hal Initialize the HAL ticker on first read 2017-10-06 14:12:47 +01:00
platform Merging changes from ATParser got AT parser unification 2017-10-20 16:18:27 +01:00
rtos Added RTX5 context switcher files 2017-10-06 14:12:46 +01:00
targets Simplify CRP placement. 2017-10-20 16:18:26 +01:00
tools remove the first join 2017-10-20 16:18:27 +01:00
.coveragerc Exclude libraries and tests from coverage numbers 2017-10-06 14:12:45 +01:00
.gitattributes Added .gitattributes for automatic LF line ending conversion 2013-08-08 13:19:34 +03:00
.gitignore Ignore doxygen builds temporay object database 2017-06-05 17:32:45 -05:00
.pylintrc Add pylint configuration file 2016-08-16 11:48:45 -05:00
.travis.yml Fix travis requirements install 2017-09-24 21:34:28 +01:00
CONTRIBUTING.md Update link in CONTRIBUTING.md 2017-06-09 16:38:38 -05:00
DOXYGEN_FRONTPAGE.md Very minimal text 2016-08-04 14:09:59 +01:00
Jenkinsfile Jenkinsfile: remove client app test temporarily 2017-06-01 12:15:09 +01:00
LICENSE Add Apache v2 LICENSE file 2013-08-06 12:05:04 +01:00
README.md Post coverage details on coveralls and link to them in readme 2017-09-05 14:32:50 -05:00
doxyfile_options Move Cortex specific RTX behind TARGET_CORTEX 2017-08-31 19:55:54 -05:00
doxygen_options.json Move Cortex specific RTX behind TARGET_CORTEX 2017-08-31 19:55:54 -05:00
mbed.h Updated MBED versionning block for patch release 2017-10-06 14:12:49 +01:00
requirements.txt Remove pycurl dependency 2016-10-20 16:24:47 -05:00

README.md

ARM mbed OS

mbed OS is an open-source embedded operating system designed for the "things" in the Internet of Things (IoT). mbed OS includes the features you need to develop a connected product using an ARM Cortex-M microcontroller.

mbed OS provides a platform that includes:

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

mbed OS is modular, configurable software that you can customize it to your device and to reduce memory requirements by excluding unused software.

Release Notes

The Release Notes detail the current release and previous versions.

Continuous Integration Status

We run continuous integration on all of our branches and pull requests to verify the stability of mbed OS. The following are the Travis CI indicators for mbed OS.

  • Master branch Master Branch CI Badge
  • Latest release Latest Tag CI Badge

Tools coverage Coverage Status

Getting Started for Developers

You need mbed CLI to build mbed OS. For more details, read the mbed OS Handbook.

Getting Started for Contributors

We have a Contributing and Publishing Guide in the mbed OS Handbook.