Did you know that you can program your chipKIT board or any PIC32 chip preprogrammed with a chipKIT Bootloader right from MPLAB X? It's actually quite easy to do. This tutorial will demonstrate how to obtain the proper binaries and how to set up MPLAB X to download programs written in C or MIPS Assembly to a PIC32 using the AVRdude bootloader. Note that this tutorial including screen captures was done using a Windows® 7 PC.
To complete this task, you will require the following:
Unzip the chipKIT MPIDE to a location on your computer
Navigate to the MPIDE folder an locate avrdude.exe and avrdude.conf in the following folders:
mpide-0023-windows-xxxxxxxx\hardware\tools\avr\bin\avrdude.exe
2. **avrdude.conf**: `mpide-0023-windows-xxxxxxxx\hardware\tools\avr\etc\avrdude.conf`
C:\Program Files\Microchip\MPLABX\mplab_ide\bin
Note: MPLAB X IDE will need to be installed on your computer for this folder to have been created.
Next, open MPLAB X and set up your project as you normally would and write your code. (If you are not familiar on how to do any of these please refer to the tutorials towards the bottom of our Academia page: https://chipkit.net/academia/)
The bootloader pre-programmed on the PIC32 does take up some room in Flash program memory. Therefore, to make sure we do not overwrite the bootloader, we will need to tell MPLAB X where to put our program code. This will be done using a linker script. There are special linker scripts in our MPIDE download that are already formatted to accommodate the bootloader. In the MPLAB X IDE Project window, right click on the Linker Files folder and select Add Existing Items.... In the dialog, navigate to where you unzipped MPIDE and locate the linker script for your particular device (PIC32MX250F128B used in this tutorial). It will be called something like "chipKIT-application-32MX250F128.ld". You will also need an additional script called "chipKIT-application-COMMON.ld". Select both of these files, check the Copy checkbox, and press Select to close the window and add these files to your project folder.
INCLUDE "chipKIT-application-COMMON.ld"
/* ASSERT (SIZEOF(.header_info) == 76, "MPIDE Version not specfied correctly")*/
"C:\Program Files\Microchip\MPLABX\mplab_ide\bin\avrdude.exe" -C "C:\Program\Microchip\MPLABX\mplab_ide\bin\avrdude.conf" -v -p32MX250F128B -cstk500v2 -P COM49 -b 115200 -U flash:w:${ImagePath}
Some important things to note here:
IMPORTANT!! The bootloader will be executed anytime you select Build, Clean and Build or if you attempt to enter Debug mode. The bootloader often resides in sections of memory that are used for debugging. Therefore, if you enter debug mode and your PIC32 is connected to your computer, there is a good chance you will overwrite the bootloader and it will need to be programmed back onto the chip using an external programmer/debugger.
Therefore, always disconnect the USB cable if you plan on doing any code debugging with the simulator. You will not be able to do hardware debugging. A programmer/debugger is needed for that. You will also need to deselect the Execute this line after build checkbox in the Project Properties>Building window shown in Step 9. Otherwise you will receive an error.