In the QSPIFBlockDevice component we checked if BUILD_TESTING was enabled before adding the QSPIFBlockDevice/UNITTESTS subdirectory. In the parent blockdevice/CMakeLists.txt we added the QSPIFBlockDevice subdirectory to the build under two separate conditions: * when "QSPIF" is present in MBED_TARGET_LABELS * when building only unit tests This wasn't quite enough, as when we build greentea tests for some targets QSPIF is enabled in MBED_TARGET_LABELS, causing the QSPIFBlockDevice subdirectory and its unit tests to be added when building greentea tests. This caused a test failure on targets which enable QSPIF: ``` The following tests FAILED: 40 - qspif-unittest_NOT_BUILT (Not Run) ``` To fix this we need to specifically check that we're not building greentea tests before adding the QSPIFBlockDevice/UNITTESTS directory to the project. Part of this issue is our reliance on MBED_TARGET_LABELS to pull features in to the build. We should refactor our usage of MBED_TARGET_LABELS and use CMake target dependencies where possible. Then we wouldn't need to add subdirectories under various, often conflicting, scenarios. Instead the targets would always be available and we would just choose which ones to actually build in different cases using CMake target linking. |
||
---|---|---|
.github | ||
TESTS | ||
UNITTESTS | ||
cmsis | ||
connectivity | ||
docker_images/mbed-os-env | ||
docs | ||
drivers | ||
events | ||
extern | ||
features | ||
hal | ||
platform | ||
rtos | ||
storage | ||
targets | ||
tools | ||
.astylerc | ||
.codecheckignore | ||
.coveragerc | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.lgtm.yml | ||
.mergify.yml | ||
.pylintrc | ||
CMakeLists.txt | ||
CONTRIBUTING.md | ||
DOXYGEN_FRONTPAGE.md | ||
Jenkinsfile | ||
LICENSE-apache-2.0.txt | ||
LICENSE.md | ||
README.md | ||
doxyfile_options | ||
doxygen_options.json | ||
logo.png | ||
mbed.h | ||
requirements.txt |
README.md
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.
License and contributions
The software is provided under the Apache-2.0 license. Contributions to this project are accepted under the same license. Please see contributing.md for more information.
This project contains code from other projects. The original license text is included in those source files. They must comply with our license guide.
Folders containing files under different permissive license than Apache 2.0 are listed in the LICENSE file.
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 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 repository.