Difference between revisions of "Project Options"

From Flowcode Help
Jump to navigationJump to search
 
(26 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<sidebar>Sidebar: What Is a Flowcode Flowchart?</sidebar>
 
 
This window defines settings related to the current Flowcode project. The window can be viewed by selecting 'Project Options' in the 'Build' menu (Build > Project Options...).
 
This window defines settings related to the current Flowcode project. The window can be viewed by selecting 'Project Options' in the 'Build' menu (Build > Project Options...).
 +
[[File:Gen_Build_Menu_Project_Options.png|right]]
 +
 +
You will also see the same window when you start a new project
  
 
These options allow you to customize your project and alter the fundamental functions of the project by changing the target chip, clock speed and simulation speed and even configure the chip itself by editing the configuration settings, you can also enable and configure the 'Debug Options' which allow the user to run in ICD mode and use ICT and analog monitoring as well as overriding the ICD pins.
 
These options allow you to customize your project and alter the fundamental functions of the project by changing the target chip, clock speed and simulation speed and even configure the chip itself by editing the configuration settings, you can also enable and configure the 'Debug Options' which allow the user to run in ICD mode and use ICT and analog monitoring as well as overriding the ICD pins.
 +
  
 
__TOC__
 
__TOC__
 +
  
 
==Choose a Target==
 
==Choose a Target==
[[File:Gen_Project_Options_Target_16F1937.png|right|444x312px]]
+
[[File:Project Options.png|right]]
 
'''Choose a target for this flowchart'''
 
'''Choose a target for this flowchart'''
  
This tab allows you to [[Specifying a Target Chip|select a target chip]] from all the currently supported devices by Flowcode. Users can select a new chip or change the chip from this menu.
+
This section allows you to [[Specifying a Target Chip|select a target chip]] from all the currently supported devices by Flowcode. Users can select a new chip or change the chip from this menu.
  
  
 
Devices are shown via chip types and then by device types to allow you to easily find what device and chip you wish to target.
 
Devices are shown via chip types and then by device types to allow you to easily find what device and chip you wish to target.
  
 +
To search for a target, rather than scrolling, right-click any random target and select Search.
  
You can also choose 'No chip' to create a simulation-only chip which will allow you to use a massive range of ports to connect to although you cannot download your flowchart program to a device, you can expand your options for simulation-only projects.
+
Partial values can be entered, e.g. for 16F18877, 1887 can be entered
 
 
 
 
 
 
  
  
 +
You can also choose 'Simulation Only' to create a simulation-only chip which will allow you to use a massive range of ports to connect to although you cannot download your flowchart program to a device, you can expand your options for simulation-only projects.
  
  
  
 +
==Project Information==
  
  
==Project Description==
+
===Project title===
[[File:Gen_Project_Options_Project_Description.png|right|444x312px]]
 
'''Project title'''
 
  
 
Here users can give their project a title, this title will appear in the generated C code and in any of the documentation features of Flowcode.
 
Here users can give their project a title, this title will appear in the generated C code and in any of the documentation features of Flowcode.
  
  
'''Project description'''
+
===Detailed description===
  
 
Allows users to give a detailed description of the project. This information will appear in the generated C code and in any of the documentation features of Flowcode.
 
Allows users to give a detailed description of the project. This information will appear in the generated C code and in any of the documentation features of Flowcode.
Line 41: Line 43:
  
  
 +
==Other Options==
  
  
  
 
+
===Clock Speed===
 
 
 
 
 
 
 
 
 
 
 
 
 
 
==General Options==
 
[[File:Gen_Project_Options_General_Options.png|right|444x312px]]
 
'''Target'''
 
 
 
Defines the microcontroller that the Flowcode compiled program will be run on.
 
 
 
 
 
'''Configuring the Chip'''
 
 
 
Allows the user to [[Configuring the Chip|configure the target chip]].
 
 
 
 
 
'''Clock Speed'''
 
  
 
Must be set to match the hardware clock frequency so that delays and other timing critical features run at the correct speed on the hardware. Several options exist for the clock speed in the drop down menu however any value of clock speed can be entered directly into the text field.
 
Must be set to match the hardware clock frequency so that delays and other timing critical features run at the correct speed on the hardware. Several options exist for the clock speed in the drop down menu however any value of clock speed can be entered directly into the text field.
  
  
'''Simulation Speed'''
+
===Simulation Speed===
  
 
Defines the speed of the flowchart simulation. Slowing down the simulation allows for flowchart icons to become highlighted as the simulation runs.
 
Defines the speed of the flowchart simulation. Slowing down the simulation allows for flowchart icons to become highlighted as the simulation runs.
  
  
'''Use Supplementary Code'''
+
===Use Supplementary Code===
  
 
Allows any [[Supplementary Code|supplementary code]] to be included into the program. This is useful for including external C or Assembler files into your programs.
 
Allows any [[Supplementary Code|supplementary code]] to be included into the program. This is useful for including external C or Assembler files into your programs.
  
  
'''Auto Clear Watchdog'''
+
===Auto Clear Watchdog===
  
 
This is used to automatically clear the watchdog timer every time a component macro is called which will stop the target device from detecting a false stop condition and resetting.
 
This is used to automatically clear the watchdog timer every time a component macro is called which will stop the target device from detecting a false stop condition and resetting.
  
  
'''Use #if in Constant Decisions'''
+
===Use #if in Constant Decisions===
  
 
Uses the preprocessor to optimise the code in if / else blocks if a constant is used in the condition statement.
 
Uses the preprocessor to optimise the code in if / else blocks if a constant is used in the condition statement.
 
  
  
 
==Configure==
 
==Configure==
[[File:Gen_Project_Options_Configure.png|right|444x312px]]
+
In this section, you can [[Configuring the Chip|configure the chip]] in many ways, from simply setting the oscillator type to enabling and disabling advanced features such as brown out, watchdog timers, low voltage programming, read protection etc.
In this tab you can [[Configuring the Chip|configure the chip]] in many ways, from simply setting the oscillator type to enabling and disabling advanced features such as brown out, watchdog timers, low voltage programming, read protection etc.
 
  
 +
Refer to the device datasheet for details on the config settings and their function.
  
'''Manually configuring the chip for PICmicros'''
 
  
See [[Selecting Compiler Options (PICmicro)]] for help with switching off the default configuration options that use PPP.
+
===Write config on download===
  
Once you have disabled the default configuration options you can enter your own configuration data. For the PICmicro this data will be sent to the chip every time you perform a compile to chip operation.
+
The option specifies if the config settings are added to the output hex file or not. If they are not added then the current config settings will be retained when reprogramming your device.
  
An example configuration word for the PIC16 series is
+
For a PIC, dsPIC etc the config memory is the same as the program memory and so the config can be reprogrammed again and again.
  
0x2007, 0x3FFC
+
For an AVR the config memory can only be changed a few times and so the tick box allows you to disable the programming of the config settings when re-programming the same device multiple times.
  
The 0x2007 is the location in memory of the configuration word and the 0x3FFC is the configuration word itself.
 
  
 +
===Manually configuring the chip for PICmicros===
  
 +
See [[Selecting Compiler Options (PICmicro)]] for help with switching off the default configuration options.
  
 +
Once you have disabled the default configuration options you can enter your own configuration data. For the PICmicro this data will be sent to the chip every time you perform a compile to chip operation.
  
==Debug Options==
+
An example configuration word for the PIC16 series is
[[File:Gen_Project_Options_Debug_Options.png|right|444x312px]]
 
The 'Debug Options' allow you to enable ICD mode and configure ICD options as well as enable and configure ICT and Analog monitoring. You can also override the ICD pins and specifically change the port and pin connections.
 
  
 +
0x2007, 0x3FFC
  
'''Enable ICD debugging'''
+
The 0x2007 is the location in memory of the configuration word and the 0x3FFC is the configuration word itself.
 
 
Switches on the ICD functionality. An appropriate Matrix ICD tool is required, such as FlowKit or an EB006 v7 or later.
 
 
 
 
 
'''Breakpoint Count'''
 
 
 
Defines the maximum number of breakpoints allowed in your program.
 
 
 
 
 
'''Callstack Depth'''
 
Defines the maximum stack size in you program. This will always be 8 unless you have enabled the BoostC software stack.
 
 
 
 
 
'''Communication Speed'''
 
 
 
Defines the number of iterations to wait before timing out. This value is based on the clock speed of the target device and is automatically updated.
 
 
 
 
 
[[File:Gen_Project_Options_Debug_Options_ICD_Options.png|right|425x317px]]
 
'''Override ICD Pins'''
 
 
 
Allows any free I/O pins on the target microcontroller to be used for the ICD functionality. Compatible with the matrix ICD tool.
 
 
 
 
 
'''Restore Defaults'''
 
 
 
Restores all of the ICD settings back to their default values.
 
 
 
 
 
'''Enable ICT monitoring'''
 
 
 
 
 
 
 
 
 
'''Overflow and wrap enable'''
 
 
 
 
 
 
 
 
 
'''Sample Rate'''
 
 
 
 
 
 
 
 
 
'''Analog monitoring:'''
 

Latest revision as of 08:35, 25 April 2023

This window defines settings related to the current Flowcode project. The window can be viewed by selecting 'Project Options' in the 'Build' menu (Build > Project Options...).

You will also see the same window when you start a new project

These options allow you to customize your project and alter the fundamental functions of the project by changing the target chip, clock speed and simulation speed and even configure the chip itself by editing the configuration settings, you can also enable and configure the 'Debug Options' which allow the user to run in ICD mode and use ICT and analog monitoring as well as overriding the ICD pins.



Choose a Target

Project Options.png

Choose a target for this flowchart

This section allows you to select a target chip from all the currently supported devices by Flowcode. Users can select a new chip or change the chip from this menu.


Devices are shown via chip types and then by device types to allow you to easily find what device and chip you wish to target.

To search for a target, rather than scrolling, right-click any random target and select Search.

Partial values can be entered, e.g. for 16F18877, 1887 can be entered


You can also choose 'Simulation Only' to create a simulation-only chip which will allow you to use a massive range of ports to connect to although you cannot download your flowchart program to a device, you can expand your options for simulation-only projects.


Project Information

Project title

Here users can give their project a title, this title will appear in the generated C code and in any of the documentation features of Flowcode.


Detailed description

Allows users to give a detailed description of the project. This information will appear in the generated C code and in any of the documentation features of Flowcode.



Other Options

Clock Speed

Must be set to match the hardware clock frequency so that delays and other timing critical features run at the correct speed on the hardware. Several options exist for the clock speed in the drop down menu however any value of clock speed can be entered directly into the text field.


Simulation Speed

Defines the speed of the flowchart simulation. Slowing down the simulation allows for flowchart icons to become highlighted as the simulation runs.


Use Supplementary Code

Allows any supplementary code to be included into the program. This is useful for including external C or Assembler files into your programs.


Auto Clear Watchdog

This is used to automatically clear the watchdog timer every time a component macro is called which will stop the target device from detecting a false stop condition and resetting.


Use #if in Constant Decisions

Uses the preprocessor to optimise the code in if / else blocks if a constant is used in the condition statement.


Configure

In this section, you can configure the chip in many ways, from simply setting the oscillator type to enabling and disabling advanced features such as brown out, watchdog timers, low voltage programming, read protection etc.

Refer to the device datasheet for details on the config settings and their function.


Write config on download

The option specifies if the config settings are added to the output hex file or not. If they are not added then the current config settings will be retained when reprogramming your device.

For a PIC, dsPIC etc the config memory is the same as the program memory and so the config can be reprogrammed again and again.

For an AVR the config memory can only be changed a few times and so the tick box allows you to disable the programming of the config settings when re-programming the same device multiple times.


Manually configuring the chip for PICmicros

See Selecting Compiler Options (PICmicro) for help with switching off the default configuration options.

Once you have disabled the default configuration options you can enter your own configuration data. For the PICmicro this data will be sent to the chip every time you perform a compile to chip operation.

An example configuration word for the PIC16 series is

0x2007, 0x3FFC

The 0x2007 is the location in memory of the configuration word and the 0x3FFC is the configuration word itself.