MTower Save

mTower is Trusted Execution Environment specially designed to be used on MicroController Units (MCUs) supporting ARM TrustZone technology (e.g., Cortex-M23/33/35p). mTower operates well under restrictions typical for such environment – small RAM and ROM sizes, relatively low performance, absence of rich OSes providing variety of services available on PCs or in enterprise environments. mTower is intended for usage in IoT, embedded devices, Smart Home applications, distributed heterogeneous networks and other environments where secure processing of sensitive data is necessary.

Project README

mTower

Build CII Best Practices OpenSSF Scorecard cpp-linter RepoSize Release LICENSE

Contents

  1. Introduction
  2. License
  3. Platforms supported
  4. Get and build mTower software
  5. Source code structure
  6. Coding standards
  7. Documentation
  8. Contributing

1. Introduction

The mTower is a new Trusted Execution Environment (TEE) specially designed to protect size-constrained IoT devices based on Cortex-m23 MCU. Usage mTower pre-embedded into the microcontroller, a module developer can use a simple SDK that based on Global Platform API standards to add security to their solution.


2. License

mTower software consists of multiple components that are individually available under different licensing terms. Terms for each individual file are listed at the beginnings of corresponding files; also, all licenses are listed in COPYING file.


3. Platforms supported

NuMaker-PFM-M2351 M2351-Badge V2M-MPS2-Qemu RISCV SparkFun RedBoard
V2M-MPS2-Qemu
How to add a platform

Several platforms are supported. In order to manage slight differences between platforms, a PLATFORM flag has been introduced.

Platform Composite PLATFORM flag Maintained
NuMaker-PFM-M2351 PLATFORM=numaker_pfm_m2351 v0.5.0
M2351-Badge PLATFORM=m2351_badge v0.5.0
V2M-MPS2-Qemu PLATFORM=mps2_an505_qemu v0.5.0
SparkFun RED-V RedBoard PLATFORM=sparkfun_redboard v0.5.0

For information on adding a new platform see the how to add a platform.


4. Get and build mTower software

Please see build for instructions how to run mTower on various devices.


5. Source code structure

The general source code structure for mTower is similar to the structure of the multy platforms source code.


6. Coding standards

In this project we are trying to adhere to the mTower coding convention (see CodingStyle). However there are a few exceptions that we had to make since the code also uses other open source components.


7. Documentation

There is a brief overall functionality description of mTower. Other mTower documentation for the project is located in the docs folder. The latest version of the specification that describes the mTower source code can be generated using doxygen tool from command line. To generate documentation, use

make docs_gen

command, and to view generated docs use

make docs_show

Note that documentation on mTower is work in progress, and right now doxygen does not provide much documentation.


8. Contributing

If you want to contribute to the mTower project and make it better, your help is very welcome. Contributing is also a great way to learn more about social coding on Github, new technologies and and their ecosystems. How to contribute you can find here.


Open Source Agenda is not affiliated with "MTower" Project. README Source: Samsung/mTower

Open Source Agenda Badge

Open Source Agenda Rating