Skip to content
/ mTower Public

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 availab…

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
COPYING
Notifications You must be signed in to change notification settings

Samsung/mTower

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
Cortex-M23
M2351-Badge
Cortex-M23
V2M-MPS2
Cortex-M33 (Qemu)
SparkFun RedBoard
RISC-V
V2M-MPS2
Pine64 Ox64
RISC-V
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.6.0
M2351-Badge PLATFORM=m2351_badge v0.6.0
V2M-MPS2 PLATFORM=mps2_an505_qemu v0.6.0
SparkFun RED-V RedBoard PLATFORM=sparkfun_redboard v0.6.0
Pine64 Ox64 PLATFORM=pine64_ox64 v0.6.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.


About

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 availab…

Topics

Resources

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
COPYING

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages