408cff4f8d
The current implementation of semihost_disabledebug() hangs when used with mbed interface firwmare revision 21164, the first version which added support for this semihost call. I encountered this hang when running a Release build on my mbed-LPC1768 board as the RTOS attempted to disable the debugger before the idle thread put the CPU to sleep. The 21164 interface firmware expects that R1 points to a valid argument block but the current implementation passes in NULL. The fix was to pass in a dummy block which is ignored by the newer 141212 revision of the firmware and allows the 21164 version to proceeed without halting the CPU until a manual reset. Before this fix semihost_disabledebug() did work with the latest mbed interface firmware revision 141212 but I rarely use this revision of the interface firmware due to the instability issues I have encountered in the past with its CDC and LocalFileSystem functionality. With this proposed fix, the code now works with both the 21164 and 141212 revisions of the mbed interface firmware on the mbed-LPC1768. |
||
---|---|---|
.github | ||
TESTS | ||
cmsis | ||
drivers | ||
events | ||
features | ||
hal | ||
platform | ||
rtos | ||
targets | ||
tools | ||
.gitattributes | ||
.gitignore | ||
.pylintrc | ||
.travis.yml | ||
CONTRIBUTING.md | ||
DOXYGEN_FRONTPAGE.md | ||
Jenkinsfile | ||
LICENSE | ||
README.md | ||
mbed.h | ||
requirements.txt |
README.md
ARM mbed OS
mbed OS is an open-source embedded operating system designed specifically for the "things" in the Internet of Things (IoT). It includes all the features you need to develop a connected product based on an ARM Cortex-M microcontroller.
mbed OS accelerates the process of creating a connected product by providing a platform operating system that includes robust security foundations, standards based communication capabilities, built-in cloud management services, and drivers for sensors, I/O devices and connectivity. mbed OS is built as a modular, configurable software stack so that you can readily customize it to the device you're developing for, and reduce memory requirements by excluding unnecessary software components.
Current release
The current release, along with a selection of previous versions are detailed here: Release Notes
Getting Started for Developers
Please note that you will require mbed CLI to build mbed OS. For more details, please read the getting started guide for developers using mbed OS in applications:
Getting Started for Contributors
We have a getting started guide for contributors working on mbed OS:
- Have a look in the docs directory