Forum Discussion
Hi there,
Is there any update?
Hi,
Finally, I got rid of this issue.
Firstly, there was some misprogrammed data in the Flash of the host microcontroller which resulted in sending erroneous config data to the Flex making nSTATUS go low in the "middle" of the configuration process.
After fixing this first issue, there was some concern about CONF_DONE going high for a few microseconds then Low again.
What I've implemented to solve this issue:
-Send only the 28939 first bytes of the 28941 bytes from rbf config file.
-Send exactly 7 extra clock cycles with DATA0 high
-Poll for CONF_DONE high
-Send 10 extra clock cycles to initialize the device and start user mode.
If more than 7 extra clock cycle are sent before seeing CONF_DONE high, the config fails which is not documented in "nanopdf.com_configuring-flex-10k-devices-introduction.pdf".
There are additional information in "an116.pdf" which say "if microprocessor sends all data and initialization clock starts but CONF_DONE &INIT_DONE have not gone high, it must reconfigure the target device."
At least it informs the initialization clock must not start before CONF_DONE &INIT_DONE have gone high which sounds contradictory about INIT_DONE intended to go high only after initialization is finished.
Moreover, no document states about not sending the last 2 bytes of the .rbf file, which makes it difficult to properly implement initialization algorithm from the official documents without experimenting.
Last point is CONF_DONE stays high once in user mode.
Thanks for the help you provided.