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/wolfcrypt/settings.h After this project has been built, the compiled library will be located at: /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