/* Programs a word at a specified address in data memory without erase.  */
FLASH_Status DATA_EEPROM_ProgramWord(uint32_t Address, uint32_t Data)
/* Programs a word at a specified address in data memory without erase.  */
FLASH_Status DATA_EEPROM_ProgramWord(uint32_t Address, uint32_t Data)
{
  FLASH_Status status = FLASH_COMPLETE;
  assert_param(IS_FLASH_DATA_ADDRESS(Address));
  status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
  if(status == FLASH_COMPLETE)
  {
    *(__IO uint32_t *)Address = Data;
    status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
  }
  return status;
}