fr8008操作内部flash,flash_erase和flash_write执行后,数据没有改变?
-
fr8008操作内部flash,flash_erase和flash_write执行后,数据没有改变?,是要在执行函数前需要有什么要求吗?
//--------bsp flash init--------------
//-------------------------------
static void bsp_flash_init(void){
/* init QSPI0 CLOCK /
/ qspi is used for internal flash, set its reference clock to 48MHz*/
__SYSTEM_QSPI_CLK_SELECT_48M();
/* enable flash, Write Status Register command use 0x01*/
system_enable_internal_flash_q_read(0x01);
/*
set internal flash clock divider and mode
0=/2; 1=/4; 2=/6; 3=/8; 4=/10; 5=/12; 6=/14; 7=/16; 8=/18
/
printf("SINGLE mode Read and Writer\r\n");
flash_init_controller(FLASH_RD_TYPE_SINGLE,FLASH_WR_TYPE_SINGLE);
system_set_internal_flash_clock_div(0);
co_printf("---flash id:0x%X\r\n", flash_read_id());
}
void fr8008_flash_read(uint32_t addr, uint8_t buf, uint32_t size)
{
flash_read(addr, size, buf);
}
void fr8008_flash_write(uint32_t addr, uint8_t* buf, uint32_t size)
{
flash_write(addr, size, buf);
}
void fr8008_flash_erase(uint32_t addr, uint32_t num)
{
flash_erase(addr,1024*num);
}