In Circuit Debugging

From Flowcode Help
Revision as of 15:59, 27 March 2014 by BenR (talk | contribs)
Jump to navigationJump to search

<sidebar>Sidebar: Flowcode Help Overview:ChipSpecific</sidebar> It is now possible to do in circuit debugging using Flowcode and either our v7 EB006 or our ICD tool hardware. The ICD feature is enabled via the Project Options window. Once enabled a user can toggle simulation and ICD mode via a tick box from the 'Debug' menu (Debug > ICD Mode).


When ICD is enabled you must re-program the target device to allow the ICD code to be loaded onto the target device. Once the device has been programmed it will stay in a waiting state waiting for Flowcode to allow it to start running. Clicking the simulation run or step buttons in Flowcode will trigger the target device to react accordingly. Clicking the simulation stop button will reset the target device so that it restarts from the very start of the program. When disabling ICD you again need to re-compile and program the device to allow the ICD specific code to be removed from the program.


Breakpoints, single stepping, and other simulation features such as the Simulation Debugger also work seamlessly with the ICD functionality.



Enabling ICD

The ICD/ICT feature must be enabled using the "Debug -> ICD/ICT -> Enable" menu setting.

ICDEn.jpg


Configuring ICD

ICDOptions.jpg

Once enabled you can configure the ICD Options by clicking the "Debug -> ICD/ICT -> Options" menu, this will open a new window containing the ICD and ICT options.


ICD (Icon Step Through)

Controls if the ICD functionality is active or not, when active when clicking play on the simulation Flowcode will instead communicate to the ICD hardware and allow the execution of the simulation to sync up with the execution of the target Microcontroller.


Use EB006 v9 ICD

Specifies if the v9 EB006 with Ghost Technology is being used. This settings needs to be enabled if your using a version 9 EB006 to allow the ICD code to be restructured to work with the new Ghost ICD hardware.


Breakpoint Count

Specifies the maximum number of breakpoints that can be set in the program.


Callstack Depth

Specifies the maximum number of jumps away from main the target Microcontroller can cope with.


Communication Speed

Specifies the bit delay when talking to the ICD target Microcontroller device. A larger number relates to slower communications speeds so if your having problems getting ICD running try increasing this value.


Override ICD pins

By default the ICD pins are wired to the programming pins to allow boards like the EB006 to work correctly. However if your using the Matrix Flowkit hardware then you can in theory use any I/O pin for the ICD communications. Regardless of which pins you are using you must take care not to read or write to the port pins used for ICD to be sure your not corrupting the communications. If you reading or writing to the same port then be sure to use the masking feature of the input and output icons to leave the ICD pins untouched by the operation.