wolfSSL 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.

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

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

1. wolfSSL library (wolfssl.X)

    This project builds a static wolfSSL library. The settings for this project
    are in `user_settings.h`:

    <wolfssl_root>/wolfssl/wolfcrypt/settings.h

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

    <wolfssl_root>/mplabx/wolfssl.X/dist/default/production/wolfssl.X.a

2. wolfCrypt Test App (wolfcrypt_test.X)

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

3. wolfCrypt Benchmark App (wolfcrypt_benchmark.X)

    This project builds the wolfCrypt benchmark application.
    For the benchmark timer, adjust CLOCK value under
    "#elif defined MICROCHIP_PIC32" in wolfcrypt/benchmark/benchmark.c

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

The projects are set for PIC32MZ by default. For PIC32MX, comment out the
`WOLFSSL_MICROCHIP_PIC32MZ` line in `user_settings.h`.

You also need to adjust the microcontroller device in the project properties.


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.


Legacy Peripheral Libraries
___________________________

If you get a linker error locating `ReadCoreTimer` and `WriteCoreTimer` you
can enable wrappers in benchmark_main.c and test_main.c.


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

