Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Linciclon/mTower

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

mTower

Feel free to run BW example by following the next steps:

Step #0 - Turn on Putty

Open a terminal and call putty in sudo to open serial port /dev/ttyUS0, baudrate 115200:

sudo putty 

Step #1 - Connect UART wires

Connect:

  • Tx (FTDI)---> Rx (Board) PIN 119
  • Rx (FTDI)---> Tx (Board) PIN 118

Step #1 - Connect to the boards

Connect USB to board and look to putty port;

Step #2 - Compile mTower and BW together

On other terminal compile the components through the following commands:

cd <path to mTower> 
make clean
make PLATFORM=numaker_pfm_m2351 create_context
make toolchain
make

Step #3 - FLASH Board NUVOTON

Witth openocd flash the board. It will flash two parts: part 1 BL2 in 0x0 and part 2 BL3 in 0x10040000 at the end we expect to see FreeRTOS running on Putty;

<path to openocd folder>/OpenOCD-Nuvoton/src/openocd -f <path to nulink folder>/OpenOCD-Nuvoton/tcl/interface/nulink.cfg -f <path to config>/OpenOCD-Nuvoton/tcl/target/numicroM23.cfg -c "init; reset halt; numicro M2351_erase; flash write_image <path to mTower>/mTower/mtower_s.bin; flash write_image <path to mTower>/mTower/mtower_ns.bin 0x10040000; exit"

You should see a BW option to be called from CA of FreeRTOS;

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

This mTower (TEE for MCUs) )was adapted to contain BW on NUVOTON board

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 98.7%
  • Assembly 0.6%
  • Makefile 0.5%
  • Linker Script 0.2%
  • CMake 0.0%
  • Python 0.0%