Пример #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);
}
Пример #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:
    bool APP_NVMIsWriteCompleted (void)

  Summary:
     Returns the write status.
 */
bool APP_NVMIsWriteCompleted(void)
{
    return PLIB_NVM_FlashWriteCycleHasCompleted(NVM_ID_0);

}