Files @ 8f7cba39fbe7
Branch filter:

Location: therm/eeprom_min.c - annotation

Ethan Zonca
Added notes about jumping to user program, etc. Need to check boot flags to match F042 processor (example was f1).
#include <inttypes.h>

/*
void Minimal_EEPROM_Unlock(void)
{
  if((FLASH->PECR & FLASH_PECR_PELOCK) != RESET)
  {
    // Unlocking the Data memory and FLASH_PECR register access
    FLASH->PEKEYR = FLASH_PEKEY1;
    FLASH->PEKEYR = FLASH_PEKEY2;
  }
}

void Minimal_EEPROM_Lock(void)
{

  // Set the PELOCK Bit to lock the data memory and FLASH_PECR register access 
  FLASH->PECR |= FLASH_PECR_PELOCK;
}

FLASH_Status Minimal_FLASH_GetStatus(void)
{
  FLASH_Status FLASHstatus = FLASH_COMPLETE;

  if((FLASH->SR & FLASH_FLAG_BSY) == FLASH_FLAG_BSY)
  {
    FLASHstatus = FLASH_BUSY;
  }
  else
  {
    if((FLASH->SR & (uint32_t)FLASH_FLAG_WRPERR)!= (uint32_t)0x00)
    {
      FLASHstatus = FLASH_ERROR_WRP;
    }
    else
    {
      if((FLASH->SR & (uint32_t)0x1E00) != (uint32_t)0x00)
      {
        FLASHstatus = FLASH_ERROR_PROGRAM;
      }
      else
      {
        FLASHstatus = FLASH_COMPLETE;
      }
    }
  }
  // Return the FLASH Status 
  return FLASHstatus;
}

FLASH_Status Minimal_FLASH_WaitForLastOperation(uint32_t Timeout)
{
  __IO FLASH_Status status = FLASH_COMPLETE;

  // Check for the FLASH Status 
  status = Minimal_FLASH_GetStatus();

  // Wait for a FLASH operation to complete or a TIMEOUT to occur 
  while((status == FLASH_BUSY) && (Timeout != 0x00))
  {
    status = Minimal_FLASH_GetStatus();
    Timeout--;
  }

  if(Timeout == 0x00 )
  {
    status = FLASH_TIMEOUT;
  }
  // Return the operation status 
  return status;
}


void Minimal_EEPROM_ProgramWord(uint32_t Address, uint32_t Data)
{
  // Wait for last operation to be completed 
  FLASH_Status status = FLASH_COMPLETE;
  status = Minimal_FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);

  if(status == FLASH_COMPLETE)
  {
    *(__IO uint32_t *)Address = Data;

    // Wait for last operation to be completed 
    status = Minimal_FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
  }
  // Return the Write Status 
  return status;
}
*/