Go to file
Devaraj Ranganna 76e911c5ef psa: Replace Mbed PSA with TF-M
Add TF-M to Mbed OS, replacing the previous PSA implementation for
TF-M-capable targets. This commit adds files imported from TF-M, without
modification. The version of TF-M imported can be found in
`features/FEATURE_PSA/TARGET_TFM/VERSION.txt`.

These changes switch to TF-M as the sole PSA implementation for v8-M and
dual core targets, with TF-M running on the secure side and Mbed OS
running on the non-secure side. Single core v7-M targets will continue
to have PSA implemented via PSA emulation, implemented by Mbed OS.

Move or remove many PSA-implementing files, as PSA will be provided by
TF-M on non-single-v7-M targets. Delete any files that are not relevant
for PSA emulation mode.
 - Remove imported TF-M SPM
 - Remove Mbed SPM and tests
 - Remove Mbed-implemented PSA services and tests
 - Remove PSA_SRV_IMPL, PSA_SRV_IPC, PSA_SRV_EMUL and NSPE.
 - Replace PSA_SRV_EMUL and PSA_SRV_IMPL with MBED_PSA_SRV
 - Remove any files autogenerated by
   "tools/psa/generate_partition_code.py", which no longer exists.

Add new feature `PSA` to support PSA in Mbed OS.

Move the Mbed OS implementation of PSA services for v7-M targets (which
employ PSA emulation, and don't yet use TF-M) to
features/FEATURE_PSA/TARGET_MBED_PSA_SRV. Update the `requires`
attribute in TESTS/configs/baremetal.json to avoid breaking baremetal
testing builds.

Update .astyleignore to match new directory structure

Update Mbed TLS importer to place files into FEATURE_PSA

Create the following generic PSA targets:

* `PSA_Target` (Root level PSA generic target)
* `PSA_V7_M` (Single v7-M PSA generic target)
* `PSA_DUAL_CORE` (Dual-core PSA generic target)
* `PSA_V8_M` (v8-M PSA generic target)

Flatten MUSCA_NS and private MUSCA targets into public MUSCA targets.

Move mcuboot.bin to flat location (removing prebuilt folder)

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
Signed-off-by: Jaeden Amero <jaeden.amero@arm.com>
2020-06-18 12:16:20 +01:00
.github Merge pull request #11999 from ARMmbed/affected_vers 2019-12-24 11:04:04 +00:00
TESTS psa: Replace Mbed PSA with TF-M 2020-06-18 12:16:20 +01:00
TEST_APPS Remove KW24D target 2020-04-30 09:56:34 +01:00
UNITTESTS Merge pull request #13098 from AriParkkila/cell-free-stack 2020-06-17 13:24:17 +02:00
cmsis psa: Replace Mbed PSA with TF-M 2020-06-18 12:16:20 +01:00
components Update 802.15.4 MCR20 RF driver 2020-06-08 15:37:22 +03:00
docs Add Chrono clock design document 2020-04-27 10:19:08 +03:00
drivers Merge pull request #12471 from AGlass0fMilk/adc-voltage-api 2020-06-17 19:57:28 +02:00
events Add Chrono support to Event/EventQueue 2020-04-27 10:19:08 +03:00
features psa: Replace Mbed PSA with TF-M 2020-06-18 12:16:20 +01:00
hal Merge pull request #12425 from kjbracey-arm/chrono 2020-04-30 11:41:43 +02:00
platform psa: Replace Mbed PSA with TF-M 2020-06-18 12:16:20 +01:00
rtos psa: Replace Mbed PSA with TF-M 2020-06-18 12:16:20 +01:00
targets psa: Replace Mbed PSA with TF-M 2020-06-18 12:16:20 +01:00
tools psa: Replace Mbed PSA with TF-M 2020-06-18 12:16:20 +01:00
.astyleignore psa: Replace Mbed PSA with TF-M 2020-06-18 12:16:20 +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 Normalize line endings for IM880B startup files. 2019-07-15 14:56:22 +03:00
.gitignore psa: Replace Mbed PSA with TF-M 2020-06-18 12:16:20 +01:00
.mergify.yml mergify: add release type 2.2 2020-06-04 14:24:22 +01:00
.pylintrc Add pylint configuration file 2016-08-16 11:48:45 -05:00
.travis.yml STM32F4 code cleaning 2020-05-14 13:55:22 +02:00
CONTRIBUTING.md Fix links to documentation on https://os.mbed.com 2019-01-21 14:56:40 -08: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-apache-2.0.txt license: rename to apache 2.0 txt file 2019-02-13 11:28:01 +00:00
LICENSE.md psa: Replace Mbed PSA with TF-M 2020-06-18 12:16:20 +01:00
README.md Fix 'LICENSE' file 404 link error 2019-05-02 10:20:26 -05:00
doxyfile_options psa: Remove S-mode only code 2020-04-27 09:51:13 +01:00
doxygen_options.json psa: Remove S-mode only code 2020-04-27 09:51:13 +01:00
logo.png Readme updates for style and branding 2017-12-04 14:59:16 -06:00
mbed.h Add RealTimeClock 2020-04-27 10:19:08 +03:00
requirements.txt Update psutils to address security issue 2020-03-16 15:09:33 +00:00

README.md

Mbed OS

Build status release Build status master Tools coverage status

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.