diff --git a/eeprom.c b/eeprom.c deleted file mode 100644 index d4bdfb7..0000000 --- a/eeprom.c +++ /dev/null @@ -1,192 +0,0 @@ - -#include "eeprom.h" -#include "eepromConf.h" - -#if ( _EEPROM_F1_LOW_DESTINY==1) -#define _EEPROM_FLASH_PAGE_SIZE 1024 -/* Base address of the Flash sectors */ -#define ADDR_FLASH_PAGE_0 ((uint32_t)0x08000000) /* Base @ of Page 0, 1 Kbytes */ -#define _EEPROM_FLASH_PAGE_ADDRESS (ADDR_FLASH_PAGE_0|(_EEPROM_FLASH_PAGE_SIZE*_EEPROM_USE_FLASH_PAGE)) -#if (_EEPROM_USE_FLASH_PAGE>31) -#error "Please Enter currect value _EEPROM_USE_FLASH_PAGE (0 to 31)" -#endif -#endif - - -#if (_EEPROM_F1_MEDIUM_DESTINY==1) -#define _EEPROM_FLASH_PAGE_SIZE 1024 -/* Base address of the Flash sectors */ -#define ADDR_FLASH_PAGE_0 ((uint32_t)0x08000000) /* Base @ of Page 0, 1 Kbytes */ -#define _EEPROM_FLASH_PAGE_ADDRESS (ADDR_FLASH_PAGE_0|(_EEPROM_FLASH_PAGE_SIZE*_EEPROM_USE_FLASH_PAGE)) -#if (_EEPROM_USE_FLASH_PAGE>127) -#error "Please Enter currect value _EEPROM_USE_FLASH_PAGE (0 to 127)" -#endif -#endif - - -#if (_EEPROM_F1_HIGH_DESTINY==1) -#define _EEPROM_FLASH_PAGE_SIZE 2048 -/* Base address of the Flash sectors */ -#define ADDR_FLASH_PAGE_0 ((uint32_t)0x08000000) /* Base @ of Page 0, 2 Kbytes */ -#define _EEPROM_FLASH_PAGE_ADDRESS (ADDR_FLASH_PAGE_0|(_EEPROM_FLASH_PAGE_SIZE*_EEPROM_USE_FLASH_PAGE)) -#if (_EEPROM_USE_FLASH_PAGE>255) -#error "Please Enter currect value _EEPROM_USE_FLASH_PAGE (0 to 255)" -#endif -#endif - -#if (_EEPROM_F030x4_F030x6_F070x6_F030x8==1) -#define _EEPROM_FLASH_PAGE_SIZE 1024 -/* Base address of the Flash sectors */ -#define ADDR_FLASH_PAGE_0 ((uint32_t)0x08000000) /* Base @ of Page 0, 1 Kbytes */ -#define _EEPROM_FLASH_PAGE_ADDRESS (ADDR_FLASH_PAGE_0|(_EEPROM_FLASH_PAGE_SIZE*_EEPROM_USE_FLASH_PAGE)) -#if (_EEPROM_USE_FLASH_PAGE>63) -#error "Please Enter currect value _EEPROM_USE_FLASH_PAGE (0 to 63)" -#endif -#endif - -#if (_EEPROM_AUTO_ERASE___NEED_MORE_RAM==1) -uint32_t EEPROMPageBackup[_EEPROM_FLASH_PAGE_SIZE/4]; -#endif - -//########################################################################################################## -//########################################################################################################## -//########################################################################################################## -bool EE_Format(void) -{ - uint32_t error; - HAL_FLASH_Unlock(); - FLASH_EraseInitTypeDef flashErase; - flashErase.NbPages=1; - #if ( _EEPROM_F1_LOW_DESTINY==1 || _EEPROM_F1_MEDIUM_DESTINY==1 || _EEPROM_F1_HIGH_DESTINY==1 ) - flashErase.Banks = FLASH_BANK_1; - #endif - flashErase.PageAddress = _EEPROM_FLASH_PAGE_ADDRESS; - flashErase.TypeErase = FLASH_TYPEERASE_PAGES; - if(HAL_FLASHEx_Erase(&flashErase,&error)==HAL_OK) - { - HAL_FLASH_Lock(); - if(error != 0xFFFFFFFF) - return false; - else - return true; - } - HAL_FLASH_Lock(); - return false; -} -//########################################################################################################## -bool EE_Read(uint16_t VirtualAddress, uint32_t* Data) -{ - if(VirtualAddress >= (_EEPROM_FLASH_PAGE_SIZE/4)) - return false; - *Data = (*(__IO uint32_t*)((VirtualAddress*4)+_EEPROM_FLASH_PAGE_ADDRESS)); - return true; -} -//########################################################################################################## -bool EE_Write(uint16_t VirtualAddress, uint32_t Data) -{ - if(VirtualAddress >= (_EEPROM_FLASH_PAGE_SIZE/4)) - return false; - - #if (_EEPROM_STORE_BEFOR_ERASE___NEED_MORE_RAM==1) - if((*(__IO uint32_t*)((VirtualAddress*4)+_EEPROM_FLASH_PAGE_ADDRESS)) != 0xFFFFFFFF) - { - - if( EE_Reads(0,(_EEPROM_FLASH_PAGE_SIZE/4),EEPROMPageBackup)==false) - { - HAL_FLASH_Lock(); - return false; - } - EEPROMPageBackup[VirtualAddress]=Data; - EE_Format(); - - HAL_FLASH_Unlock(); - for(uint16_t i=0 ; i<_EEPROM_FLASH_PAGE_SIZE/4 ; i++) - { - if(HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD,(i*4)+_EEPROM_FLASH_PAGE_ADDRESS,(uint64_t)EEPROMPageBackup[i])!=HAL_OK) - { - HAL_FLASH_Lock(); - return false; - } - } - } - #endif - HAL_FLASH_Unlock(); - if(Data!=0xFFFFFFFF) - { - if(HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD,(VirtualAddress*4)+_EEPROM_FLASH_PAGE_ADDRESS,(uint64_t)Data)==HAL_OK) - { - HAL_FLASH_Lock(); - return true; - } - else - { - HAL_FLASH_Lock(); - return false; - } - } - HAL_FLASH_Lock(); - return true; -} -//########################################################################################################## -bool EE_Reads(uint16_t StartVirtualAddress,uint16_t HowManyToRead,uint32_t* Data) -{ - if((StartVirtualAddress+HowManyToRead) > (_EEPROM_FLASH_PAGE_SIZE/4)) - return false; - for(uint16_t i=StartVirtualAddress ; i (_EEPROM_FLASH_PAGE_SIZE/4)) - return false; - #if (_EEPROM_STORE_BEFOR_ERASE___NEED_MORE_RAM==1) - if( EE_Reads(0,(_EEPROM_FLASH_PAGE_SIZE/4),EEPROMPageBackup)==false) - return false; - for(uint16_t i=StartVirtualAddress ; i