From 45c54207eafecd6c5f7f781dba9a94680d7ca468 Mon Sep 17 00:00:00 2001 From: David Cowden Date: Wed, 29 Jun 2016 13:21:08 -0700 Subject: [PATCH] Reworked documenation based on review; Removing harmony license file as it is included in harmony download --- documents/harmony_license_v1.07.01.pdf | Bin 42065 -> 0 bytes ...t-ethernet-firmware-compile-and-program.md | 16 +++++++----- documents/iot-ethernet-mplab-ipe.md | 24 ++++++++++++------ 3 files changed, 25 insertions(+), 15 deletions(-) delete mode 100644 documents/harmony_license_v1.07.01.pdf diff --git a/documents/harmony_license_v1.07.01.pdf b/documents/harmony_license_v1.07.01.pdf deleted file mode 100644 index b6412422b1b51443583bce8713e2a8065625dcc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42065 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 I&u~Kj0~#bbyZ`_I diff --git a/documents/iot-ethernet-firmware-compile-and-program.md b/documents/iot-ethernet-firmware-compile-and-program.md index 5cf32b0..22d5b94 100644 --- a/documents/iot-ethernet-firmware-compile-and-program.md +++ b/documents/iot-ethernet-firmware-compile-and-program.md @@ -13,15 +13,17 @@ This document will show you where to find the latest _released_ version of the f You will need the following Microchip development tools to program and develop with the Microchip IoT Ethernet. - Download the latest project for IoT Ethernet from here: [IoT Ethernet Project](https://github.com/MicrochipTech/aws-iot-firmware-pic32mz/releases/latest) -- Download and install Microchip MPLAB® Harmony Integrated Software Framework v1.07.01 for your OS from here: [Harmony](http://www.microchip.com/mplab/mplab-harmony) +- Download and install Microchip MPLAB® Harmony Integrated Software Framework v1.08 for your OS from here: [Harmony](http://www.microchip.com/mplab/mplab-harmony) - Download and install Microchip MPLAB® X IDE for your OS from here: -[Microchip MPLAB® X IDE](http://www.microchip.com/mplabx) (3.26, 3.30 tested) -- Download and install the latest XC32 compiler for your OS from here (Install both v1.40 and v1.40B - Part Patch): [Microchip MPLAB® XC32 Compiler](http://www.microchip.com/xc32) (v1.40 with v1.40B part patch tested) +[Microchip MPLAB® X IDE](http://www.microchip.com/mplabx) (3.30 tested) +- Download and install the v1.40 XC32 compiler for your OS from here (Install both v1.40 and v1.40B - Part Patch): [Microchip MPLAB® XC32 Compiler](http://www.microchip.com/xc32) (v1.40 with v1.40B part patch tested) + +More information about Microchip tools can be found on [Microchip's developer help site](http://microchip.wikidot.com/swtools:start) --- ### Compiling and programming the IoT Ethernet Board -Test platform is MAC OS X, these instructions may vary slightly on different OS. +Example below is shown on MAC OS X, these instructions may vary slightly on different OS. #### Compiling the Firmware 1. Extract the zip file downloaded from the git repository to a location of your choice @@ -30,9 +32,9 @@ Test platform is MAC OS X, these instructions may vary slightly on different OS. - Navigate to: ` /aws-iot-firmware-pic32mz/software/aws-iot-ethernet/firmware` - Select the project __aws-iot-ethernet.X__ - With your project opened, right click on the project __aws-iot-ethernet__ in the Projects tab and select __Set as Main Project__ -- Follow these directions to install the Microchip Harmony Configurator (MHC): [Steps to Install MHC](http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB%20Harmony%20Configurator%20%28MHC%29%20and%20MPLAB%20Harmony%20Graphics%20Composer%20%28v1.07.01%29.pdf) +- Follow these directions to install the Microchip Harmony Configurator (MHC): [Steps to Install MHC](http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB%20Harmony%20Configurator%20(MHC)%20and%20MPLAB%20Harmony%20Graphics%20Composer.pdf) - Open the MHC by clicking __Tools -> Embedded -> MPLAB Harmony Configurator__ -- The MHC will prompt asking to choose a Harmony framework to use, select "Yes" and select the location of your v1.07.01 Harmony install and click "OK" +- The MHC will prompt asking to choose a Harmony framework to use, select "Yes" and select the location of your v1.08 Harmony install and click "OK" - The MHC will then ask if you want to open the configuration file __IoT-Ethernet.mhc__ for the __aws-iot-ethernet__ project, select "Open" to proceed. - With the new Harmony framework selected for your project, you will need to regenerate code by clicking the generate code button. ![](images/generateCode.png) - A settings window will pop up, check only the box "Create a backup...": ![](images/mhc-generate-code-settings.png) @@ -56,4 +58,4 @@ If you are having trouble, check to make sure that each of the issues bellow are - Often times a project won't compile if you are on a Windows machine due to a limitation in the path length. Windows OS has a max path length of 260 characters, so file paths are sometimes truncated when attempting to compile which leads to files not being found by the compiler. Try putting the project in the topmost directory, usually "C:/". For more information please see [MSDN article from Microsoft](https://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx#maxpath). #### Project won't compile due to errors such as missing ADCxxx registers -- As of the v1.1.0 release the latest compiler for XC32 is v1.40. This compiler must be updated with the v1.40B which is the "Part Patch". This installer will update your XC32 v1.40 comipler with the required files to compile for the part on the IoT Ethernet Kit. Again, this can be downloaded at [Microchip MPLAB® XC32 Compiler](http://www.microchip.com/xc32). +- v1.40 compiler must be updated with the v1.40B which is the "Part Patch". This installer will update your v1.40 compiler with the required files to compile for the part on the IoT Ethernet Kit. Again, this can be downloaded at [Microchip MPLAB® XC32 Compiler](http://www.microchip.com/xc32). diff --git a/documents/iot-ethernet-mplab-ipe.md b/documents/iot-ethernet-mplab-ipe.md index f03c730..ff37c94 100644 --- a/documents/iot-ethernet-mplab-ipe.md +++ b/documents/iot-ethernet-mplab-ipe.md @@ -3,7 +3,9 @@ --- ### Introduction -This document will show you where to find the latest _released_ version of the firmware HEX and how to program it into the IoT Ethernet Kit. The MPLAB® IPE allows you to directly program the HEX file of a program into the hardware. This eliminates having to recompile a program and is much quciker +This document will show you where to find the latest _released_ version of the firmware HEX and how to program it into the IoT Ethernet Kit. The MPLAB® IPE allows you to directly program the HEX file of a program into the hardware. This eliminates having to recompile a program. + +More information about the MPLAB® IPE can be found on [Microchip's developer help site](http://microchip.wikidot.com/ipe:start). --- @@ -13,7 +15,7 @@ You will need the following Microchip development tools to program the Microchip - Download the latest HEX file for IoT Ethernet from here: [IoT Ethernet Project](https://github.com/MicrochipTech/aws-iot-firmware-pic32mz/releases/latest) - Download and install Microchip MPLAB® X IDE for your OS from here: -[Microchip MPLAB® X IDE](http://www.microchip.com/mplabx) (3.26, 3.30 tested) +[Microchip MPLAB® X IDE](http://www.microchip.com/mplabx) (3.30 tested) - PICKit 3 In-Circuit Debugger/Programmer (or other programmer) --- @@ -31,18 +33,24 @@ You will need the following Microchip development tools to program the Microchip - Under "Tool:" select the PICKit 3 or other programmer. - The tool should be enumerated with its serial number. - Click the "Connect" button -![Settings](./images/ipe-device-tool.png) + + ![Settings](./images/ipe-device-tool.png) - The programmer will begin to connect to the IPE, it may update itself with new firmware. This is normal. When the programmer is fully connected you should see your target PIC32 device found as shown below. -![Programmer connecting](./images/ipe-connecting-to-programmer.png) + + ![Programmer connecting](./images/ipe-connecting-to-programmer.png) - Now we need to load the HEX file into the IPE. Click the "Browse" button next to the "Source" box. Browse to the HEX file you downloaded and select it. -![Hex browseing](./images/ipe-hex-browse.png) + + ![Hex browseing](./images/ipe-hex-browse.png) - Once the HEX file is loaded you will get a dialog in the output window saying "Hex file loaded successfully". - Now we can program the board: Click the "Program" button. -![Hex browseing](./images/ipe-program.png) + + ![Hex browseing](./images/ipe-program.png) - The PICKit 3 will begin programming the HEX file into the board. Please wait until it is finished. This can take a couple minutes. -![Hex browseing](./images/ipe-programming.png) + + ![Hex browseing](./images/ipe-programming.png) - Upon completion you will see a "Programming complete" in the output window. -![Hex browseing](./images/ipe-programming-complete.png) + + ![Hex browseing](./images/ipe-programming-complete.png) - You can now begin using the board. ---