Difference between revisions of "Supporting Third Party Programming Tools"

From Flowcode Help
Jump to navigationJump to search
(40 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<sidebar>Sidebar: Flowcode Help Overview:ChipSpecific</sidebar>
+
[[File:Gen_Compiler_Options_Programmer_PIC.png|right|524x400px]]
[[File:Gen_Compiler_Options_Compiler_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 then click on the Programmer tab page.
+
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:
  
  
==Microchip PIC / dsPIC==
+
==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===
  
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...
+
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:
Line 29: Line 41:
 
===PPP===
 
===PPP===
  
PPP is the older programming software from Flowcode v5 and previous and can be used to talk to versions of the EB006 up to and including version 8.  
+
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:
 
Location:
Line 42: Line 58:
  
 
===PICkit2===
 
===PICkit2===
 +
 +
<span style="color:#FF0000">Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.</span>
 +
 +
[[File:ProgTab.jpg]]
  
 
Location:
 
Location:
Line 51: Line 71:
 
<code>'''-B$(appdir)tools\PICkit2\ -PPIC$(chip) -F$(target).hex -M -A5 -R'''</code>
 
<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>
  
  
===PICkit3===
+
'''Powered via the PICkit'''
  
 
Location:
 
Location:
  
 
<code>'''$(appdir)tools\PICkit3\PK3CMD.exe'''</code>
 
<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 -E -M'''</code>
+
<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:
  
or for 16-bit PIC devices
+
<code>'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''</code>
  
 
Parameters:
 
Parameters:
  
<code>'''-P$(chip) -F$(target).hex -E -M -L'''</code>
+
<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>
  
  
  
===Microchip FS USB===
+
===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.
 
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.
Line 79: Line 301:
 
===TINY PIC Bootloader===
 
===TINY PIC Bootloader===
  
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].
+
Support for the Serial TINY PIC Bootloader is documented [http://www.matrixmultimedia.com/mmforums/viewtopic.php?f=5&t=4647 here].
 +
 
 +
 
  
 
==AVR==
 
==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:
 +
 +
<code>'''AVRDUDE $(chipalt) $(chip:l) "$(outdir)$(target).hex" "$(target).hex" 0 $(cfgb) $(cfg0) $(cfg1) $(cfg2) $(cfg3)'''</code>
 +
 +
  
 
===AVR Dude===
 
===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===
 
===Arduino===
  
Flowcode version 6.1 has much better in built support for Arduino hardware, a document explaining how to use Flowcode 6.1 with Arduino is available from here. {Coming Soon}
+
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===
  
Support for Arduino prior to Flowcode 6.1 is documented [http://www.matrixmultimedia.com/support/viewtopic.php?f=68&t=797 here].
+
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.
  
  
Line 99: Line 366:
  
 
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===
 
===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...
 
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...
Line 118: Line 390:
  
 
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.
 
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.

Revision as of 10:06, 22 March 2021

Error creating thumbnail: sh: /usr/bin/convert: No such file or directory Error code: 127

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.