Difference between revisions of "Supporting Third Party Programming Tools"
(53 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | + | [[File:Gen_Compiler_Options_Programmer_PIC.png|right|524x400px]] | |
− | [[File: | ||
Each version of Flowcode comes ready with a default programming tool. However it is fairly easy to change the settings in Flowcode to allow for third party programming tools to be used. | Each version of Flowcode comes ready with a default programming tool. However it is fairly easy to change the settings in Flowcode to allow for third party programming tools to be used. | ||
− | The programming tool that is invoked when the compile to chip button is pressed is configured in the Build menu under Compiler options. | + | The programming tool that is invoked when the compile to chip button is pressed is configured in the '''Build menu''' under '''Compiler options''' then click on the '''Programmer tab''' page. |
Line 10: | Line 9: | ||
− | + | ==Warning== | |
− | + | Editing the Compiler or Linker tabs of the compiler options will likely stop Flowcode from being able to compile correctly unless you know what you are doing. | |
+ | The settings below are for the '''Programmer''' tab of the compiler options. <span style="color:#FF0000">Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.</span> | ||
− | ''' | + | If you do edit the values in the compiler or linker tab then you can simply revert back to the default settings and start again. |
+ | |||
+ | |||
+ | ==Microchip PIC / PIC16 / PIC32== | ||
+ | |||
+ | |||
+ | ===mLoader=== | ||
+ | |||
+ | mLoader is the default programming software and can be used to talk to the various Matrix hardware including E-blocks, E-blocks2, Formula Flowcode, ECIO, MIAC, ProtoBoard, ProjectBoard... | ||
+ | |||
+ | <span style="color:#FF0000">Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.</span> | ||
+ | |||
+ | [[File:ProgTab.jpg]] | ||
Location: | Location: | ||
− | <code>''' | + | <code>'''$(appdir)tools\mLoader\mLoader.exe'''</code> |
+ | |||
+ | Parameters: | ||
+ | |||
+ | <code>'''-chip $(chip:u) "$(outdir)$(target).hex"'''</code> | ||
+ | |||
+ | |||
+ | |||
+ | ===PPP=== | ||
+ | |||
+ | PPP is the older programming software from Flowcode v5 and previous and can be used to talk to versions of the E-blocks EB006 up to and including version 8. | ||
+ | |||
+ | <span style="color:#FF0000">Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.</span> | ||
+ | |||
+ | [[File:ProgTab.jpg]] | ||
+ | |||
+ | Location: | ||
− | + | <code>'''$(appdir)tools\PPP\PPPv3.exe'''</code> | |
Parameters: | Parameters: | ||
− | <code>'''- | + | <code>'''-cs 2 -chip PIC$(chip:u) -nogui "$(outdir)$(target).hex"'''</code> |
+ | |||
+ | |||
− | + | ===PICkit2=== | |
+ | <span style="color:#FF0000">Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.</span> | ||
− | + | [[File:ProgTab.jpg]] | |
Location: | Location: | ||
− | <code>''' | + | <code>'''$(appdir)tools\PICkit2\pk2cmd.exe'''</code> |
+ | |||
+ | Parameters: | ||
+ | |||
+ | <code>'''-B$(appdir)tools\PICkit2\ -PPIC$(chip) -F$(target).hex -M -A5 -R'''</code> | ||
+ | |||
+ | |||
+ | Details on how to upgrade your PICkit 2 to work with new targets are available from [http://www.matrixtsl.com/mmforums/viewtopic.php?f=54&t=16843 here]. | ||
+ | |||
+ | |||
+ | Please note that the PICkit 2 was never designed to work with the newer devices and although it is known to work, you may cause damage to your PIC devices by using incorrect VPP programming voltages etc as supplied by the PICkit 2. | ||
+ | |||
+ | |||
+ | |||
+ | ===PICkit3 - PK3CMD (OLD)=== | ||
+ | |||
+ | <span style="color:#FF0000">Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.</span> | ||
− | + | [[File:ProgTab.jpg]] | |
+ | |||
+ | There are two options for using the PICkit 3 depending on how you are powering your hardware: | ||
+ | |||
+ | |||
+ | '''Powered externally''' | ||
+ | |||
+ | Location: | ||
+ | |||
+ | <code>'''$(appdir)tools\PICkit3\PK3CMD.exe'''</code> | ||
+ | |||
+ | Parameters (8-bit PIC): | ||
+ | |||
+ | <code>'''-P$(chip) -F$(target).hex -E -M'''</code> | ||
+ | |||
+ | |||
+ | Parameters (16-bit PIC): | ||
+ | |||
+ | <code>'''-P$(chip) -F$(target).hex -E -M -L'''</code> | ||
+ | |||
+ | |||
+ | '''Powered via the PICkit''' | ||
+ | |||
+ | Location: | ||
+ | |||
+ | <code>'''$(appdir)tools\PICkit3\PK3CMD.exe'''</code> | ||
+ | |||
+ | Parameters (8-bit PIC): | ||
+ | |||
+ | <code>'''-P$(chip) -F$(target).hex -V5 -E -M'''</code> | ||
+ | |||
+ | |||
+ | Parameters (16-bit PIC): | ||
+ | |||
+ | <code>'''-P$(chip) -F$(target).hex -V3.3 -E -M -L'''</code> | ||
+ | |||
+ | |||
+ | Please note that the PICkit 3 will fail to program if you have spaces in your Flowcode project name, replacing spaces with underscores or removing them completely should resolve the issue. | ||
+ | |||
+ | |||
+ | |||
+ | Also note that if your using the PICkit 3 with MPLABX or have bought a new one recently then you will likely have to downgrade the firmware to allow Flowcode to work with the PICkit. | ||
+ | |||
+ | Full details on how to do this are available from [http://woodworkerb.com/pickit-3-and-flowcode-6/ here]. | ||
+ | |||
+ | |||
+ | |||
+ | If your still having problems getting the PICkit 3 to fire up then this [http://www.matrixtsl.com/mmforums/viewtopic.php?f=54&t=12970&p=58454#p52318 forum topic] may be of help. | ||
+ | |||
+ | |||
+ | |||
+ | ===PICkit3 - IPE (NEW)=== | ||
+ | |||
+ | <span style="color:#FF0000">Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.</span> | ||
+ | |||
+ | [[File:ProgTab.jpg]] | ||
+ | |||
+ | First make sure you have the latest MPLAB X installed on your computer. We used version 4.20 which is used in the location path shown below. Make sure your path matches your installed location. | ||
+ | |||
+ | There are two options for using the PICkit 3 depending on how you are powering your hardware: | ||
+ | |||
+ | |||
+ | '''Powered externally''' | ||
+ | |||
+ | Location: | ||
+ | |||
+ | <code>'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''</code> | ||
+ | |||
+ | Parameters: | ||
+ | |||
+ | <code>'''/P$(chip) /F"$(outdir)$(target).hex" /TPPK3 /M /OL'''</code> | ||
+ | |||
+ | |||
+ | '''Powered via the PICkit''' | ||
+ | |||
+ | Location: | ||
+ | |||
+ | <code>'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''</code> | ||
+ | |||
+ | Parameters - Powered at 3V3: | ||
+ | |||
+ | <code>'''/P$(chip) /F"$(outdir)$(target).hex" /TPPK3 /M /OL /W3.3'''</code> | ||
+ | |||
+ | Parameters - Powered at 5V: | ||
+ | |||
+ | <code>'''/P$(chip) /F"$(outdir)$(target).hex" /TPPK3 /M /OL /W5'''</code> | ||
+ | |||
+ | |||
+ | To use the Microchip Real ICE programmer instead of the PICkit 3 substitute the parameter /TPPK3 with /TPRICE | ||
+ | |||
+ | |||
+ | |||
+ | ===PICkit4=== | ||
+ | |||
+ | <span style="color:#FF0000">Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.</span> | ||
+ | |||
+ | [[File:ProgTab.jpg]] | ||
+ | |||
+ | First make sure you have the latest MPLAB X installed on your computer. We used version 4.20 which is used in the location path shown below. Make sure your path matches your installed location. | ||
+ | |||
+ | Version 4.20 is the minimum version that will work with the PICkit 4 hardware. | ||
+ | |||
+ | There are two options for using the PICkit 4 depending on how you are powering your hardware: | ||
+ | |||
+ | |||
+ | '''Powered externally''' | ||
+ | |||
+ | Location: | ||
+ | |||
+ | <code>'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''</code> | ||
Parameters: | Parameters: | ||
− | <code>'''-P$(chip) -F$(target).hex - | + | <code>'''/P$(chip) /F"$(outdir)$(target).hex" /TPPK4 /M /OL'''</code> |
+ | |||
+ | |||
+ | '''Powered via the PICkit''' | ||
+ | |||
+ | Location: | ||
+ | |||
+ | <code>'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''</code> | ||
+ | |||
+ | Parameters - Powered at 3V3: | ||
+ | |||
+ | <code>'''/P$(chip) /F"$(outdir)$(target).hex" /TPPK4 /M /OL /W3.3'''</code> | ||
+ | |||
+ | Parameters - Powered at 5V: | ||
+ | |||
+ | <code>'''/P$(chip) /F"$(outdir)$(target).hex" /TPPK4 /M /OL /W5'''</code> | ||
+ | |||
+ | |||
+ | |||
+ | ===SNAP=== | ||
+ | |||
+ | <span style="color:#FF0000">Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.</span> | ||
+ | |||
+ | [[File:ProgTab.jpg]] | ||
+ | |||
+ | First make sure you have the latest MPLAB X installed on your computer. We used version 5.40 which is used in the location path shown below. Make sure your path matches your installed location. | ||
+ | |||
+ | Version 5.40 is the minimum version that will work with the Snap hardware. | ||
+ | |||
+ | There are two options for using the Snap depending on how you are powering your hardware: | ||
+ | |||
+ | |||
+ | '''Powered externally''' | ||
+ | |||
+ | Location: | ||
+ | |||
+ | <code>'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''</code> | ||
+ | |||
+ | Parameters: | ||
+ | |||
+ | <code>'''/P$(chip) /F"$(outdir)$(target).hex" /TPSNAP /M /OL'''</code> | ||
+ | |||
+ | |||
+ | '''Powered via the PICkit''' | ||
+ | |||
+ | Location: | ||
+ | |||
+ | <code>'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''</code> | ||
+ | |||
+ | Parameters - Powered at 3V3: | ||
+ | |||
+ | <code>'''/P$(chip) /F"$(outdir)$(target).hex" /TPSNAP /M /OL /W3.3'''</code> | ||
+ | |||
+ | Parameters - Powered at 5V: | ||
+ | |||
+ | <code>'''/P$(chip) /F"$(outdir)$(target).hex" /TPSNAP /M /OL /W5'''</code> | ||
+ | |||
+ | |||
+ | |||
+ | ===ICD3=== | ||
+ | |||
+ | <span style="color:#FF0000">Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.</span> | ||
+ | |||
+ | [[File:ProgTab.jpg]] | ||
+ | |||
+ | First make sure you have the latest MPLAB X installed on your computer. We used version 4.20 which is used in the location path shown below. Make sure your path matches your installed location. | ||
+ | |||
+ | There are two options for using the ICD3 depending on how you are powering your hardware: | ||
+ | |||
+ | |||
+ | '''Powered externally''' | ||
+ | |||
+ | Location: | ||
+ | |||
+ | <code>'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''</code> | ||
+ | |||
+ | Parameters: | ||
+ | |||
+ | <code>'''/P$(chip) /F"$(outdir)$(target).hex" /TPICD3 /M /OL'''</code> | ||
+ | |||
+ | |||
+ | '''Powered via the ICD3''' | ||
+ | |||
+ | Location: | ||
+ | |||
+ | <code>'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''</code> | ||
+ | |||
+ | Parameters - Powered at 3V3: | ||
+ | |||
+ | <code>'''/P$(chip) /F"$(outdir)$(target).hex" /TPICD3 /M /OL /W3.3'''</code> | ||
+ | |||
+ | Parameters - Powered at 5V: | ||
+ | |||
+ | <code>'''/P$(chip) /F"$(outdir)$(target).hex" /TPICD3 /M /OL /W5'''</code> | ||
+ | |||
+ | |||
+ | |||
+ | ===FS USB=== | ||
+ | |||
+ | Flowcode PIC comes with a example for using the free microchip USB bootloader. Changing your target to the MCHP_FSUSB will automatically configure the programmer to use the Microchip PDFSUSB programming tool. Note - The USB bootloader firmware must be present on the device to allow the programming tool to connect correctly to the device. | ||
+ | |||
+ | |||
+ | |||
+ | ===TINY PIC Bootloader=== | ||
+ | |||
+ | Support for the Serial TINY PIC Bootloader is documented [http://www.matrixmultimedia.com/mmforums/viewtopic.php?f=5&t=4647 here]. | ||
+ | |||
+ | |||
+ | |||
+ | ==AVR== | ||
+ | |||
+ | ===AVRISP mkII=== | ||
+ | |||
+ | <span style="color:#FF0000">Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.</span> | ||
+ | |||
+ | [[File:ProgTab.jpg]] | ||
+ | |||
+ | Location: | ||
+ | |||
+ | <code>'''$(compileravr)batchfiles\avrc.bat'''</code> | ||
+ | |||
+ | Parameters: | ||
+ | |||
+ | <code>'''AVRDUDE $(chipalt) $(chip:l) "$(outdir)$(target).hex" "$(target).hex" 0 $(cfgb) $(cfg0) $(cfg1) $(cfg2) $(cfg3)'''</code> | ||
+ | |||
+ | |||
+ | |||
+ | ===USB Tiny=== | ||
+ | |||
+ | <span style="color:#FF0000">Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.</span> | ||
+ | |||
+ | [[File:ProgTab.jpg]] | ||
+ | |||
+ | Location: | ||
− | + | <code>'''$(compileravr)batchfiles\avrc_usbtiny.bat'''</code> | |
Parameters: | Parameters: | ||
− | <code>''' | + | <code>'''AVRDUDE $(chipalt) $(chip:l) "$(outdir)$(target).hex" "$(target).hex" 0 $(cfgb) $(cfg0) $(cfg1) $(cfg2) $(cfg3)'''</code> |
− | |||
+ | ===AVR Dude=== | ||
− | + | <span style="color:#FF0000">Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.</span> | |
− | + | [[File:ProgTab.jpg]] | |
− | |||
The AVRDUDE programming tool supports a number of third party programmers for more help and information please visit the [http://savannah.nongnu.org/projects/avrdude/ AVRDUDE home page]. | The AVRDUDE programming tool supports a number of third party programmers for more help and information please visit the [http://savannah.nongnu.org/projects/avrdude/ AVRDUDE home page]. | ||
+ | [http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/ AVRDUDESS] is a graphical user interface for AVRdude. | ||
+ | |||
+ | |||
+ | |||
+ | ===Arduino=== | ||
+ | |||
+ | Flowcode Arduino allows you to specify a COM port to connect to the Arduino hardware via the Flowcode Project options window. Once you have specified the COM port and selected the correct target board the compile to chip option should program the Arduino device automatically using AVR dude. | ||
+ | |||
+ | |||
+ | |||
+ | ===Arduino Mega 2560 R1/R2=== | ||
+ | |||
+ | Flowcode is currently unable to program early versions of the Arduino Mega hardware. To program these devices use the tool [http://russemotto.com/xloader/ Xloader] to manually load the Flowcode generated .hex file onto the device. | ||
− | |||
− | + | ==ARM== | |
Flowcode ARM comes with a set of precompiled bootloader files. This allows the matrix mLoader USB reprogrammable operation to be used on any third party ARM hardware. | Flowcode ARM comes with a set of precompiled bootloader files. This allows the matrix mLoader USB reprogrammable operation to be used on any third party ARM hardware. | ||
+ | |||
+ | |||
+ | |||
+ | ===mLoader=== | ||
+ | |||
+ | <span style="color:#FF0000">Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.</span> | ||
+ | |||
+ | [[File:ProgTab.jpg]] | ||
+ | |||
+ | mLoader is the default programming software and can be used to talk to the various Matrix hardware including EB006, EB064, EB031, Formula Flowcode, ECIO, MIAC, ProtoBoard, ProjectBoard... | ||
+ | |||
+ | Location: | ||
+ | |||
+ | <code>'''$(appdir)tools\mLoader\mLoader.exe'''</code> | ||
+ | |||
+ | Parameters: | ||
+ | |||
+ | <code>'''-eb0310 "$(target).s19"'''</code> | ||
+ | |||
+ | |||
+ | |||
+ | ===SAM-BA=== | ||
+ | |||
+ | The SAM-BA tool is provided by Atmel and works with the default SAM7S bootloader which can be automatically restored to the device by powering up the ARM hardware for ten seconds using the TST jumper in the none default setting. Note this will delete the Matrix USB bootloader from the device. | ||
+ | |||
+ | |||
+ | |||
+ | ==ST ARM== | ||
+ | |||
+ | |||
+ | ===ST-LINK=== | ||
+ | |||
+ | Flowcode by default is setup to use the ST-LINK programmer using the compile to chip option. | ||
+ | |||
+ | |||
+ | ===Discovery=== | ||
+ | |||
+ | Discovery boards are programmed by dropping the compiled binary firmware file onto a drive that appears under My Computer. Flowcode can automatically place the file onto the drive for you when using the compile to chip option with a discovery board selected as the target device. | ||
+ | |||
+ | |||
+ | ===Nucleo=== | ||
+ | |||
+ | Nucleo boards have a ST-LINK programmer built onto the board and so these work like standard ST ARM targets only without the additional requirement of a ST-LINK programmer. | ||
+ | |||
+ | |||
+ | ==Raspberry Pi== | ||
+ | |||
+ | Raspberry Pi boards can be programmed over the network using Putty which is included with Flowcode. Enter the network details for the Pi into the Flowcode project options and this will allow the compile to chip to connect to the Pi using Putty via a SSH connection. SSH must be enabled on your Pi for this to function correctly but this should be enabled by default. | ||
+ | |||
+ | |||
+ | ==AISX Presto/Forte== | ||
+ | |||
+ | |||
+ | <span style="color:#FF0000">Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.</span> | ||
+ | |||
+ | [[File:ProgTab.jpg]] | ||
+ | |||
+ | First, make sure you have the latest UP installed on your computer. | ||
+ | Make sure your path matches your installed location. | ||
+ | |||
+ | |||
+ | Location: | ||
+ | |||
+ | <code>'''C:\Program Files (x86)\ASIX\UP\up.exe'''</code> | ||
+ | |||
+ | Parameters: | ||
+ | |||
+ | <code>'''/q /p "$(outdir)$(target).hex" /part PIC$(chip)'''</code> | ||
+ | |||
+ | The way the command line works is by using the last UP.exe settings. | ||
+ | |||
+ | If you want to use the programmer’s internal supply. | ||
+ | |||
+ | Open UP.exe and within the programmer settings window, select During programming check box. | ||
+ | |||
+ | I would also recommend changing Delay for VDD switching on/off when supplied from programmer from 10000 to 50000. | ||
+ | |||
+ | Close UP then all is ready for programming. | ||
+ | |||
+ | If you want to see a popup progress bar during programming, remove /q from the parameters. | ||
+ | |||
+ | Note: | ||
+ | Presto can only supply VDD 5.0V and VPP 13.0V | ||
+ | Forte can supply VDD 2.0V to 5.5V and VPP 6.5V to 17 Automatically, depending on the selected target device. |
Latest revision as of 12:45, 28 January 2022
Each version of Flowcode comes ready with a default programming tool. However it is fairly easy to change the settings in Flowcode to allow for third party programming tools to be used.
The programming tool that is invoked when the compile to chip button is pressed is configured in the Build menu under Compiler options then click on the Programmer tab page.
For help with third party programming tools the first port of call should be to check our forums to see if anyone else has already tried the programming tool with Flowcode. If you are the first then if you wish you can post your findings for other users to benefit from.
Contents
Warning
Editing the Compiler or Linker tabs of the compiler options will likely stop Flowcode from being able to compile correctly unless you know what you are doing.
The settings below are for the Programmer tab of the compiler options. Take care to ensure you only edit the values in the Programmer tab.
If you do edit the values in the compiler or linker tab then you can simply revert back to the default settings and start again.
Microchip PIC / PIC16 / PIC32
mLoader
mLoader is the default programming software and can be used to talk to the various Matrix hardware including E-blocks, E-blocks2, Formula Flowcode, ECIO, MIAC, ProtoBoard, ProjectBoard...
Take care to ensure you only edit the values in the Programmer tab.
Location:
$(appdir)tools\mLoader\mLoader.exe
Parameters:
-chip $(chip:u) "$(outdir)$(target).hex"
PPP
PPP is the older programming software from Flowcode v5 and previous and can be used to talk to versions of the E-blocks EB006 up to and including version 8.
Take care to ensure you only edit the values in the Programmer tab.
Location:
$(appdir)tools\PPP\PPPv3.exe
Parameters:
-cs 2 -chip PIC$(chip:u) -nogui "$(outdir)$(target).hex"
PICkit2
Take care to ensure you only edit the values in the Programmer tab.
Location:
$(appdir)tools\PICkit2\pk2cmd.exe
Parameters:
-B$(appdir)tools\PICkit2\ -PPIC$(chip) -F$(target).hex -M -A5 -R
Details on how to upgrade your PICkit 2 to work with new targets are available from here.
Please note that the PICkit 2 was never designed to work with the newer devices and although it is known to work, you may cause damage to your PIC devices by using incorrect VPP programming voltages etc as supplied by the PICkit 2.
PICkit3 - PK3CMD (OLD)
Take care to ensure you only edit the values in the Programmer tab.
There are two options for using the PICkit 3 depending on how you are powering your hardware:
Powered externally
Location:
$(appdir)tools\PICkit3\PK3CMD.exe
Parameters (8-bit PIC):
-P$(chip) -F$(target).hex -E -M
Parameters (16-bit PIC):
-P$(chip) -F$(target).hex -E -M -L
Powered via the PICkit
Location:
$(appdir)tools\PICkit3\PK3CMD.exe
Parameters (8-bit PIC):
-P$(chip) -F$(target).hex -V5 -E -M
Parameters (16-bit PIC):
-P$(chip) -F$(target).hex -V3.3 -E -M -L
Please note that the PICkit 3 will fail to program if you have spaces in your Flowcode project name, replacing spaces with underscores or removing them completely should resolve the issue.
Also note that if your using the PICkit 3 with MPLABX or have bought a new one recently then you will likely have to downgrade the firmware to allow Flowcode to work with the PICkit.
Full details on how to do this are available from here.
If your still having problems getting the PICkit 3 to fire up then this forum topic may be of help.
PICkit3 - IPE (NEW)
Take care to ensure you only edit the values in the Programmer tab.
First make sure you have the latest MPLAB X installed on your computer. We used version 4.20 which is used in the location path shown below. Make sure your path matches your installed location.
There are two options for using the PICkit 3 depending on how you are powering your hardware:
Powered externally
Location:
$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe
Parameters:
/P$(chip) /F"$(outdir)$(target).hex" /TPPK3 /M /OL
Powered via the PICkit
Location:
$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe
Parameters - Powered at 3V3:
/P$(chip) /F"$(outdir)$(target).hex" /TPPK3 /M /OL /W3.3
Parameters - Powered at 5V:
/P$(chip) /F"$(outdir)$(target).hex" /TPPK3 /M /OL /W5
To use the Microchip Real ICE programmer instead of the PICkit 3 substitute the parameter /TPPK3 with /TPRICE
PICkit4
Take care to ensure you only edit the values in the Programmer tab.
First make sure you have the latest MPLAB X installed on your computer. We used version 4.20 which is used in the location path shown below. Make sure your path matches your installed location.
Version 4.20 is the minimum version that will work with the PICkit 4 hardware.
There are two options for using the PICkit 4 depending on how you are powering your hardware:
Powered externally
Location:
$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe
Parameters:
/P$(chip) /F"$(outdir)$(target).hex" /TPPK4 /M /OL
Powered via the PICkit
Location:
$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe
Parameters - Powered at 3V3:
/P$(chip) /F"$(outdir)$(target).hex" /TPPK4 /M /OL /W3.3
Parameters - Powered at 5V:
/P$(chip) /F"$(outdir)$(target).hex" /TPPK4 /M /OL /W5
SNAP
Take care to ensure you only edit the values in the Programmer tab.
First make sure you have the latest MPLAB X installed on your computer. We used version 5.40 which is used in the location path shown below. Make sure your path matches your installed location.
Version 5.40 is the minimum version that will work with the Snap hardware.
There are two options for using the Snap depending on how you are powering your hardware:
Powered externally
Location:
$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe
Parameters:
/P$(chip) /F"$(outdir)$(target).hex" /TPSNAP /M /OL
Powered via the PICkit
Location:
$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe
Parameters - Powered at 3V3:
/P$(chip) /F"$(outdir)$(target).hex" /TPSNAP /M /OL /W3.3
Parameters - Powered at 5V:
/P$(chip) /F"$(outdir)$(target).hex" /TPSNAP /M /OL /W5
ICD3
Take care to ensure you only edit the values in the Programmer tab.
First make sure you have the latest MPLAB X installed on your computer. We used version 4.20 which is used in the location path shown below. Make sure your path matches your installed location.
There are two options for using the ICD3 depending on how you are powering your hardware:
Powered externally
Location:
$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe
Parameters:
/P$(chip) /F"$(outdir)$(target).hex" /TPICD3 /M /OL
Powered via the ICD3
Location:
$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe
Parameters - Powered at 3V3:
/P$(chip) /F"$(outdir)$(target).hex" /TPICD3 /M /OL /W3.3
Parameters - Powered at 5V:
/P$(chip) /F"$(outdir)$(target).hex" /TPICD3 /M /OL /W5
FS USB
Flowcode PIC comes with a example for using the free microchip USB bootloader. Changing your target to the MCHP_FSUSB will automatically configure the programmer to use the Microchip PDFSUSB programming tool. Note - The USB bootloader firmware must be present on the device to allow the programming tool to connect correctly to the device.
TINY PIC Bootloader
Support for the Serial TINY PIC Bootloader is documented here.
AVR
AVRISP mkII
Take care to ensure you only edit the values in the Programmer tab.
Location:
$(compileravr)batchfiles\avrc.bat
Parameters:
AVRDUDE $(chipalt) $(chip:l) "$(outdir)$(target).hex" "$(target).hex" 0 $(cfgb) $(cfg0) $(cfg1) $(cfg2) $(cfg3)
USB Tiny
Take care to ensure you only edit the values in the Programmer tab.
Location:
$(compileravr)batchfiles\avrc_usbtiny.bat
Parameters:
AVRDUDE $(chipalt) $(chip:l) "$(outdir)$(target).hex" "$(target).hex" 0 $(cfgb) $(cfg0) $(cfg1) $(cfg2) $(cfg3)
AVR Dude
Take care to ensure you only edit the values in the Programmer tab.
The AVRDUDE programming tool supports a number of third party programmers for more help and information please visit the AVRDUDE home page.
AVRDUDESS is a graphical user interface for AVRdude.
Arduino
Flowcode Arduino allows you to specify a COM port to connect to the Arduino hardware via the Flowcode Project options window. Once you have specified the COM port and selected the correct target board the compile to chip option should program the Arduino device automatically using AVR dude.
Arduino Mega 2560 R1/R2
Flowcode is currently unable to program early versions of the Arduino Mega hardware. To program these devices use the tool Xloader to manually load the Flowcode generated .hex file onto the device.
ARM
Flowcode ARM comes with a set of precompiled bootloader files. This allows the matrix mLoader USB reprogrammable operation to be used on any third party ARM hardware.
mLoader
Take care to ensure you only edit the values in the Programmer tab.
mLoader is the default programming software and can be used to talk to the various Matrix hardware including EB006, EB064, EB031, Formula Flowcode, ECIO, MIAC, ProtoBoard, ProjectBoard...
Location:
$(appdir)tools\mLoader\mLoader.exe
Parameters:
-eb0310 "$(target).s19"
SAM-BA
The SAM-BA tool is provided by Atmel and works with the default SAM7S bootloader which can be automatically restored to the device by powering up the ARM hardware for ten seconds using the TST jumper in the none default setting. Note this will delete the Matrix USB bootloader from the device.
ST ARM
ST-LINK
Flowcode by default is setup to use the ST-LINK programmer using the compile to chip option.
Discovery
Discovery boards are programmed by dropping the compiled binary firmware file onto a drive that appears under My Computer. Flowcode can automatically place the file onto the drive for you when using the compile to chip option with a discovery board selected as the target device.
Nucleo
Nucleo boards have a ST-LINK programmer built onto the board and so these work like standard ST ARM targets only without the additional requirement of a ST-LINK programmer.
Raspberry Pi
Raspberry Pi boards can be programmed over the network using Putty which is included with Flowcode. Enter the network details for the Pi into the Flowcode project options and this will allow the compile to chip to connect to the Pi using Putty via a SSH connection. SSH must be enabled on your Pi for this to function correctly but this should be enabled by default.
AISX Presto/Forte
Take care to ensure you only edit the values in the Programmer tab.
First, make sure you have the latest UP installed on your computer. Make sure your path matches your installed location.
Location:
C:\Program Files (x86)\ASIX\UP\up.exe
Parameters:
/q /p "$(outdir)$(target).hex" /part PIC$(chip)
The way the command line works is by using the last UP.exe settings.
If you want to use the programmer’s internal supply.
Open UP.exe and within the programmer settings window, select During programming check box.
I would also recommend changing Delay for VDD switching on/off when supplied from programmer from 10000 to 50000.
Close UP then all is ready for programming.
If you want to see a popup progress bar during programming, remove /q from the parameters.
Note: Presto can only supply VDD 5.0V and VPP 13.0V Forte can supply VDD 2.0V to 5.5V and VPP 6.5V to 17 Automatically, depending on the selected target device.