Go to file
Laurent MEUNIER efa1045fa6 STM32: 16 bits ticker, fixes in set function and handler
This commit simplifies ticker interrupt set function and handler.

There were issues around the 16 bits timer wrap-around timing as we were
aligning interrupts with wrap-around limits (0xFFFF) and then reading
TIM_MST->CNT again in timer_update_irq_handler which could lead
to crossing case with the wrap-around (TIM_FLAG_UPDATE) case.

Now we're using the 16 lower bits of the timestamp as the reference from
using in set_compare and never changing it. There is also no need to set
comparator again in timer_update_irq_handler. This is more robust and
also more efficient.
2017-06-11 09:48:08 +01:00
.github Update pull_request_template.md 2016-09-08 12:05:47 +03:00
TESTS Ignore deprecated storage test 2017-06-02 23:50:39 -05:00
cmsis Modify CMSIS 5 so it is suitable for mbed-os 2017-05-30 18:53:38 +01:00
drivers Merge pull request #4094 from pan-/fix_hal_ticker 2017-06-01 23:25:26 -05:00
events Update codebase for CMSIS5/RTX5 2017-05-30 18:55:52 +01:00
features utest_case.h : Fix comment indentation 2017-06-11 09:48:08 +01:00
hal Merge pull request #4094 from pan-/fix_hal_ticker 2017-06-01 23:25:26 -05:00
platform uVisor: Wrap _memalign_r and _calloc_r 2017-06-04 14:41:59 +01:00
rtos RTX5: uVisor: Switch threads very carefully 2017-06-04 14:41:59 +01:00
targets STM32: 16 bits ticker, fixes in set function and handler 2017-06-11 09:48:08 +01:00
tools Fix a typo in test code 2017-06-11 09:48:07 +01:00
.gitattributes Added .gitattributes for automatic LF line ending conversion 2013-08-08 13:19:34 +03:00
.gitignore Ignore .vscode folder 2017-01-11 20:48:05 +02:00
.pylintrc Add pylint configuration file 2016-08-16 11:48:45 -05:00
.travis.yml Enforce device_name is valid in targets.json 2017-02-08 14:54:26 -06:00
CONTRIBUTING.md Update CONTRIBUTING.md 2017-06-11 09:48:04 +01: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 Edit Readme and add Travis Badges 2017-04-06 11:18:59 -05:00
doxygen_options.json [doxygen] Exclude tools and TESTS directories. Add macro 2017-05-02 12:47:30 -05:00
mbed.h Add versioning information to mbed OS 5.5 release branch 2017-06-04 12:03:26 -05: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

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.