The USB ISTR register consists of a mix of bits that are write-zero-to-clear and read only bits. As such, to clear a bit in the ISTR, you should simply write the bitwise-NOT of the bit to clear. Previously, the __HAL_PCD_CLEAR_FLAG() macro would do a bitwise-AND with the ISTR register contents to clear a bit, but this could result in another bit being inadvertently cleared if it is set by hardware between the read and the write of the ISTR register. Similarly, the USB endpoint registers have two bits that are write-zero-to-clear, USB_EP_CTR_RX and USB_EP_CTR_TX, but the PCD_CLEAR_RX_EP_CTR() and PCD_CLEAR_TX_EP_CTR() macros wrote back the last read value for one of these bits when clearing the other bit. This could result in inadvertent clearing of one of these bits if it were set by the hardware between the read and the write. These macros have now both been adjusted to always write one to the bit not being cleared to prevent inadvertent clears. |
||
|---|---|---|
| .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 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.
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.