From 074abd2a51f5163745c4d7d33d408e8597cae267 Mon Sep 17 00:00:00 2001 From: Avi Date: Sun, 23 Oct 2022 21:51:15 +1000 Subject: [PATCH] Fix #21, Add MM_SegmentBreak to MM_FillMem() --- fsw/inc/mm_events.h | 4 ++-- fsw/src/mm_app.h | 4 ++-- fsw/src/mm_load.c | 6 ++++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/fsw/inc/mm_events.h b/fsw/inc/mm_events.h index 8f885dd..ed3e16f 100644 --- a/fsw/inc/mm_events.h +++ b/fsw/inc/mm_events.h @@ -19,7 +19,7 @@ /** * @file - * Specification for the CFS Memory Manger event identifers. + * Specification for the CFS Memory Manger event identifiers. */ #ifndef MM_EVENTS_H #define MM_EVENTS_H @@ -560,7 +560,7 @@ * * \par Cause: * - * This event message is issued when an symbol lookup command has been + * This event message is issued when a symbol lookup command has been * successfully executed. */ #define MM_SYM_LOOKUP_INF_EID 45 diff --git a/fsw/src/mm_app.h b/fsw/src/mm_app.h index 01d52f3..d156bff 100644 --- a/fsw/src/mm_app.h +++ b/fsw/src/mm_app.h @@ -213,7 +213,7 @@ bool MM_SymTblToFileCmd(const CFE_SB_Buffer_t *msg); * \brief Write-enable EEPROM command * * \par Description - * Processes a EEPROM write enable ground command which calls + * Processes an EEPROM write enable ground command which calls * the #CFE_PSP_EepromWriteEnable cFE function using the specified * bank number. * @@ -230,7 +230,7 @@ bool MM_EepromWriteEnaCmd(const CFE_SB_Buffer_t *msg); * \brief Write-disable EEPROM command * * \par Description - * Processes a EEPROM write disable ground command which calls + * Processes an EEPROM write disable ground command which calls * the #CFE_PSP_EepromWriteDisable cFE function using the specified * bank number. * diff --git a/fsw/src/mm_load.c b/fsw/src/mm_load.c index c667d1a..7aab68d 100644 --- a/fsw/src/mm_load.c +++ b/fsw/src/mm_load.c @@ -829,6 +829,12 @@ bool MM_FillMem(cpuaddr DestAddress, const MM_FillMemCmd_t *CmdPtr) TargetPointer += SegmentSize; BytesProcessed += SegmentSize; BytesRemaining -= SegmentSize; + + /* Prevent CPU hogging between load segments */ + if (BytesRemaining != 0) + { + MM_SegmentBreak(); + } } /* Stop EEPROM performance monitor */