flash新增写入时的是否擦除当前页的判断 防止用户因使用不规范导致flash使用报错
This commit is contained in:
SEEKFREE_BUDING
2023-07-17 15:34:52 +08:00
parent c7397e98a9
commit d33dadb382
80 changed files with 310 additions and 181 deletions

View File

@@ -1,3 +1,5 @@
V3.2.1
flash<73><68><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ʱ<EFBFBD><CAB1><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰҳ<C7B0><D2B3><EFBFBD>ж<EFBFBD> <20><>ֹ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʹ<EFBFBD>ò<EFBFBD><C3B2><EFBFBD><E6B7B6><EFBFBD><EFBFBD>flashʹ<68>ñ<EFBFBD><C3B1><EFBFBD>
V3.2.0
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>

View File

@@ -31,6 +31,8 @@
* <20>޸ļ<DEB8>¼
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
* 2022-09-15 pudding first version
* 2023-07-14 pudding <20>޸<EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* 2023-07-15 pudding д<><D0B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD>ֹ<EFBFBD>û<EFBFBD>ʹ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
********************************************************************************************************************/
#include "IfxScuWdt.h"
@@ -41,6 +43,7 @@
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
static uint8 flash_erase_page_flag; // FLASH <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>־λ <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4> <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -86,6 +89,8 @@ void flash_erase_page (uint32 sector_num, uint32 page_num)
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
flash_erase_page_flag = 1;
}
//-------------------------------------------------------------------------------------------------------------------
@@ -131,6 +136,11 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
uint32 data_cont = 0;
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
if(flash_erase_page_flag == 0 && flash_check(sector_num, page_num))
{
flash_erase_page(sector_num, page_num);
}
for(data_cont = 0; data_cont < len; data_cont ++)
{
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
@@ -147,6 +157,8 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
}
flash_erase_page_flag = 0;
}
//-------------------------------------------------------------------------------------------------------------------
@@ -182,8 +194,6 @@ uint8 flash_write_page_from_buffer (uint32 sector_num, uint32 page_num)
{
uint32 *data_pointer = (uint32 *)flash_union_buffer;
zf_assert(EEPROM_PAGE_NUM > page_num);
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
return 0;

View File

@@ -31,6 +31,7 @@
* <20>޸ļ<DEB8>¼
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
* 2022-09-15 pudding first version
* 2023-07-14 pudding <20>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
********************************************************************************************************************/
#ifndef _zf_driver_flash_h_