Samsung/mTower
GitHub: Samsung/mTower
mTower是为微控制器设计的可信执行环境,解决物联网设备中安全数据处理的问题。
Stars: 75 | Forks: 21
#  mTower
[](https://github.com/samsung/mtower/actions?query=workflow%3ABuild)
[](https://bestpractices.coreinfrastructure.org/projects/6108)
[](https://api.securityscorecards.dev/projects/github.com/Samsung/mTower)
[](https://github.com/cpp-linter/cpp-linter-action/actions/workflows/cpp-linter.yml)
[](https://github.com/samsung/mtower)
[](https://github.com/samsung/mtower/releases)
[](https://github.com/samsung/mtower/blob/master/LICENSE)
## 目录
1. [简介](#1-introduction)
2. [许可证](#2-license)
3. [支持平台](#3-platforms-supported)
4. [获取并构建 mTower 软件](#4-get-and-build-mtower-software)
5. [源代码结构](#5-source-code-structure)
6. [编码标准](#6-coding-standards)
7. [文档](#7-documentation)
8. [贡献指南](#8-contributing)
## 1. 简介
`mTower` 是一个专门为保护基于 Cortex-M23 MCU、资源受限的物联网设备而设计的新型可信执行环境。通过将 mTower 预先嵌入微控制器,模块开发者可以使用一个基于 Global Platform API 标准的简单 SDK 来为其解决方案添加安全性。
## 2. 许可证
mTower 软件包含多个组件,每个组件均根据其各自的许可条款提供。每个单独文件的条款列于相应文件的开头;此外,所有许可证均列于 [COPYING] 文件中。
## 3. 支持平台
| **NuMaker-PFM-M2351**
Cortex-M23 | **M2351-Badge**
Cortex-M23 | **V2M-MPS2**
Cortex-M33 (Qemu) | **SparkFun RedBoard**
RISC-V | |:----------------------:|:--------------------------:|:-------------:|:-----------:| |[](docs/numaker_pfm_m2351.md)|[](docs/m2351_badge.md) |[](docs/v2m-mps2-qemu.md)|[](docs/sparkfun_redboard.md)| | **Pine64 Ox64**
RISC-V | **如何添加平台** ||| |[](docs/pine64_ox64.md)|[](docs/port-new-platform.md)||| 支持多种平台。为了管理平台之间的细微差异,引入了 `PLATFORM` 标志。 | 平台 | 组合 PLATFORM 标志 | 维护版本 | |---------------------------|------------------------------------|----------| | [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 | 有关添加新平台的信息,请参阅 [如何添加平台]。 ## 4. 获取并构建 mTower 软件 请参阅 [构建] 以了解如何在各种设备上运行 mTower 的说明。 ## 5. 源代码结构 mTower 的通用 [源代码结构] 与多平台源代码结构类似。 ## 6. 编码标准 在本项目中,我们努力遵循 mTower 的编码约定(参见 [CodingStyle])。然而,由于代码中也使用了其他开源组件,我们不得不做出一些例外处理。 ## 7. 文档 这里有一份关于 mTower 功能的简要 [总体描述](docs/mtower_functionality_description.md)。该项目的其他 mTower 文档位于 [docs] 文件夹中。描述 mTower 源代码的最新版本规范可以使用 [doxygen] 工具从命令行生成。要生成文档,请使用 ``` make docs_gen ``` 命令,要查看生成的文档,请使用 ``` make docs_show ``` ## 8. 贡献指南 如果您想为 mTower 项目做出贡献并使其变得更好,我们非常欢迎您的帮助。贡献也是了解 Github 上的社交编码、新技术及其生态系统的好方法。[您可以在此处找到如何贡献](.github/CONTRIBUTING.md)。
Cortex-M23 | **M2351-Badge**
Cortex-M23 | **V2M-MPS2**
Cortex-M33 (Qemu) | **SparkFun RedBoard**
RISC-V | |:----------------------:|:--------------------------:|:-------------:|:-----------:| |[](docs/numaker_pfm_m2351.md)|[](docs/m2351_badge.md) |[](docs/v2m-mps2-qemu.md)|[](docs/sparkfun_redboard.md)| | **Pine64 Ox64**
RISC-V | **如何添加平台** ||| |[](docs/pine64_ox64.md)|[](docs/port-new-platform.md)||| 支持多种平台。为了管理平台之间的细微差异,引入了 `PLATFORM` 标志。 | 平台 | 组合 PLATFORM 标志 | 维护版本 | |---------------------------|------------------------------------|----------| | [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 | 有关添加新平台的信息,请参阅 [如何添加平台]。 ## 4. 获取并构建 mTower 软件 请参阅 [构建] 以了解如何在各种设备上运行 mTower 的说明。 ## 5. 源代码结构 mTower 的通用 [源代码结构] 与多平台源代码结构类似。 ## 6. 编码标准 在本项目中,我们努力遵循 mTower 的编码约定(参见 [CodingStyle])。然而,由于代码中也使用了其他开源组件,我们不得不做出一些例外处理。 ## 7. 文档 这里有一份关于 mTower 功能的简要 [总体描述](docs/mtower_functionality_description.md)。该项目的其他 mTower 文档位于 [docs] 文件夹中。描述 mTower 源代码的最新版本规范可以使用 [doxygen] 工具从命令行生成。要生成文档,请使用 ``` make docs_gen ``` 命令,要查看生成的文档,请使用 ``` make docs_show ``` ## 8. 贡献指南 如果您想为 mTower 项目做出贡献并使其变得更好,我们非常欢迎您的帮助。贡献也是了解 Github 上的社交编码、新技术及其生态系统的好方法。[您可以在此处找到如何贡献](.github/CONTRIBUTING.md)。
标签:ARM TrustZone, Cortex-M23, Global Platform API, IoT设备安全, MCU安全, 低功耗安全, 分布式网络安全, 可信执行环境, 安全SDK, 客户端加密, 嵌入式TEE, 嵌入式系统, 微控制器安全, 敏感数据保护, 数据加密, 智能家居安全, 物联网安全, 硬件安全, 资源受限环境