Beispiel #1
0
bool Flash_ErasePage(uint32_t address) {
  PLIB_NVM_FlashAddressToModify(NVM_ID_0, KVA_TO_PA(address));
  PerformOperation(PAGE_ERASE_OPERATION);

  while (!PLIB_NVM_FlashWriteCycleHasCompleted(NVM_ID_0)) {
    {}
  }

  return !PLIB_NVM_WriteOperationHasTerminated(NVM_ID_0);
}
Beispiel #2
0
bool Flash_WriteWord(uint32_t address, uint32_t data) {
  PLIB_NVM_FlashAddressToModify(NVM_ID_0, KVA_TO_PA(address));
  PLIB_NVM_FlashProvideData(NVM_ID_0, data);
  PerformOperation(WORD_PROGRAM_OPERATION);

  while (!PLIB_NVM_FlashWriteCycleHasCompleted(NVM_ID_0)) {
    {}
  }

  return !PLIB_NVM_WriteOperationHasTerminated(NVM_ID_0);
}
/*
  Function:
    void APP_NVMIsWriteOPerationTerminated (void)

  Summary:
     Checks whether there was a write termination error
 */
bool APP_NVMIsWriteOPerationTerminated(void)
{
    return PLIB_NVM_WriteOperationHasTerminated(NVM_ID_0);
}