Go to file
Jaeden Amero 778d6822bf RTX5: uVisor: Switch threads very carefully
uVisor doesn't set the PSP of the target thread. The RTOS sets the PSP
of the target thread from the target thread's TCB. However, when
interrupts of higher priority than PendSV happen between the call to
uVisor to switch boxes, and the RTOS setting PSP, the uVisor vIRQ
interrupt handler will attempt to use an invalid PSP (the PSP from
before the box and thread switch). This leads to a crash. Make box and
thread switching atomic by disabling interrupts immediately before the
box switching until immediately after the new PSP is set.
2017-06-04 14:41:59 +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 Merge pull request #4087 from geky/localfs-fslike-fix 2017-06-04 08:35:26 -05:00
hal Merge pull request #4094 from pan-/fix_hal_ticker 2017-06-01 23:25:26 -05:00
platform LocalFileSystem: Moved away from deprecated open functions 2017-06-03 13:18:02 -05:00
rtos RTX5: uVisor: Switch threads very carefully 2017-06-04 14:41:59 +01:00
targets spi: Added default spi_master_block_write implementation to REALTEK_RTL8195AM 2017-06-03 17:14:11 -05:00
tools exporter coding style fix 2017-06-03 20:15:04 +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 2016-09-11 21:24:11 +08: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 FileSystem: Reintegrated FileSystemLike interface 2017-06-03 13:17:37 -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.