Go to file
Naveen Kaje 099d0500ef NRF52: serial_api: Use polling for putc
There are scenarios where putc is called within a critical section, e.g
to log ASSERTs in early initialization code. The interrupts being
disabled here prevents the handlers for the UARTE from executing.
This breaks the tx_in_progress flag based approach. The tx_in_progress
never gets reset. Poll on the TXDRDY instead.

It can be recreated with a simple program as shown here:

*************** Current Behavior ****************
++ MbedOS Error Info ++
Error Status: 0x80FF0100 Code: 256 Module: 255
Error Message: F

************** With Fix *************************

++ MbedOS Error Info ++
Error Status: 0x80FF0100 Code: 256 Module: 255
Error Message: Fatal Run-time error
Location: 0x2C0A9
Error Value: 0x0
Current Thread: Id: 0x20005520 Entry: 0x30EBF StackSize: 0x1000 StackMem: 0x20004520 SP: 0x20005490
For more info, visit: https://armmbed.github.io/mbedos-error/?error=0x80FF0100
-- MbedOS Error Info --
nrf failure at .\main.cpp:22
***************************************************
2018-10-19 11:46:55 +01:00
.github PR template: Feature -> functionality change 2018-08-08 12:50:12 +01:00
TESTS Refactor circular buffer test to platform folder 2018-10-19 11:46:55 +01:00
TEST_APPS Nanostack MAC tester: updated README.md 2018-10-08 15:29:18 +01:00
UNITTESTS equeue_stub updated and code fixed accordingly 2018-10-08 15:29:18 +01:00
cmsis Fix CMSIS __RESTRICT define for IAR 2018-08-25 20:41:12 -05:00
components Merge pull request #7967 from juhaylinen/fix-esp8266-default-interface 2018-09-04 08:19:41 +02:00
docs/design-documents Merge pull request #7426 from donatieng/nfc-spec 2018-09-02 16:04:13 +02:00
drivers Use high resolution time for Timer::read(). 2018-10-19 11:46:55 +01:00
events Merge pull request #7810 from kegilbert/eventqueue-templatewall-rework 2018-08-24 11:30:54 +02:00
features Fix is_valid_erase function to use get_erase_size with address 2018-10-19 11:46:55 +01:00
hal Fix issues with LowPowerTickerWrapper 2018-10-08 15:18:50 +01:00
platform Refactor circular buffer test to platform folder 2018-10-19 11:46:55 +01:00
rtos Replace macros with config options 2018-10-08 15:18:50 +01:00
targets NRF52: serial_api: Use polling for putc 2018-10-19 11:46:55 +01:00
tools Ensure target bootloader settings can be overridden in mbed_app.json Values like `target.mbed_rom_start` were being replaced by None and then ignored. 2018-10-19 11:46:55 +01:00
.astyleignore AStyle: ignore hal storage abstraction 2018-06-29 10:36:36 +01:00
.astylerc AStyle: fix indentation for longer lines 2018-05-24 14:15:52 +01: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 Move test_suite.json ignore in project level 2018-08-31 11:54:40 +03:00
.pylintrc Add pylint configuration file 2016-08-16 11:48:45 -05:00
.travis.yml travis: add license check for gnu library license 2018-10-08 15:18:50 +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 Updated file comment 2018-08-20 12:31:40 +03:00
LICENSE Add Apache v2 LICENSE file 2013-08-06 12:05:04 +01:00
README.md Add GH link to README.md 2018-10-08 15:18:50 +01:00
astyle-branch.out Added test config for mac tester 2018-08-31 11:55:42 +03:00
doxyfile_options Allow storage doxy to build 2018-09-17 21:42:55 -05:00
doxygen_options.json add UNITTESTS folder to exclude patterns in doxygen_options.json 2018-10-08 15:18:50 +01:00
logo.png Readme updates for style and branding 2017-12-04 14:59:16 -06:00
mbed.h Separate version header file to get version updates in Mbed OS 2018-07-11 09:41:30 -05:00
requirements.txt Update Manifest tool version 2018-10-08 15:18:50 +01: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.

Documentation

For more information about Mbed OS, please see our published documentation. It includes published Doxygen for our APIs, step-by-step tutorials, porting information and background reference materials about our architecture and tools.

To contribute to this documentation, please see the mbed-os-5-docs repo.