Skip to content

AlessandroA/mbed-os-example-uvisor-number-store

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Threaded RPC with uVisor Example

This is a simple example to show how to use several uVisor APIs to build a box that securely stores a number. This number can only be written by one box, but read by all boxes.

  • Create and run secure boxes.
  • Secure static and dynamic memory inside secure boxes.
  • Run threads inside secure boxes.
  • Issue RPC requests to other secure boxes and wait for their completion.
  • Receive and process incoming RPC requests from other secure boxes.
  • Get box id and namespace of the RPC caller.

This demo contains three secure boxes:

  1. The secure number vault. This box stores one number that can only be written to by client A, but read by everyone.
  2. Client A, which attempts to write (and succeeds) and read the secure number.
  3. Client B, which attempts to write (but fails) and read the secure number.

The insecure box 0 also attempts to write (but fails) and read the secure number.

Building

The example currently only works on K64F with the GCC_ARM toolchain.

Release

For a release build, please enter:

$ mbed compile -m K64F -t GCC_ARM

You will find the resulting binary in .build/K64F/GCC_ARM/mbed-os-example-uvisor.bin. You can drag and drop it onto your board USB drive.

Debug

When a debugger is connected, you can observe debug output from uVisor. Please note that these messages are sent through semihosting, which halts the program execution if a debugger is not connected. For more information please read the Debugging uVisor on mbed OS guide. To build a debug version of the program:

$ mbed compile -m K64F -t GCC_ARM -o "debug-info"

About

The uVisor Number Store example with mbed OS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 79.8%
  • C 20.2%