This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Fapi_serviceWatchdogTimer function in F021 Flash API is called at what frequency?

Other Parts Discussed in Thread: HALCOGEN

Hello Support,

In the F021 Flash API, at what rate the following function

Fapi_serviceWatchdogTimer

is called/invoked?

Thank you.

Regards

Pashan

 

  • Hello Pashan,

    Fapi_serviceWatchdogTimer() is only used by the functions identified in the documentation as Read functions.The Read functions will call Fapi_serviceWatchdogTimer() every time the incrementing of the address being read from crosses a 100h byte address boundary.

  • Hello John,

    I see the following paragraph in spnu492d.pdf.

    Does the same problem of < 35ms exist with F021 Flash API Usage within the CPU Software or the watchdog period can be minimized by some tweak?

    Thank you.

    Regards

    Pashan

    ----------------------------------------------------------

    3.3 Enabled DWD Triggers Reset with Reset Interval <35ms

    nowFlash has been tuned so that if a user's application being programmed to the DUT enables DWD for a

    watchdog reset interval of 35ms or longer, there is no risk of the DWD tripping a reset while nowFlash is

    active. Digital Watchdog reset intervals of less than 35ms are not supported.

    -----------------------------------------------------------------

     

  • Hello Pashan,

    The document you referenced spnu492d.pdf is for a tool and not a reference for any of the Flash APIs.  The only thing I can state on with respect to the F021 Flash API and watchdog timer is what I stated previously.

  • Hello John,

    Is there any worst case Clock Cycle COUNT  values available for the following API functions so that I can decide to service Watchdog appropriately?

    Fapi_issueAsyncCommandWithAddress() and Fapi_issueProgrammingCommand()

    Thank you.

    Regards

    Pashan

     

  • Hello Pashan,

    Not at this time and is currently not a planned activity.

  • Hi John,

    I need to service my 10ms watchdog whilst a flash erase via Fapi_issueAsyncCommandWithAddress(FAPI_ERASE_SECTOR_E, nStartAddress) is in progress. I think from your earlier posts in this thread that Fapi_serviceWatchdogTimer() would not be called. This appears evident from my own investigations as well. The erase locks out my code for some 15ms.

    Am I correct?

    I feel that this lack of callback on such operations is a flaw in design, is it something that others have commented on?

    Regards, Tony

  • Hi Tony,

    This function is extremely small (all combined about 20 C lines of code with no loops) and exits as soon as the erase operation has been started.  It does not stay in this function for the entire erase cycle.  If this function is taking that long, I think something else is going on in your code.  If you try erasing a sector (or a program operation for that matter) in the same bank you are executing code from or attempt to read from the bank that the sector is being read in, you will stall the CPU until the Flash operation is complete.

    In the next release of the API, there will be an additional application note that will show how to write your own optimized programming and erase functions.

  • Hello John,

    when do you plan to release the next flash API?

    Thanks in advance

    , cheers Jiri

  • The installer of the latest beta build of the F021 Flash API v2.0.0 is included in the HALCoGen v3.05.00 installer.  The installer for the beta API installs a draft copy of the Advanced F021 Flash API Erase/Program Usage app note (SPNA148).

    The actual release of the API is currently targeted for the end of May. It will then be available with the HALCoGen version released after the API release.  Starting with the v2.0.0 of the F021 Flash API, distribution of the API will no longer be as a separate download and will only be included with HALCoGen.