void find_prepare_sector(unsigned cclk, unsigned dst)
{
  unsigned i;

  __disable_irq();

  for(i = USER_START_SECTOR; i <= MAX_USER_SECTOR; i++)
  {
    if(dst < sector_end_map[i])
    {
      if(dst == sector_start_map[i])
      {
        prepare_sector(i, i, cclk);
      }
      prepare_sector(i , i, cclk);
      break;
    }
  }

  __enable_irq();
  if(result_table[0] != CMD_SUCCESS)
      {
          serial_writestr("Error: preparing to write data\n");
      }

}
Esempio n. 2
0
void erase_user_flash(void)
{
  prepare_sector(USER_START_SECTOR,MAX_USER_SECTOR,SystemCoreClock/1000);
  erase_sector(USER_START_SECTOR,MAX_USER_SECTOR,SystemCoreClock/1000);
  if(result_table[0] != CMD_SUCCESS)
  {
    while(1); /* No way to recover. Just let OS report a write failure */
  }
}
void erase_user_flash(void)
{
  prepare_sector(USER_START_SECTOR,MAX_USER_SECTOR,SystemCoreClock/1000);
  erase_sector(USER_START_SECTOR,MAX_USER_SECTOR,SystemCoreClock/1000);
  if(result_table[0] != CMD_SUCCESS)
  {
      serial_writestr("Error: erasing data\n");
  }
}
Esempio n. 4
0
void find_erase_prepare_sector(unsigned cclk, unsigned dst)
{
  unsigned i;

  __disable_irq();
  for(i = USER_START_SECTOR; i <= MAX_USER_SECTOR; i++)
  {
    if(dst < sector_end_map[i])
    {
      if(dst == sector_start_map[i])
      {
        prepare_sector(i, i, cclk);
        erase_sector(i, i, cclk);
      }
      prepare_sector(i , i, cclk);
      break;
    }
  }
  __enable_irq();
}