ReadMe.txt for the NXP LPC55S69 start project.

The projects were built for IAR Embedded Workbench for ARM V9.10.2.

Supported hardware:
===================
The sample project for the NXP LPC55S69 is prepared to run on an NXP LPCXpresso55S69 Eval board.
Using different target hardware may require modifications.

Configurations:
===============
- Debug:
  This configuration is prepared for download into internal Flash using J-Link.
  An embOS debug and profiling library is used.
  To use SEGGER SystemView with this configuration, configure SystemViewer for LPC55S69
  as target device and SWD at 2000 kHz as target interface.

- Release:
  This configuration is prepared for download into internal Flash using J-Link.
  An embOS release library is used.

Workspaces:
===========
The BSP includes two workspace Start_LPC55S69.eww and Start_LPC55S69_TrustZone.eww.
Start_LPC55S69.eww is the usual embOS start project and Start_LPC55S69_TrustZone.eww is the ARM TrustZone demo.
Please read the instructions below to start the TrustZone demo application.


TrustZone demo:

Getting started:
================
1. Start the Start_LPC55S69_TrustZone.eww workspace.
   It includes two projects:
   Start_LPC55S69_s.ewp    Secure project
   Start_LPC55S69_ns.ewp   Non-secure project

2. Build the secure project Start_LPC55S69_s

3. Build the non-secure project Start_LPC55S69_ns

4. Start the debug session for the secure project Start_LPC55S69_s

5. Run the application and you will see two LEDs blinking

Description:
============
The secure project code runs after reset. It initializes the SAU and starts the non-secure project application.
The secure project also includes some functions to read and write secure register from the non-secure state.
embOS runs completely in the non-secure state but tasks can call functions from the secure state.
This sample application creates two tasks, each one toggling one LED.
The HPTask() calls the secure function IncrementCounter_s() which simply increments the secure counter Counter_s.

This demo is just a proof of concept and shows that embOS works with ARM TrustZone.

Limitations:
============
There are some issues related to the IAR Embedded Workbench:
1. There are two main() functions, therefore "Run to main" will not work when starting the debug session.
2. There will be IAR error messages due to same symbol names in both projects (e.g. at single stepping).
