Go to file
Maciej Bocianski 5aaad0850c sleep_manager_racecondition: fix for slow devices
sleep_manager_racecondition test fix for devices with low CPU clock

This RP contains fix for sleep_manager_racecondition test
for very slow devices (like NRF51). It fixes the test itself
as well as side effects of fix introduced in
 #5046 (us ticker: fix fire interrupt handling)

The idea of the test was to test race condition between main thread
and interrupt handler calling the same function.
To efficiently test this, each handler call should interrupt
main thread to make race more likely.
On very slow devices (like NRF51) when we set very low ticker period
(e.g less then 1000us for NRF51) there is no much time for thread scheduling.
On such slow devices, setting period to 500 us cause that
main thread is scheduled very rarely and only handler is
constantly called making test unreliable.
Fix introduced in #5046 (us ticker: fix fire interrupt handling)
changed fire_interrupt function implementation causing more
interrupt tailing thus even less time for main thread scheduling.
After introduction of #5046 (us ticker: fix fire interrupt handling)
when running sleep_manager_racecondition test on NRF51
(with ticker1.attach_us(&sleep_manager_locking_irq_test, 500);)
test is failing with timeout due to the fact that interrupt
handler is constantly called and main thread is never scheduled.
2018-02-22 11:36:08 +01:00
.github Copy edit pull_request_template.md 2017-10-27 13:41:02 -05:00
TESTS sleep_manager_racecondition: fix for slow devices 2018-02-22 11:36:08 +01:00
cmsis Core(A): Changed macro __DEPRECATED to CMSIS_DEPRECATED. (Issue #287) 2017-12-21 14:09:25 +09:00
drivers Merge pull request #6076 from mprse/remove_ticker_interface_init_while_Ticker_creation 2018-02-20 13:21:20 -06:00
events Merge pull request #6118 from ARMmbed/g-note-global-equeue-irq 2018-02-16 19:48:36 -06:00
features Merge pull request #6141 from hasnainvirk/dr_bug_fix 2018-02-20 13:44:51 -06:00
hal Merge pull request #5956 from marcuschangarm/feature-hal-swo 2018-02-16 16:08:12 -06:00
platform Merge pull request #6031 from OpenNuvoton/nuvoton_m2351_cthunk 2018-02-08 15:21:24 +00:00
rtos Merge pull request #6113 from bmcdonnell-ionx/master 2018-02-16 13:47:33 -06:00
targets Merge pull request #6124 from marcuschangarm/nrf52_flash_fix 2018-02-20 13:31:45 -06:00
tools Merge pull request #6123 from theotherjimmy/correct-sector-info 2018-02-20 11:33:27 -06:00
.coveragerc Exclude libraries and tests from coverage numbers 2017-09-25 11:51:31 -05:00
.gitattributes Added .gitattributes for automatic LF line ending conversion 2013-08-08 13:19:34 +03:00
.gitignore add few files to gitignore list 2018-02-09 10:57:31 +00:00
.pylintrc Add pylint configuration file 2016-08-16 11:48:45 -05:00
.travis.yml Merge pull request #6126 from cmonr/travis-timeout-fix 2018-02-20 11:34:49 -06: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
LICENSE-BSD-3-Clause Adding license text and BSD-Clause 3 2018-02-09 11:00:56 -06:00
README.md Simple typo fix in the README.md 2018-01-08 19:50:18 +00:00
doxyfile_options Doxygen: Update excluded paths and predefined macros. 2017-12-14 16:44:01 +00:00
doxygen_options.json Doxygen: Update path and predefined macros. 2017-12-14 16:45:31 +00:00
logo.png Readme updates for style and branding 2017-12-04 14:59:16 -06:00
mbed.h platform: Add ScopedLock 2018-01-15 09:34:05 +01:00
requirements.txt Add JSON Schema library to requirements.txt 2018-02-01 17:18:40 +00:00

README.md

Mbed OS

Build status release Build status master Tools coverage status PR progress

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.

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.