Go to file
Russ Butler 17892cbbb9 Add handling for synchronized low power tickers
Some low power tickers take multiple cycles of the low power clock
to set a compare value. Because of this if the compare value is set
twice back-to-back these implementations will block until that time
has passed. This can cause system stability issues since interrupts
are disabling for this time.

To gracefully support this kind of hardware this patch adds code
to prevent back-to-back writes to the hardware. It does this by
recording the low power clock cycle of the initial write. If any
writes come in too soon after this initial write the microsecond
ticker is used to schedule the new write in the future when the
hardware is ready to accept a new value.

To enable this feature on a target the macro LOWPOWERTIMER_DELAY_TICKS
must be set to the number of low power clock cycles that must elapse
between writes to the low power timer.
2018-04-16 17:36:07 -05:00
.github PR template: do not use task list 2018-03-21 11:56:38 +00:00
TESTS Merge pull request #6309 from deepikabhavnani/peek_api 2018-03-22 11:28:15 -05:00
cmsis Core(A): Changed macro __DEPRECATED to CMSIS_DEPRECATED. (Issue #287) 2017-12-21 14:09:25 +09:00
drivers Merge pull request #6239 from bmcdonnell-ionx/interrupt-in-pin-mode 2018-03-23 12:00:36 -05:00
events Merge pull request #6238 from pauluap/break_dispatch_flag 2018-03-15 10:59:36 -05:00
features Merge pull request #6494 from donatieng/securitydb_fix_casing 2018-03-29 12:00:36 -05:00
hal Add handling for synchronized low power tickers 2018-04-16 17:36:07 -05:00
platform Merge pull request #6377 from scartmell-arm/feature-deep-sleep-tracing-filename-fix 2018-03-23 10:28:25 -05:00
rtos Merge pull request #6257 from SenRamakri/sen_FaultHandlerFixes 2018-03-08 13:04:07 -06:00
targets Merge pull request #6043 from ithinuel/add-rak811 2018-03-30 01:54:19 -05:00
tools Merge pull request #6512 from theotherjimmy/export-check-rtos 2018-04-03 11:06:55 -05: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 Revert "BLE: Gatt client unit tests" 2018-03-26 11:51:29 +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
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 Add missing Doxygen descriptions for Nanostack 2018-03-21 14:15:28 +02:00
doxygen_options.json Add missing Doxygen descriptions for Nanostack 2018-03-21 14:15:28 +02:00
logo.png Readme updates for style and branding 2017-12-04 14:59:16 -06:00
mbed.h Merge pull request #6230 from bulislaw/system_reset 2018-03-01 10:31:07 -06: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.