static __pdata uint8_t ao_flash_block_dirty;
static __pdata uint8_t ao_flash_write_pending;
static __pdata uint8_t ao_flash_setup_done;
-static __data uint8_t ao_flash_block_shift;
-static __data uint16_t ao_flash_block_size;
-static __data uint16_t ao_flash_block_mask;
+static __pdata uint8_t ao_flash_block_shift;
+static __pdata uint16_t ao_flash_block_size;
+static __pdata uint16_t ao_flash_block_mask;
void
-ao_storage_setup(void)
+ao_storage_setup(void) __reentrant
{
uint8_t status;
uint8_t
ao_storage_erase(uint32_t pos) __reentrant
{
- uint16_t block = (uint16_t) (pos >> ao_flash_block_shift);
-
ao_mutex_get(&ao_flash_mutex); {
- ao_flash_fill(block);
+ ao_flash_flush_internal();
+ ao_flash_block = (uint16_t) (pos >> ao_flash_block_shift);
memset(ao_flash_data, 0xff, ao_flash_block_size);
ao_flash_block_dirty = 1;
} ao_mutex_put(&ao_flash_mutex);