Functions | Variables
stm32f769i_discovery_eeprom.c File Reference

This file provides a set of functions needed to manage an I2C M24LR64 EEPROM memory. More...

#include "stm32f769i_discovery_eeprom.h"
Include dependency graph for stm32f769i_discovery_eeprom.c:

Go to the source code of this file.

Functions

uint8_t BSP_EEPROM_DeInit (void)
 DeInitializes the EEPROM. More...
 
uint32_t BSP_EEPROM_Init (void)
 Initializes peripherals used by the I2C EEPROM driver. More...
 
uint32_t BSP_EEPROM_ReadBuffer (uint8_t *pBuffer, uint16_t ReadAddr, uint16_t *NumByteToRead)
 Reads a block of data from the EEPROM. More...
 
__weak void BSP_EEPROM_TIMEOUT_UserCallback (void)
 Basic management of the timeout situation. More...
 
uint32_t BSP_EEPROM_WaitEepromStandbyState (void)
 Wait for EEPROM Standby state. More...
 
uint32_t BSP_EEPROM_WriteBuffer (uint8_t *pBuffer, uint16_t WriteAddr, uint16_t NumByteToWrite)
 Writes buffer of data to the I2C EEPROM. More...
 
uint32_t BSP_EEPROM_WritePage (uint8_t *pBuffer, uint16_t WriteAddr, uint8_t *NumByteToWrite)
 Writes more than one byte to the EEPROM with a single WRITE cycle. More...
 

Variables

__IO uint16_t EEPROMAddress = 0
 
__IO uint16_t EEPROMDataRead
 
__IO uint8_t EEPROMDataWrite
 

Detailed Description

This file provides a set of functions needed to manage an I2C M24LR64 EEPROM memory.

Author
MCD Application Team
          To be able to use this driver, the switch EE_M24LR64 must be defined
          in your toolchain compiler preprocessor
          
          =================================================================== 
          Notes:
           - The I2C EEPROM memory (M24LR64) is available on separate daughter 
             board ANT7-M24LR-A, which is not provided with the STM32F769I_DISCOVERY
             board.
             To use this driver you have to connect the ANT7-M24LR-A to CN2 
             connector of STM32F769I_DISCOVERY board.
          ===================================================================
              
          It implements a high level communication layer for read and write 
          from/to this memory. The needed STM32F7xx hardware resources (I2C and
          GPIO) are defined in stm32f769i_discovery.h file, and the initialization is
          performed in EEPROM_IO_Init() function declared in stm32f769i_discovery.c
          file.
          You can easily tailor this driver to any other development board, 
          by just adapting the defines for hardware resources and 
          EEPROM_IO_Init() function. 
        
          @note In this driver, basic read and write functions (BSP_EEPROM_ReadBuffer() 
                and BSP_EEPROM_WritePage()) use DMA mode to perform the data 
                transfer to/from EEPROM memory.

         @note   Regarding BSP_EEPROM_WritePage(), it is an optimized function to perform
                small write (less than 1 page) BUT the number of bytes (combined to write start address) must not
                cross the EEPROM page boundary. This function can only writes into
                the boundaries of an EEPROM page.
                This function doesn't check on boundaries condition (in this driver 
                the function BSP_EEPROM_WriteBuffer() which calls BSP_EEPROM_WritePage() is 
                responsible of checking on Page boundaries).
 
             
     +-----------------------------------------------------------------+
     |               Pin assignment for M24LR64 EEPROM                 |
     +---------------------------------------+-----------+-------------+
     |  STM32F7xx I2C Pins                   |   EEPROM  |   Pin       |
     +---------------------------------------+-----------+-------------+
     | .                                     |   E0(GND) |    1  (0V)  |
     | .                                     |   AC0     |    2        |
     | .                                     |   AC1     |    3        |
     | .                                     |   VSS     |    4  (0V)  |
     | SDA                                   |   SDA     |    5        |
     | SCL                                   |   SCL     |    6        |
     | .                                     |   E1(GND) |    7  (0V)  |
     | .                                     |   VDD     |    8 (3.3V) |
     +---------------------------------------+-----------+-------------+
Attention

© COPYRIGHT(c) 2016 STMicroelectronics

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of STMicroelectronics nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file stm32f769i_discovery_eeprom.c.



picovoice_driver
Author(s):
autogenerated on Fri Apr 1 2022 02:15:01