Difference between revisions of "Supporting Third Party Programming Tools"

From Flowcode Help
Jump to navigationJump to search
 
(69 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<sidebar>Sidebar: Adding Finishing Touches</sidebar>
+
[[File:Gen_Compiler_Options_Programmer_PIC.png|right|524x400px]]
 
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.
  
  
[[File:Gen_Compiler_Options_Compiler.png]]
+
For help with third party programming tools the first port of call should be to check our [http://www.matrixmultimedia.com/mmforums/ 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.
 +
 
 +
 
 +
==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:
 +
 
 +
<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:
 +
 
 +
<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:
 +
 
 +
<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:
 +
 
 +
<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>
  
For help with third party programming tools the first port of call should be to check our [http://www.matrixmultimedia.com/mmforums/ 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.
+
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>
  
'''Flowcode PIC'''
+
[[File:ProgTab.jpg]]
  
Flowcode PIC now comes with PICkit support built in. This can be enabled by configuring Flowcode during the install process or can be done manually at a later date. To enable the PICkit programmer you will have to change the programmer settings to match the following.
+
Location:
  
 +
<code>'''$(compileravr)batchfiles\avrc_usbtiny.bat'''</code>
  
''C:\Program Files\Matrix Multimedia\Flowcode V4\tools\PICkit2\pk2cmd.exe''
+
Parameters:
  
''-BC:\Program Files\Matrix Multimedia\Flowcode V4\Tools\PICkit2\ -PPIC%p -F%f.hex -M -A5 -R''
+
<code>'''AVRDUDE $(chipalt) $(chip:l) "$(outdir)$(target).hex" "$(target).hex" 0 $(cfgb) $(cfg0) $(cfg1) $(cfg2) $(cfg3)'''</code>
  
  
Flowcode PIC also 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.
 
  
 +
===AVR Dude===
  
Support for the Serial TINY PIC Bootloader is documented [http://www.matrixmultimedia.com/mmforums/viewtopic.php?f=5&t=4647&start=0&st=0&sk=t&sd=a&hilit=Tiny here].
+
<span style="color:#FF0000">Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.</span>
  
+
[[File:ProgTab.jpg]]
'''Flowcode AVR'''
 
  
 
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].
  
'''Flowcode ARM'''
+
[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

Gen Compiler Options Programmer PIC.png

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.


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.

ProgTab.jpg

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.

ProgTab.jpg

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.

ProgTab.jpg

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.

ProgTab.jpg

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.

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:

$(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.

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:

$(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.

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:

$(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.

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:

$(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.

ProgTab.jpg

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.

ProgTab.jpg

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.

ProgTab.jpg

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.

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:

$(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.

ProgTab.jpg

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.