Select one of the symbols to view example projects that use it.
 
Outline
#define __EEPROM_H
Includes
#include "stm32f4xx_hal.h"
Exported constants
#define EE_OK
#define EE_ERROR
#define EE_BUSY
#define EE_TIMEOUT
#define PAGE_SIZE
#define VOLTAGE_RANGE
#define PAGE0_BASE_ADDRESS
#define PAGE0_END_ADDRESS
#define PAGE0_ID
#define PAGE1_BASE_ADDRESS
#define PAGE1_END_ADDRESS
#define PAGE1_ID
#define PAGE0
#define PAGE1
#define NO_VALID_PAGE
#define ERASED
#define RECEIVE_DATA
#define VALID_PAGE
#define READ_FROM_VALID_PAGE
#define WRITE_IN_VALID_PAGE
#define PAGE_FULL
#define NB_OF_VAR
Exported functions
EE_Init();
EE_ReadVariable(uint16_t, uint16_t *);
EE_WriteVariable(uint16_t, uint16_t);
Files
loading...
CodeScopeSTM32 Libraries and SamplesEEPROM_EmulationInc/eeprom.h
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/** ****************************************************************************** * @file EEPROM/EEPROM_Emulation/inc/eeprom.h * @author MCD Application Team * @brief This file contains all the functions prototypes for the EEPROM * emulation firmware library. ****************************************************************************** * @attention * * Copyright (c) 2017 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** *//* ... */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __EEPROM_H #define __EEPROM_H /* Includes ------------------------------------------------------------------*/ #include "stm32f4xx_hal.h" Includes /* Exported constants --------------------------------------------------------*/ /* EEPROM emulation firmware error codes */ #define EE_OK (uint32_t)HAL_OK #define EE_ERROR (uint32_t)HAL_ERROR #define EE_BUSY (uint32_t)HAL_BUSY #define EE_TIMEOUT (uint32_t)HAL_TIMEOUT /* Define the size of the sectors to be used */ #define PAGE_SIZE (uint32_t)0x4000 /* Page size = 16KByte */ /* Device voltage range supposed to be [2.7V to 3.6V], the operation will be done by word *//* ... */ #define VOLTAGE_RANGE (uint8_t)VOLTAGE_RANGE_3 /* EEPROM start address in Flash */ #define EEPROM_START_ADDRESS ((uint32_t)0x08008000) /* EEPROM emulation start address: from sector2 : after 16KByte of used Flash memory *//* ... */ /* Pages 0 and 1 base and end addresses */ #define PAGE0_BASE_ADDRESS ((uint32_t)(EEPROM_START_ADDRESS + 0x0000)) #define PAGE0_END_ADDRESS ((uint32_t)(EEPROM_START_ADDRESS + (PAGE_SIZE - 1))) #define PAGE0_ID FLASH_SECTOR_2 #define PAGE1_BASE_ADDRESS ((uint32_t)(EEPROM_START_ADDRESS + 0x4000)) #define PAGE1_END_ADDRESS ((uint32_t)(EEPROM_START_ADDRESS + (2 * PAGE_SIZE - 1))) #define PAGE1_ID FLASH_SECTOR_3 /* Used Flash pages for EEPROM emulation */ #define PAGE0 ((uint16_t)0x0000) #define PAGE1 ((uint16_t)0x0001) /* Page nb between PAGE0_BASE_ADDRESS & PAGE1_BASE_ADDRESS*/ /* No valid page define */ #define NO_VALID_PAGE ((uint16_t)0x00AB) /* Page status definitions */ #define ERASED ((uint16_t)0xFFFF) /* Page is empty */ #define RECEIVE_DATA ((uint16_t)0xEEEE) /* Page is marked to receive data */ #define VALID_PAGE ((uint16_t)0x0000) /* Page containing valid data */ /* Valid pages in read and write defines */ #define READ_FROM_VALID_PAGE ((uint8_t)0x00) #define WRITE_IN_VALID_PAGE ((uint8_t)0x01) /* Page full define */ #define PAGE_FULL ((uint8_t)0x80) /* Variables' number */ #define NB_OF_VAR ((uint8_t)0x03) 23 defines Exported constants/* Exported types ------------------------------------------------------------*/ /* Exported macro ------------------------------------------------------------*/ /* Exported functions ------------------------------------------------------- */ uint16_t EE_Init(void); uint16_t EE_ReadVariable(uint16_t VirtAddress, uint16_t* Data); uint16_t EE_WriteVariable(uint16_t VirtAddress, uint16_t Data); Exported functions /* ... */#endif /* __EEPROM_H */