mbedTLS_for_Kinetis_SDK_v2.0

Content
-------
1. Installation.
2. mbedTLS Add-on for Kinetis SDK 2.0 directory structure.
3. Try examples with mbedTLS.
4. How to add mbedTLS support to user applications.
5. Release Notes


1. Installation.
----------------
1.1. Install Kinetis SDK 2.0 package
1.2. Copy content of the mbedTLS add-on to the root directory of the Kinetis SDK 2.0 installation
     The package does not overwrite or modify any Kinetis SDK 2.0 file, just adds new ones.

2. mbedTLS_for_Kinetis_SDK_v2.0 directory structure.
----------------------------------------------------------
  mbedTLS_for_Kinetis_SDK_v2.0
  |-- boards
  |   -- <board>                           - see 3. Try examples with mbedTLS.
  |      -- demo_apps
  |         -- mbedtls
  |            -- mbedtls_benchmark        - Measure throughput of various crypto algorithms.
  |            -- mbedtls_selftest         - Tests right output from various crypto algorithms.
  |-- middleware
  |   -- mbedtls_<version>                     - mbedTLS library source code.
  |      -- include
  |         -- mbedtls
  |            -- *.h
  |      -- library
  |         -- *.c
  |      -- port
  |         -- ksdk                        - KSDK mbedTLS porting files.
  |            -- *.c, *h 
    
3. Try examples with mbedTLS.
-----------------------------
The package contains two demo applications: mbedtls_benchmark and mbedtls_selftest.
The build projects can be found in boards/<board>/demo_apps/mbedtls/mbedtls_selftest and 
boards/<board>/demo_apps/mbedtls/mbedtls_benchmark.
The following boards are enabled out of the box: frdmk64f, frdmk66f, frdmk82f, twrk21f120m, 
twrk64f120m, twrk65f180m, twrk80f150m, twrk81f150m.
As mbedTLS contains software implementation of all algorithms, it could be used on any devices
with enough FLASH and RAM size (see section 4 of this readme). 

4. How to add mbedTLS support to user applications.
---------------------------------------------------
4.1. Add "middleware/mbedtls_<version>/mbedtls" to compiler include path settings.
4.2. Add source files to the application build project.
4.3. Review and possibly configure mbedTLS configuration file "middleware/mbetls_<version>/port/ksdk_mbedtls_config.h"
     according to the application needs. Hardware crypto acceleration can be enabled or disabled
     at compile time in this file. Be sure that MBEDTLS_CONFIG_FILE definition is set to "ksdk_mbedtls_config.h".
4.4. If you're using hardware acceleration for crypto algorithms (such as Kinetis MMCAU or LTC modules)
     make sure their driver is also included in the application build project.
     For MMCAU acceleration, add "middleware/mmcau_<version>" to compiler include path settings
     and add "middleware/mmcau_<version>/asm-<core>/lib_mmcau.a" to the linker settings.
     For LTC acceleration, add "devices/<your_device>/drivers/fsl_ltc.h"
     and "devices/<your_device>/drivers/fsl_ltc.c" to your application build project.

5. Release notes.
-----------------
     The middleware/mbedtls_<version> library is based on the mbedTLS package from https://tls.mbed.org/.
     The original mbedTLS change log can be found in the middleware/mbedtls_<version>/ChangeLog file.
     The KSDK mbedTLS change log can be found in the middleware/mbedtls_<version>/ChangeLogKSDK file.
     Main modifications introduced to the original library source code:
       * Added support for Kinetis LTC and MMCAU hardware acceleration modules.
       * Added support for Kinetis TRNG and RNGA random number generator modules.   

