Page 1 of 1

ICD Question

Posted: Sun Jan 14, 2018 5:35 pm
by QMESAR
Hi Team
I am confused but also very happy the firts time in a few years I am having FC and the ICD I see it operate as I would expect it too :D
This also brings a few questions and concerns up in my mind.
I am not sure why it is working so well on the PIC16F1937 -I see things with this chip and the ICD which I in the past on other devices gave up on FC and just did it in MPLAB,Now is this because you use this chip on your EB006 boards and made sure it is working and did not give such attention to the other chips :shock:

(1)Why I am saying /asking this is in the pass on other devices I never could get the ICD to follow through the Code on the chart once I use a C call component.the ICD will pop into the code in the C Call and then never come out and go to the next FC component.As you will see now on the attached the ICD goes into the C call execute the code and come out from it and go to the next FC Component
(2) I could never get to see the variables use used in the C Call in the debug window now I can set a break point and see a variable in the C call update

I am not complaining I am very happy :D to see this happen ,If it will work like this on all other chips there is no reason to use any other tool :D

Please can you too explain me if what I see is the way it should work? if then what could be the reasons that I was never able to do this on various other PIC 8 bit chips ?
I like how FC is working on the PIC16F1937 :D :D :D

Re: ICD Question

Posted: Mon Jan 15, 2018 6:12 pm
by Benj
Hi Peter,
I am not sure why it is working so well on the PIC16F1937 -I see things with this chip and the ICD which I in the past on other devices gave up on FC and just did it in MPLAB,Now is this because you use this chip on your EB006 boards and made sure it is working and did not give such attention to the other chips :shock:
While this is true, we generally do favour the 16F1937 and do a lot of testing with this device there is no specific code to make this function any better then other devices. Certainly the Flowcode ICD code is not device specific and uses generic functions the same as any other device. In 7.2 and 7.3 we have looked at communications to our Ghost devices and keep trying to work on improving this to reduce failures and improve performance.

One thing we have seen recently is that if you have an AVR global variable and use ICD to look at the variables then the variable will only pass back the value correctly if you do not use an initialiser value. If you do use an initialiser then all you will see will be the value of the initialiser. I haven't yet been able to solve or explain this but have found that if you use a calculation icon at the start of your program to bypass the need for the initialiser then all works as expected. Maybe some weirdness in either the AVR device memory or the AVR compiler that we are not currently aware of.

Currently I'm not aware of any other show stopping problems.