Commit 69394295 authored by 李冠华's avatar 李冠华

🐞 fix:修改当数据索引重新回到0xFFFF并向下累计后,首次上电初始化时找到的最新数据位置错误的问题

parent 06d21659
{ {
"files.associations": { "files.associations": {
"py32f0xx_hal.h": "c", "py32f0xx_hal.h": "c",
"nvs_test.h": "c" "nvs_test.h": "c",
"stdio.h": "c"
} }
} }
\ No newline at end of file
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\Project\BrowseInfo\PY32F072_HAL_Driver_13276881132468293653.dir\py32f072_hal_can.pbi: \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Drivers\PY32F072_HAL_Driver\Src\py32f072_hal_can.c \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f0xx_hal.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\Inc\py32f072_hal_conf.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_rcc.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_def.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Device\PY32F072\Include\py32f0xx.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Device\PY32F072\Include\py32f072xB.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Include\core_cm0plus.h \
D:\IAR9_40_1\arm\inc\c\stdint.h D:\IAR9_40_1\arm\inc\c\ycheck.h \
D:\IAR9_40_1\arm\inc\c\yvals.h D:\IAR9_40_1\arm\inc\c\DLib_Defaults.h \
D:\IAR9_40_1\arm\inc\c\DLib_Config_Normal.h \
D:\IAR9_40_1\arm\inc\c\DLib_Product.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Include\cmsis_version.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Include\cmsis_compiler.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Include\cmsis_iccarm.h \
D:\IAR9_40_1\arm\inc\c\aarch32\iccarm_builtin.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Device\PY32F072\Include\system_py32f0xx.h \
D:\IAR9_40_1\arm\inc\c\stdio.h D:\IAR9_40_1\arm\inc\c\ysizet.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f0xx_hal.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_rcc_ex.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_gpio.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_gpio_ex.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_cortex.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_dma.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_dma_ex.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_flash.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_pwr.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_uart.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_can.h
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\Project\BrowseInfo\User_7280784329937237312.dir\Can_User.pbi: \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\Src\Can_User.c \
D:\IAR9_40_1\arm\inc\c\stdio.h D:\IAR9_40_1\arm\inc\c\ycheck.h \
D:\IAR9_40_1\arm\inc\c\yvals.h D:\IAR9_40_1\arm\inc\c\DLib_Defaults.h \
D:\IAR9_40_1\arm\inc\c\DLib_Config_Normal.h \
D:\IAR9_40_1\arm\inc\c\DLib_Product.h D:\IAR9_40_1\arm\inc\c\ysizet.h \
D:\IAR9_40_1\arm\inc\c\time.h D:\IAR9_40_1\arm\inc\c\time64.h \
D:\IAR9_40_1\arm\inc\c\stdlib.h \
D:\IAR9_40_1\arm\inc\c\DLib_Product_stdlib.h \
D:\IAR9_40_1\arm\inc\c\stdint.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\Src\Can_User.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f0xx_hal.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\Inc\py32f072_hal_conf.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_rcc.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_def.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Device\PY32F072\Include\py32f0xx.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Device\PY32F072\Include\py32f072xB.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Include\core_cm0plus.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Include\cmsis_version.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Include\cmsis_compiler.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Include\cmsis_iccarm.h \
D:\IAR9_40_1\arm\inc\c\aarch32\iccarm_builtin.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Device\PY32F072\Include\system_py32f0xx.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f0xx_hal.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_rcc_ex.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_gpio.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_gpio_ex.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_cortex.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_dma.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_dma_ex.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_flash.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_pwr.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_uart.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_can.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_tim.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_tim_ex.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\Src\NVS_Test.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\Src\Flash_test.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\Src\Emulated_EEPROM.h
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\Project\BrowseInfo\PY32F072_HAL_Driver_13276881132468293653.dir\py32f072_hal.pbi: \ D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\Project\BrowseInfo\User_7280784329937237312.dir\Emulated_EEPROM.pbi: \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Drivers\PY32F072_HAL_Driver\Src\py32f072_hal.c \ D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\Src\Emulated_EEPROM.c \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\Src\Emulated_EEPROM.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\Src\Flash_test.h \
D:\IAR9_40_1\arm\inc\c\stdint.h D:\IAR9_40_1\arm\inc\c\ycheck.h \
D:\IAR9_40_1\arm\inc\c\yvals.h D:\IAR9_40_1\arm\inc\c\DLib_Defaults.h \
D:\IAR9_40_1\arm\inc\c\DLib_Config_Normal.h \
D:\IAR9_40_1\arm\inc\c\DLib_Product.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f0xx_hal.h \ D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f0xx_hal.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\Inc\py32f072_hal_conf.h \ D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\Inc\py32f072_hal_conf.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_rcc.h \ D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_rcc.h \
...@@ -7,10 +13,6 @@ D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FL ...@@ -7,10 +13,6 @@ D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FL
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Device\PY32F072\Include\py32f0xx.h \ D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Device\PY32F072\Include\py32f0xx.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Device\PY32F072\Include\py32f072xB.h \ D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Device\PY32F072\Include\py32f072xB.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Include\core_cm0plus.h \ D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Include\core_cm0plus.h \
D:\IAR9_40_1\arm\inc\c\stdint.h D:\IAR9_40_1\arm\inc\c\ycheck.h \
D:\IAR9_40_1\arm\inc\c\yvals.h D:\IAR9_40_1\arm\inc\c\DLib_Defaults.h \
D:\IAR9_40_1\arm\inc\c\DLib_Config_Normal.h \
D:\IAR9_40_1\arm\inc\c\DLib_Product.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Include\cmsis_version.h \ D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Include\cmsis_version.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Include\cmsis_compiler.h \ D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Include\cmsis_compiler.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Include\cmsis_iccarm.h \ D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\CMSIS\Include\cmsis_iccarm.h \
...@@ -27,4 +29,5 @@ D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FL ...@@ -27,4 +29,5 @@ D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FL
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_flash.h \ D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_flash.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_pwr.h \ D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_pwr.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_uart.h \ D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_uart.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_can.h D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\..\..\..\..\..\..\Drivers\PY32F072_HAL_Driver\Inc\py32f072_hal_can.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\Src\Emulated_EEPROM_Access.h
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\EWARM\Project\BrowseInfo\User_7280784329937237312.dir\Emulated_EEPROM_Access.pbi: \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\Src\Emulated_EEPROM_Access.c \
D:\IAR9_40_1\arm\inc\c\stddef.h D:\IAR9_40_1\arm\inc\c\ycheck.h \
D:\IAR9_40_1\arm\inc\c\yvals.h D:\IAR9_40_1\arm\inc\c\DLib_Defaults.h \
D:\IAR9_40_1\arm\inc\c\DLib_Config_Normal.h \
D:\IAR9_40_1\arm\inc\c\DLib_Product.h D:\IAR9_40_1\arm\inc\c\ysizet.h \
D:\IAR9_40_1\arm\inc\c\stdint.h \
D:\code\py32f072\PY32F072_Firmware_V1.0.5\Projects\PY32F072-STK\Example\FLASH\FLASH_PageEraseAndWrite\Src\Emulated_EEPROM_Access.h
...@@ -21,11 +21,11 @@ ...@@ -21,11 +21,11 @@
<MultiCoreRunAll>0</MultiCoreRunAll> <MultiCoreRunAll>0</MultiCoreRunAll>
</Jet> </Jet>
<ArmDriver> <ArmDriver>
<EnforceMemoryConfiguration>1</EnforceMemoryConfiguration>
<EnableCache>1</EnableCache> <EnableCache>1</EnableCache>
<EnforceMemoryConfiguration>1</EnforceMemoryConfiguration>
</ArmDriver> </ArmDriver>
<DebugChecksum> <DebugChecksum>
<Checksum>2602606696</Checksum> <Checksum>1219575242</Checksum>
</DebugChecksum> </DebugChecksum>
<Exceptions> <Exceptions>
<StopOnUncaught>_ 0</StopOnUncaught> <StopOnUncaught>_ 0</StopOnUncaught>
...@@ -43,14 +43,25 @@ ...@@ -43,14 +43,25 @@
<ShowArgs>0</ShowArgs> <ShowArgs>0</ShowArgs>
</CallStack> </CallStack>
<JLinkDriver> <JLinkDriver>
<LeaveTargetRunning>_ 0</LeaveTargetRunning>
<CStepIntDis>_ 0</CStepIntDis>
<jlinkResetStyle>12</jlinkResetStyle>
<jlinkResetStrategy>0</jlinkResetStrategy>
<TraceBufferSize>0x10000</TraceBufferSize> <TraceBufferSize>0x10000</TraceBufferSize>
<TraceStallIfFIFOFull>0x0</TraceStallIfFIFOFull> <TraceStallIfFIFOFull>0x0</TraceStallIfFIFOFull>
<TracePortSize>0x0</TracePortSize> <TracePortSize>0x0</TracePortSize>
<jlinkResetStyle>12</jlinkResetStyle>
<jlinkResetStrategy>0</jlinkResetStrategy>
<LeaveTargetRunning>_ 0</LeaveTargetRunning>
<CStepIntDis>_ 0</CStepIntDis>
</JLinkDriver> </JLinkDriver>
<array_types>
<Fmt0>uint32_t[1] 4 0</Fmt0>
</array_types>
<watch_formats>
<Fmt0>{W}1:ceshifansuoyin 4 0</Fmt0>
<Fmt1>{W}1:ceshizhengsuoyin 4 0</Fmt1>
<Fmt2>{W}1:g_pstEEPROMBlock[0].u8SectorOffset 4 0</Fmt2>
<Fmt3>{W}1:u16MaxRecordNum[0] 4 0</Fmt3>
<Fmt4>{W}1:u32Data[0] 4 0</Fmt4>
<Fmt5>{W}1:u32Data[63] 4 0</Fmt5>
</watch_formats>
<Trace2> <Trace2>
<Enabled>0</Enabled> <Enabled>0</Enabled>
<ShowSource>0</ShowSource> <ShowSource>0</ShowSource>
...@@ -69,7 +80,8 @@ ...@@ -69,7 +80,8 @@
<mode>0</mode> <mode>0</mode>
</DisassembleMode> </DisassembleMode>
<Breakpoints2> <Breakpoints2>
<Count>0</Count> <Bp0>_ 1 "EMUL_CODE" "{$PROJ_DIR$\..\Src\Flash_test.c}.46.5" 0 0 1 "" 0 "" 0</Bp0>
<Count>1</Count>
</Breakpoints2> </Breakpoints2>
<Aliases> <Aliases>
<Count>0</Count> <Count>0</Count>
......
...@@ -321,8 +321,9 @@ void EEPROM_Access_Init(const EEPROM_Block_st_t * pstBlockTable, ...@@ -321,8 +321,9 @@ void EEPROM_Access_Init(const EEPROM_Block_st_t * pstBlockTable,
while (u8Loop) while (u8Loop)
{ {
u16RecordNum++; /*防止不同的编译器在执行0xFFFF的自增时会出问题*/
u16Index++; (u16RecordNum == 0xFFFF) ? (u16RecordNum = 0U) : (u16RecordNum++);
(u16Index == 0xFFFF) ? (u16Index = 0U) : (u16Index++);
/*如果记录位置大于当前扇区的最大记录数,或者*/ /*如果记录位置大于当前扇区的最大记录数,或者*/
if ((u16RecordNum >= u16MaxRecordNum[g_pstEEPROMBlock[i].u8SectorOffset]) || \ if ((u16RecordNum >= u16MaxRecordNum[g_pstEEPROMBlock[i].u8SectorOffset]) || \
(u16RecordNum - g_pstEEPROMBlock[i].u16RecordNum >= EEPROM_OVER_SEARCH_RECORD_NUM)) (u16RecordNum - g_pstEEPROMBlock[i].u16RecordNum >= EEPROM_OVER_SEARCH_RECORD_NUM))
...@@ -342,6 +343,11 @@ void EEPROM_Access_Init(const EEPROM_Block_st_t * pstBlockTable, ...@@ -342,6 +343,11 @@ void EEPROM_Access_Init(const EEPROM_Block_st_t * pstBlockTable,
g_pstEEPROMBlock[i].u16RecordNum = u16RecordNum; g_pstEEPROMBlock[i].u16RecordNum = u16RecordNum;
g_pstEEPROMBlock[i].u16Index = unCtrlData.stField.u16Index; g_pstEEPROMBlock[i].u16Index = unCtrlData.stField.u16Index;
} }
else if ((unCtrlData.stField.u16Index == u16Index) && (g_pstEEPROMBlock[i].u16Index == 0xFFFFU) && (unCtrlData.stField.u16Index == 0x0))
{
g_pstEEPROMBlock[i].u16RecordNum = u16RecordNum;
g_pstEEPROMBlock[i].u16Index = unCtrlData.stField.u16Index;
}
} }
} }
} }
......
#include <string.h>
#include "Flash_test.h" #include "Flash_test.h"
// #include "main.h" // #include "main.h"
...@@ -156,7 +157,7 @@ void Data_Create_Service(void) ...@@ -156,7 +157,7 @@ void Data_Create_Service(void)
uint32_t addr = 0; uint32_t addr = 0;
uint32_t addroffset = 0U; uint32_t addroffset = 0U;
uint8_t blankFlag = 0U; uint8_t blankFlag = 0U;
uint32_t u32Addr = 0xFFFFFFFFU; // uint32_t u32Addr = 0xFFFFFFFFU;
uint32_t Count = (u32EndAddr - u32StartAddr + 1) / 4; uint32_t Count = (u32EndAddr - u32StartAddr + 1) / 4;
......
...@@ -60,10 +60,10 @@ const uint32_t DATA[128] = ...@@ -60,10 +60,10 @@ const uint32_t DATA[128] =
/* Private macro -------------------------------------------------------------*/ /* Private macro -------------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/ /* Private function prototypes -----------------------------------------------*/
static void APP_SystemClockConfig(void); static void APP_SystemClockConfig(void);
static void APP_FlashErase(void); // static void APP_FlashErase(void);
static void APP_FlashProgram(void); // static void APP_FlashProgram(void);
static void APP_FlashBlank(void); // static void APP_FlashBlank(void);
static void APP_FlashVerify(void); // static void APP_FlashVerify(void);
/** /**
* @brief Main program. * @brief Main program.
...@@ -108,13 +108,13 @@ int main(void) ...@@ -108,13 +108,13 @@ int main(void)
// APP_FlashErase(); // APP_FlashErase();
uint32_t zheshisha = 0; // uint32_t zheshisha = 0;
uint32_t addr = 0; // uint32_t addr = 0;
static uint32_t koko[8] = {0}; // static uint32_t koko[8] = {0};
static uint32_t laji[8] = // static uint32_t laji[8] =
{ // {
0x11111111, 0x22222222, 0x33333333, 0x44444444, 0x55555555, 0x66666666, 0x77777777, 0x88888888 // 0x11111111, 0x22222222, 0x33333333, 0x44444444, 0x55555555, 0x66666666, 0x77777777, 0x88888888
}; // };
// for (uint8_t j = 0; j < 4; j++) // for (uint8_t j = 0; j < 4; j++)
// { // {
...@@ -259,83 +259,83 @@ static void APP_SystemClockConfig(void) ...@@ -259,83 +259,83 @@ static void APP_SystemClockConfig(void)
* @param None * @param None
* @retval None * @retval None
*/ */
static void APP_FlashErase(void) // static void APP_FlashErase(void)
{ // {
uint32_t PAGEError = 0; // uint32_t PAGEError = 0;
uint32_t jojojo = 0U; // uint32_t jojojo = 0U;
FLASH_EraseInitTypeDef EraseInitStruct = {0}; // FLASH_EraseInitTypeDef EraseInitStruct = {0};
EraseInitStruct.TypeErase = FLASH_TYPEERASE_PAGEERASE; /* Erase type FLASH_TYPEERASE_PAGEERASE=Page erase, FLASH_TYPEERASE_SECTORERASE=Sector Erase */ // EraseInitStruct.TypeErase = FLASH_TYPEERASE_PAGEERASE; /* Erase type FLASH_TYPEERASE_PAGEERASE=Page erase, FLASH_TYPEERASE_SECTORERASE=Sector Erase */
EraseInitStruct.PageAddress = FLASH_USER_START_ADDR; /* Erase Start Address */ // EraseInitStruct.PageAddress = FLASH_USER_START_ADDR; /* Erase Start Address */
EraseInitStruct.NbPages = sizeof(DATA) / FLASH_PAGE_SIZE; /* Number of pages that need to be erased */ // EraseInitStruct.NbPages = sizeof(DATA) / FLASH_PAGE_SIZE; /* Number of pages that need to be erased */
jojojo = sizeof(DATA) / FLASH_PAGE_SIZE; // jojojo = sizeof(DATA) / FLASH_PAGE_SIZE;
printf("sizeof(DATA) / FLASH_PAGE_SIZE为:%x\n\r",jojojo); // printf("sizeof(DATA) / FLASH_PAGE_SIZE为:%x\n\r",jojojo);
if (HAL_FLASHEx_Erase(&EraseInitStruct, &PAGEError) != HAL_OK) /* Executing page erasure, PAGEError returns the page with the erasure error and 0xFFFFFFFF, indicating successful erasure */ // if (HAL_FLASHEx_Erase(&EraseInitStruct, &PAGEError) != HAL_OK) /* Executing page erasure, PAGEError returns the page with the erasure error and 0xFFFFFFFF, indicating successful erasure */
{ // {
APP_ErrorHandler(); // APP_ErrorHandler();
} // }
} // }
/** /**
* @brief Flash Program * @brief Flash Program
* @param None * @param None
* @retval None * @retval None
*/ */
static void APP_FlashProgram(void) // static void APP_FlashProgram(void)
{ // {
uint32_t flash_program_start = FLASH_USER_START_ADDR ; /* flash program start address */ // uint32_t flash_program_start = FLASH_USER_START_ADDR ; /* flash program start address */
uint32_t flash_program_end = (FLASH_USER_START_ADDR + sizeof(DATA)); /* flash program end address */ // uint32_t flash_program_end = (FLASH_USER_START_ADDR + sizeof(DATA)); /* flash program end address */
uint32_t *src = (uint32_t *)DATA; /* Program data */ // uint32_t *src = (uint32_t *)DATA; /* Program data */
while (flash_program_start < flash_program_end) // while (flash_program_start < flash_program_end)
{ // {
if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_PAGE, flash_program_start, src) == HAL_OK)/* Program */ // if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_PAGE, flash_program_start, src) == HAL_OK)/* Program */
{ // {
flash_program_start += FLASH_PAGE_SIZE; /* flash Start point first page */ // flash_program_start += FLASH_PAGE_SIZE; /* flash Start point first page */
src += FLASH_PAGE_SIZE / 4; /* Update data point */ // src += FLASH_PAGE_SIZE / 4; /* Update data point */
} // }
} // }
} // }
/** /**
* @brief Flash Check * @brief Flash Check
* @param None * @param None
* @retval None * @retval None
*/ */
static void APP_FlashBlank(void) // static void APP_FlashBlank(void)
{ // {
uint32_t addr = 0; // uint32_t addr = 0;
while (addr < sizeof(DATA)) // while (addr < sizeof(DATA))
{ // {
if (0xFFFFFFFF != HW32_REG(FLASH_USER_START_ADDR + addr)) // if (0xFFFFFFFF != HW32_REG(FLASH_USER_START_ADDR + addr))
{ // {
APP_ErrorHandler(); // APP_ErrorHandler();
} // }
addr += 4; // addr += 4;
} // }
} // }
/** /**
* @brief Flash Verify * @brief Flash Verify
* @param None * @param None
* @retval None * @retval None
*/ */
static void APP_FlashVerify(void) // static void APP_FlashVerify(void)
{ // {
uint32_t addr = 0; // uint32_t addr = 0;
while (addr < sizeof(DATA)) // while (addr < sizeof(DATA))
{ // {
if (DATA[addr / 4] != HW32_REG(FLASH_USER_START_ADDR + addr)) // if (DATA[addr / 4] != HW32_REG(FLASH_USER_START_ADDR + addr))
{ // {
APP_ErrorHandler(); // APP_ErrorHandler();
} // }
addr += 4; // addr += 4;
} // }
} // }
/** /**
* @brief This function is executed in case of error occurrence. * @brief This function is executed in case of error occurrence.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment