CyaSSL MPLAB X Project Files

This directory contains project files for the Microchip MPLAB X IDE. These
projects have been set up to use the Microchip PIC32 Ethernet Starter Kit
and the Microchip XC32 compiler, and have been created specifically to test
the Microchip-specific CTaoCrypt API with compression support. For MPLAB X 
projects that don't use compression and are generic to the CTaoCrypt API, 
please see the <cyassl_root>/mplabx directory.

In order to generate the necessary auto-generated MPLAB X files, make sure
to import the cyassl.X and zlib.X projects into your MPLAB X workspace before 
trying to build either the CTaoCrypt test or benchmark applications. This will
correctly set up the respective project's Makefiles.

Included Project Files
-----------------------

1. CyaSSL library (cyassl.X)

    This project builds a static CyaSSL library. Prior to building this
    project, uncomment the MICROCHIP_PIC32 define located in:

    <cyassl_root>/cyassl/ctaocrypt/settings.h

    After this project has been built, the compiled library will be located
    at:

    <cyassl_root>/mplabx/cyassl.X/dist/default/production/cyassl.X.a

    Note that this project includes the zlib header location in the project's
    include paths. This is because this project has been set up to be compiled
    with zlib support to enable compression and decompression features.

2. CTaoCrypt Test App (ctaocrypt_test.X)

    This project tests the CTaoCrypt cryptography modules. It is generally
    a good idea to run this first on an embedded system after compiling
    CyaSSL in order to verify all underlying crypto is working correctly.

3. CTaoCrypt Benchmark App (ctaocrypt_benchmark.X)

    This project builds the CTaoCrypt benchmark application. If the CyaSSL
    project (cyassl.X) has been compiled with libz support and is being
    used to build this project, the zlib.X project will need to added to
    the "Libraries" folder under the ctaocrypt_benchmark.X project before
    it will compile successfully.

4. CTaoCrypt MCAPI Test App (ctaocrypt_mcapi.X)

    This project tests the Microchip crytpo API layer. The Microchip crypto
    layer is located under the <cyassl_root>/mcapi directory.

5. zlib library (zlib.X)

    This project builds the zlib library for use in the ctaocrypt_test.X
    and ctaocrypt_mcapi.X projects. This project expects the zlib sources
    to be located under the CyaSSL root directory. Currently it is set up
    to work with zlib 1.2.7, and looks for sources under:

    <cyassl_root>/zlib-1.2.7

PIC32MX/PIC32MZ
---------------

The projects are set for PIC32MX by default. For PIC32MZ, change project
properties->Devices and add "CYASSL_MICROCHIP_PIC32M" to 
XC32-gcc->Preprocessing and messages-> Preprocessor macros.

MIPS16 and MIPS32 Support
-------------------------

These projects support both MIPS16 and MIPS32 instruction sets. Switching
between these two instruction sets can be done in each project's properties
settings by checking the "Generate 16-bit code" checkbox.

Support
-------
Please send questions or comments to support@wolfssl.com

