You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Currently implementation of critical data store (CDS) includes a CFE_ES_ClearCDS function that writes uint32[4] chucks to CDS in a loop to cover the entire area. This could be very inefficient and possibly use up write cycles on the hardware, vs allowing the PSP to implement a more hardware specific clear.
/* While there is space to write another block of zeros, then do so */
while (CDS->Cache.Offset<CDS->TotalSize)
{
RemainSize=CDS->TotalSize-CDS->Cache.Offset;
if (RemainSize<sizeof(CDS->Cache.Data.Zero))
{
/* partial size */
CDS->Cache.Size=RemainSize;
}
Status=CFE_ES_CDS_CacheFlush(&CDS->Cache);
if (Status!=CFE_SUCCESS)
{
break;
}
CDS->Cache.Offset+=CDS->Cache.Size;
}
Describe the solution you'd like
Design/implementation review and update of the CDS interface (especially the cache), maybe the PSP should report/provide the appropriate cache size for efficient reading/writing.
Describe alternatives you've considered
Might be less an issue and more just performance wrt modern storage, but EEPROM or similar would suffer using current scheme.
Additional context
From code review follow on discussions.
Requester Info
Jacob Hageman - NASA/GSFC
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
Currently implementation of critical data store (CDS) includes a CFE_ES_ClearCDS function that writes uint32[4] chucks to CDS in a loop to cover the entire area. This could be very inefficient and possibly use up write cycles on the hardware, vs allowing the PSP to implement a more hardware specific clear.
cFE/modules/es/fsw/src/cfe_es_cds.c
Lines 534 to 552 in e80aae9
Describe the solution you'd like
Design/implementation review and update of the CDS interface (especially the cache), maybe the PSP should report/provide the appropriate cache size for efficient reading/writing.
Describe alternatives you've considered
Might be less an issue and more just performance wrt modern storage, but EEPROM or similar would suffer using current scheme.
Additional context
From code review follow on discussions.
Requester Info
Jacob Hageman - NASA/GSFC
The text was updated successfully, but these errors were encountered: