AVR SD Safety Framework 1.0.0
Loading...
Searching...
No Matches
midware_memory_manager.h File Reference

Contains API prototypes for the Memory Manager. More...

#include <stdbool.h>
#include <stdint.h>
#include <define_error_flags.h>
#include <xc.h>

Enumerations

enum  persistentFlag_t
 Enum for persistent flags used to store data between non-POR/BOR device resets. More...
enum  persistentVal_t
 Enum for persistent values used to store data between non-POR/BOR device resets. More...
enum  eccAllOnes_t
 Type defines for available "ECC all ones" (ECCALL1) options. More...

Functions

errFlag_t MW_GetClearBusError (void)
 Reads and clears the flag indicating an error in the Bus Matrix.
errFlag_t MW_GetClearCpuDataParityError (void)
 Reads and clears the flag indicating a data bus parity error in the CPU.
errFlag_t MW_GetClearCpuInstrParityError (void)
 Reads and clears the flag indicating an instruction bus parity error in the CPU.
errFlag_t MW_GetClearCpuOpcodeError (void)
 Reads and clears the flag indicating an illegal opcode error in the CPU.
errFlag_t MW_GetClearRamStackError (void)
 Reads and clears the flag indicating a stack pointer limit error in SRAM.
errFlag_t MW_GetClearRamEccCompError (void)
 Reads and clears the flag indicating an ECC comparator error in the RAM controller.
errFlag_t MW_GetClearRamEcc1Error (void)
 Reads and clears the flag indicating an ECC single-bit error in SRAM.
errFlag_t MW_GetClearRamEcc2Error (void)
 Reads and clears the flag indicating an ECC multi-bit error in SRAM.
errFlag_t MW_GetClearRamParityError (void)
 Reads and clears the flag indicating a bus parity error detected in the RAM controller.
errFlag_t MW_GetClearNvmEccCompError (void)
 Reads and clears the flag indicating an ECC comparator error in the NVM controller.
errFlag_t MW_GetClearNvmFlashEcc1Error (void)
 Reads and clears the flag indicating an ECC single-bit error in Flash.
errFlag_t MW_GetClearNvmFlashEcc2Error (void)
 Reads and clears the flag indicating an ECC multi-bit error in Flash.
errFlag_t MW_GetClearNvmParityError (void)
 Reads and clears the flag indicating a bus parity error detected in the NVM controller.
errFlag_t MW_GetClearNvmEepromEcc1Error (void)
 Reads and clears the flag indicating an ECC single-bit error in EEPROM.
errFlag_t MW_GetClearNvmEepromEcc2Error (void)
 Reads and clears the flag indicating an ECC multi-bit error in EEPROM.
errFlag_t MW_SetNvmEccAllOnes (eccAllOnes_t config)
 Sets ECC all Ones (ECCALL1) scheme.
errFlag_t MW_SetRamStackLimit (uint16_t splimAddr, bool lockEnable)
 Sets the Stack Pointer Limit value and optionally locks the value to prevent modification.
void MW_StorePersistentFlag (persistentFlag_t flagType, bool flag)
 Stores two redundant boolean flags in General Purpose Registers (GPR) for preserving data between resets.
void MW_StorePersistentVal (persistentVal_t valueType, uint8_t value)
 Stores a value in General Purpose Registers (GPR) for preserving data between resets.
bool MW_GetPersistentFlag (persistentFlag_t flagType)
 Reads two redundant bits for each boolean flags in General Purpose Registers (GPR) that is stored for preserving data between resets.
uint8_t MW_GetPersistentVal (persistentVal_t valueType)
 Reads a value in General Purpose Registers (GPR) that is stored for preserving data between resets.
bool MW_IsPersistentFlagsCorrupt (void)
 Compares two redundant bits for each boolean flags in General Purpose Registers (GPR) and checks if any of the flags are corrupted.
bool MW_IsPersistentValsCorrupt (void)
 Checks if any of the stored persistent values are corrupted.
void MW_ClearPersistentFlags (void)
 Clears all stored persistent flags in GPR.
void MW_ClearPersistentVals (void)
 Clears all stored persistent values in GPR.

Detailed Description

Contains API prototypes for the Memory Manager.

Version
1.0.0

The Memory Manager provides services to Tasks to ensure correct interaction with features of the RAMCTRL, NVMCTRL, CPU and GPR peripherals.