Proyecto ABInBev para la tarjeta Guaria 1/2.

Committer:
fmanzano_dtk
Date:
Thu Jul 07 16:17:25 2022 +0000
Revision:
19:5580a9a54ad5
Parent:
16:772ea817ec43
Sincronizacion;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fmanzano_dtk 5:07720e3f99d2 1 /**
fmanzano_dtk 5:07720e3f99d2 2 ******************************************************************************
fmanzano_dtk 5:07720e3f99d2 3 * @file EEPROM/EEPROM_Emulation/inc/eeprom.h
fmanzano_dtk 5:07720e3f99d2 4 * @author MCD Application Team
fmanzano_dtk 5:07720e3f99d2 5 * @brief This file contains all the functions prototypes for the EEPROM
fmanzano_dtk 5:07720e3f99d2 6 * emulation firmware library.
fmanzano_dtk 5:07720e3f99d2 7 ******************************************************************************
fmanzano_dtk 5:07720e3f99d2 8 * @attention
fmanzano_dtk 5:07720e3f99d2 9 *
fmanzano_dtk 5:07720e3f99d2 10 * <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
fmanzano_dtk 5:07720e3f99d2 11 * All rights reserved.</center></h2>
fmanzano_dtk 5:07720e3f99d2 12 *
fmanzano_dtk 5:07720e3f99d2 13 * This software component is licensed by ST under Ultimate Liberty license
fmanzano_dtk 5:07720e3f99d2 14 * SLA0044, the "License"; You may not use this file except in compliance with
fmanzano_dtk 5:07720e3f99d2 15 * the License. You may obtain a copy of the License at:
fmanzano_dtk 5:07720e3f99d2 16 * www.st.com/SLA0044
fmanzano_dtk 5:07720e3f99d2 17 *
fmanzano_dtk 5:07720e3f99d2 18 ******************************************************************************
fmanzano_dtk 5:07720e3f99d2 19 */
fmanzano_dtk 5:07720e3f99d2 20
fmanzano_dtk 5:07720e3f99d2 21 /* Define to prevent recursive inclusion -------------------------------------*/
fmanzano_dtk 16:772ea817ec43 22 #ifndef __FLASH_EEPROM_H
fmanzano_dtk 16:772ea817ec43 23 #define __FLASH_EEPROM_H
fmanzano_dtk 5:07720e3f99d2 24
fmanzano_dtk 5:07720e3f99d2 25 /* Includes ------------------------------------------------------------------*/
fmanzano_dtk 5:07720e3f99d2 26 #include "stm32f4xx_hal.h"
fmanzano_dtk 5:07720e3f99d2 27
fmanzano_dtk 5:07720e3f99d2 28 /* Exported constants --------------------------------------------------------*/
fmanzano_dtk 5:07720e3f99d2 29 /* EEPROM emulation firmware error codes */
fmanzano_dtk 5:07720e3f99d2 30 #define EE_OK (uint32_t)HAL_OK
fmanzano_dtk 5:07720e3f99d2 31 #define EE_ERROR (uint32_t)HAL_ERROR
fmanzano_dtk 5:07720e3f99d2 32 #define EE_BUSY (uint32_t)HAL_BUSY
fmanzano_dtk 5:07720e3f99d2 33 #define EE_TIMEOUT (uint32_t)HAL_TIMEOUT
fmanzano_dtk 5:07720e3f99d2 34
fmanzano_dtk 5:07720e3f99d2 35 /* Define the size of the sectors to be used */
fmanzano_dtk 5:07720e3f99d2 36 #define PAGE_SIZE (uint32_t)0x4000 /* Page size = 16KByte */
fmanzano_dtk 5:07720e3f99d2 37
fmanzano_dtk 5:07720e3f99d2 38 /* Device voltage range supposed to be [2.7V to 3.6V], the operation will
fmanzano_dtk 5:07720e3f99d2 39 be done by word */
fmanzano_dtk 5:07720e3f99d2 40 #define VOLTAGE_RANGE (uint8_t)VOLTAGE_RANGE_3
fmanzano_dtk 5:07720e3f99d2 41
fmanzano_dtk 5:07720e3f99d2 42 /* EEPROM start address in Flash */
fmanzano_dtk 5:07720e3f99d2 43 #define EEPROM_START_ADDRESS ((uint32_t)0x08008000) /* EEPROM emulation start address:
fmanzano_dtk 5:07720e3f99d2 44 from sector2 : after 16KByte of used
fmanzano_dtk 5:07720e3f99d2 45 Flash memory */
fmanzano_dtk 5:07720e3f99d2 46
fmanzano_dtk 5:07720e3f99d2 47 /* Pages 0 and 1 base and end addresses */
fmanzano_dtk 5:07720e3f99d2 48 #define PAGE0_BASE_ADDRESS ((uint32_t)(EEPROM_START_ADDRESS + 0x0000))
fmanzano_dtk 5:07720e3f99d2 49 #define PAGE0_END_ADDRESS ((uint32_t)(EEPROM_START_ADDRESS + (PAGE_SIZE - 1)))
fmanzano_dtk 5:07720e3f99d2 50 #define PAGE0_ID FLASH_SECTOR_2
fmanzano_dtk 5:07720e3f99d2 51
fmanzano_dtk 5:07720e3f99d2 52 #define PAGE1_BASE_ADDRESS ((uint32_t)(EEPROM_START_ADDRESS + 0x4000))
fmanzano_dtk 5:07720e3f99d2 53 #define PAGE1_END_ADDRESS ((uint32_t)(EEPROM_START_ADDRESS + (2 * PAGE_SIZE - 1)))
fmanzano_dtk 5:07720e3f99d2 54 #define PAGE1_ID FLASH_SECTOR_3
fmanzano_dtk 5:07720e3f99d2 55
fmanzano_dtk 5:07720e3f99d2 56 /* Used Flash pages for EEPROM emulation */
fmanzano_dtk 5:07720e3f99d2 57 #define PAGE0 ((uint16_t)0x0000)
fmanzano_dtk 5:07720e3f99d2 58 #define PAGE1 ((uint16_t)0x0001) /* Page nb between PAGE0_BASE_ADDRESS & PAGE1_BASE_ADDRESS*/
fmanzano_dtk 5:07720e3f99d2 59
fmanzano_dtk 5:07720e3f99d2 60 /* No valid page define */
fmanzano_dtk 5:07720e3f99d2 61 #define NO_VALID_PAGE ((uint16_t)0x00AB)
fmanzano_dtk 5:07720e3f99d2 62
fmanzano_dtk 5:07720e3f99d2 63 /* Page status definitions */
fmanzano_dtk 5:07720e3f99d2 64 #define ERASED ((uint16_t)0xFFFF) /* Page is empty */
fmanzano_dtk 5:07720e3f99d2 65 #define RECEIVE_DATA ((uint16_t)0xEEEE) /* Page is marked to receive data */
fmanzano_dtk 5:07720e3f99d2 66 #define VALID_PAGE ((uint16_t)0x0000) /* Page containing valid data */
fmanzano_dtk 5:07720e3f99d2 67
fmanzano_dtk 5:07720e3f99d2 68 /* Valid pages in read and write defines */
fmanzano_dtk 5:07720e3f99d2 69 #define READ_FROM_VALID_PAGE ((uint8_t)0x00)
fmanzano_dtk 5:07720e3f99d2 70 #define WRITE_IN_VALID_PAGE ((uint8_t)0x01)
fmanzano_dtk 5:07720e3f99d2 71
fmanzano_dtk 5:07720e3f99d2 72 /* Page full define */
fmanzano_dtk 5:07720e3f99d2 73 #define PAGE_FULL ((uint8_t)0x80)
fmanzano_dtk 5:07720e3f99d2 74
fmanzano_dtk 5:07720e3f99d2 75 /* Variables' number */
fmanzano_dtk 12:5881f350b4da 76 #define NB_OF_VAR ((uint8_t)0x20)
fmanzano_dtk 5:07720e3f99d2 77
fmanzano_dtk 5:07720e3f99d2 78 /* Exported types ------------------------------------------------------------*/
fmanzano_dtk 5:07720e3f99d2 79 /* Exported macro ------------------------------------------------------------*/
fmanzano_dtk 5:07720e3f99d2 80 /* Exported functions ------------------------------------------------------- */
fmanzano_dtk 5:07720e3f99d2 81 uint16_t EE_Init(void);
fmanzano_dtk 5:07720e3f99d2 82 uint16_t EE_ReadVariable(uint16_t VirtAddress, uint16_t* Data);
fmanzano_dtk 5:07720e3f99d2 83 uint16_t EE_WriteVariable(uint16_t VirtAddress, uint16_t Data);
fmanzano_dtk 5:07720e3f99d2 84
fmanzano_dtk 16:772ea817ec43 85 #endif /* __FLASH_EEPROM_H */
fmanzano_dtk 5:07720e3f99d2 86
fmanzano_dtk 5:07720e3f99d2 87 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/