Skip to content

Update links in documentation #424

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ The uVisor is a self-contained software hypervisor that creates independent secu

To start using uVisor, you need to include it as a library in your design. We release the uVisor library periodically into the mbed OS repository, [ARMmbed/mbed-os](https://github.com/ARMmbed/mbed-os). Review it to learn more about the uVisor security model and see an overview of its features.

You can find most of the uVisor documentation in the [docs](docs) folder. Please look at the [getting started guide](docs/lib/QUICKSTART.md) for an introduction to uVisor application development. If you are interested in uVisor internals, please refer to the [OS-level introduction](https://github.com/ARMmbed/uvisor/raw/docs/uvisor-rtos-docs.pdf) and the [uVisor API docs](docs/lib/API.md).
You can find most of the uVisor documentation in the [docs](https://github.com/ARMmbed/uvisor/tree/master/docs) folder. Please look at the [getting started guide](../lib/QUICKSTART.md) for an introduction to uVisor application development. If you are interested in uVisor internals, please refer to the [OS-level introduction](https://github.com/ARMmbed/uvisor/raw/docs/uvisor-rtos-docs.pdf) and the [uVisor API docs](../lib/API.md).

Contributions to this repository in the form of issue reporting and pull requests are welcome! Please read our [contribution guidelines](CONTRIBUTING.md) first.

Expand Down Expand Up @@ -37,7 +37,7 @@ The uVisor core supports the following platforms:
- [STMicroelectronics STM32F429I-DISCO](http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF259090).
- [Silicon Labs EFM32 Gecko](http://www.silabs.com/products/mcu/32-bit/efm32-gecko/pages/efm32-gecko.aspx) (Cortex®-M3 and Cortex®-M4 devices).

To use uVisor on a specific OS, you must complete the porting process for that OS. This requires an additional porting step, which the [uVisor porting guide for mbed OS](docs/core/PORTING.md) documents. uVisor supports the following operating system:
To use uVisor on a specific OS, you must complete the porting process for that OS. This requires an additional porting step, which the [uVisor porting guide for mbed OS](../core/PORTING.md) documents. uVisor supports the following operating system:

- mbed OS: [NXP FRDM-K64F](http://developer.mbed.org/platforms/FRDM-K64F/).

Expand Down Expand Up @@ -81,13 +81,13 @@ All the code that is not explicitly part of the uVisor is generally referred to

The unprivileged code can be made of mutually untrusted isolated modules (or boxes). This way, even if all are running with unprivileged permissions, different modules can protect their own secrets and execute critical code securely.

For more details about how to setup a secure box and protect memories and peripherals, please read the [getting started guide](docs/lib/QUICKSTART.md).
For more details about how to setup a secure box and protect memories and peripherals, please read the [getting started guide](../lib/QUICKSTART.md).

### Memory layout

Different memory layouts can be used on different platforms, depending on the implemented memory protection scheme and the MPU architecture. The following figure shows the memory layout of a system where the uVisor shares the SRAM module with the operating system (ARMv7-M MPU).

[uVisor memory layout](docs/img/memory_layout.png)
[uVisor memory layout](../img/memory_layout.png)

The uVisor secures two main memory blocks, in flash and SRAM respectively. In both cases, it protects its own data and the data of the secure boxes it manages for the unprivileged code. For a more detailed view, please refer to the interactive [linker section visualization](https://meriac.github.io/mbed-os-linker-report/).

Expand Down Expand Up @@ -124,7 +124,7 @@ This table details the main memory sections that the uVisor protects:
</tbody>
</table>

To use the uVisor APIs to set up a secure box, please refer to the [getting started guide](docs/lib/QUICKSTART.md) and the full [uVisor API documentation](docs/lib/API.md).
To use the uVisor APIs to set up a secure box, please refer to the [getting started guide](../lib/QUICKSTART.md) and the full [uVisor API documentation](API.md).

### The boot process

Expand Down
4 changes: 2 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# The uVisor Documentation

The uVisor documentation consists of two sections, API documentation and core documentation. You can find descriptions of these domains below. If you instead are interested in the general uVisor design philosophy, see the [high-level introduction to mbed uVisor](https://github.com/ARMmbed/uvisor/raw/docs/uVisorSecurity-TechCon2016.pdf) or refer to the uVisor [GitHub documentation](../README.md).
The uVisor documentation consists of two sections, API documentation and core documentation. You can find descriptions of these domains below. If you instead are interested in the general uVisor design philosophy, see the [high-level introduction to mbed uVisor](https://github.com/ARMmbed/uvisor/raw/docs/uVisorSecurity-TechCon2016.pdf) or refer to the uVisor [GitHub documentation](README.md).

## API documentation

Expand All @@ -22,4 +22,4 @@ These documents describe the uVisor internals in more detail. They are useful if
| Understand uVisor integration | [mbed uVisor integration in mbed OS](https://github.com/ARMmbed/uvisor/raw/docs/uvisor-rtos-docs.pdf) |
| Port uVisor to my platform/OS | [uVisor porting guide for mbed OS](core/PORTING.md) |
| Test and experiment with uVisor | [Developing with uVisor locally on mbed OS](core/DEVELOPING_LOCALLY.md) |
| Contribute to uVisor | [Contributing to uVisor](../CONTRIBUTING.md)
| Contribute to uVisor | [Contributing to uVisor](CONTRIBUTING.md)
4 changes: 2 additions & 2 deletions docs/core/DEVELOPING_LOCALLY.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ This guide will show you a different way of obtaining the uVisor libraries, by b
There are several reasons to build uVisor locally:

- Reproduce a publicly released build.
- Make modifications and test them before contributing to uVisor on GitHub. Read the [contribution guidelines](../../CONTRIBUTING.md) for more details.
- Make modifications and test them before contributing to uVisor on GitHub. Read the [contribution guidelines](CONTRIBUTING.md) for more details.
- Preview the latest uVisor features before they are packaged and released.
- Play and experiment with uVisor.

You will need:

- A [target](../../README.md#supported-platforms) uVisor supports on mbed OS. If your target is not supported yet, you can follow the [uVisor porting guide for mbed OS](PORTING.md).
- A [target](README.md#supported-platforms) uVisor supports on mbed OS. If your target is not supported yet, you can follow the [uVisor porting guide for mbed OS](PORTING.md).
- The Launchpad [GNU ARM Embedded](https://launchpad.net/gcc-arm-embedded) Toolchain.
- GNU Make.
- Git.
Expand Down
2 changes: 1 addition & 1 deletion docs/core/PORTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -735,4 +735,4 @@ It is time to test your application. We suggest that you use the example app, [`
In both cases, please:

- Run uVisor at least once in debug mode to ensure all runtime sanity checks pass. You can also use this round of checks to confirm your linker script and uVisor ports are structurally correct. For more information about the uVisor debug mode, please read [Debugging uVisor on mbed OS](../lib/DEBUGGING.md).
- Ensure that your app has the relevant ACLs to work with uVisor enabled. This requires you to run uVisor in debug mode multiple times and find all the faulting peripherals. Read a more detailed description of this procedure in [the final section](../lib/QUICKSTART.md#the-main-box-acls) of the [getting started guide](../lib/QUICKSTART.md).
- Ensure that your app has the relevant ACLs to work with uVisor enabled. This requires you to run uVisor in debug mode multiple times and find all the faulting peripherals. Read a more detailed description of this procedure in [the final section](../lib/QUICKSTART.md#the-public-box-acls) of the [getting started guide](../lib/QUICKSTART.md).
6 changes: 3 additions & 3 deletions docs/lib/DEBUGGING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ If you want to use the uVisor debug features on an already supported platform, y
This guide will show you how to enable the default debug features on uVisor and how to use it to get even more debug information. You will need:

- A GDB-enabled board (and the related tools).
- A [target](../../README.md#supported-platforms) uVisor supports on mbed OS. If uVisor does not support your target yet, you can follow the [uVisor porting guide for mbed OS](../core/PORTING.md).
- The Launchpad [GNU ARM Embedded](https://launchpad.net/-arm-embedded) Toolchain.
- A [target](README.md#supported-platforms) uVisor supports on mbed OS. If uVisor does not support your target yet, you can follow the [uVisor porting guide for mbed OS](../core/PORTING.md).
- The Launchpad [GNU ARM Embedded](https://launchpad.net/gcc-arm-embedded) Toolchain.
- GNU Make.
- Git.

Expand Down Expand Up @@ -197,4 +197,4 @@ This board provides both an on-board proprietary debugging port (ST-LINK) and a

If you are using ST-LINK, please refer to the [STMicroelectronics website](http://www.st.com/web/catalog/tools/FM146/CL1984/SC724/SS1677/PF251168?sc=internet/evalboard/product/251168.jsp) for information about the tools and drivers you need. Please note we have not tested this debugger with uVisor.

If instead you want to connect your debugger to the JTAG port, you must wire the needed pins to your connector. This [guide](https://www.segger.com/admin/uploads/evalBoardDocs/AN00015_ConnectingJLinkToSTM32F429Discovery.pdf) explains how to do that in detail. The guide is specific to the J-Link connectors, but you can apply it to other connectors.
If instead you want to connect your debugger to the JTAG port, you must wire the needed pins to your connector. This [guide](https://www.segger.com/admin/uploads/evalBoardDocs/AN00015_ConnectingJLinkToSTM32F429Discovery.pdf) explains how to do that in detail. The guide is specific to the J-Link connectors, but you can apply it to other connectors.
4 changes: 2 additions & 2 deletions docs/lib/QUICKSTART.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

This guide will help you start uVisor on mbed OS by showing you how to create a sample application for the NXP FRDM-K64F board.

The uVisor provides sandboxed environments and resources protection for applications built for ARM Cortex-M3 and Cortex-M4 devices. This guide will show you how to enable the uVisor and configure a secure box to access some exclusive resources (memory, peripherals, interrupts). For more information about the uVisor design philosophy, please see the uVisor [introductory document](../../README.md).
The uVisor provides sandboxed environments and resources protection for applications built for ARM Cortex-M3 and Cortex-M4 devices. This guide will show you how to enable the uVisor and configure a secure box to access some exclusive resources (memory, peripherals, interrupts). For more information about the uVisor design philosophy, please see the uVisor [introductory document](README.md).

## Requirements

To run the `blinky` application on mbed OS with uVisor enabled, you need:

- A platform and a toolchain that uVisor on mbed OS supports. You can verify this on [the official list](../README.md#supported-platforms). If uVisor supports your platform internally but not on mbed OS, the porting process is incomplete. To port your platform to uVisor and enable it on mbed OS, please follow the [uVisor porting guide for mbed OS](../core/PORTING.md).
- A platform and a toolchain that uVisor on mbed OS supports. You can verify this on [the official list](README.md#supported-platforms). If uVisor supports your platform internally but not on mbed OS, the porting process is incomplete. To port your platform to uVisor and enable it on mbed OS, please follow the [uVisor porting guide for mbed OS](../core/PORTING.md).
- Git.
- mbed CLI. Run `pip install mbed-cli` to install it.

Expand Down