Subversion Repositories LedShow

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 mjames 1
/**
2
  ******************************************************************************
3
  * @file    stm32f1xx_hal_sram.h
4
  * @author  MCD Application Team
5
  * @brief   Header file of SRAM HAL module.
6
  ******************************************************************************
7
  * @attention
8
  *
9
  * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
10
  *
11
  * Redistribution and use in source and binary forms, with or without modification,
12
  * are permitted provided that the following conditions are met:
13
  *   1. Redistributions of source code must retain the above copyright notice,
14
  *      this list of conditions and the following disclaimer.
15
  *   2. Redistributions in binary form must reproduce the above copyright notice,
16
  *      this list of conditions and the following disclaimer in the documentation
17
  *      and/or other materials provided with the distribution.
18
  *   3. Neither the name of STMicroelectronics nor the names of its contributors
19
  *      may be used to endorse or promote products derived from this software
20
  *      without specific prior written permission.
21
  *
22
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23
  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25
  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26
  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27
  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28
  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
  *
33
  ******************************************************************************
34
  */
35
 
36
/* Define to prevent recursive inclusion -------------------------------------*/
37
#ifndef __STM32F1xx_HAL_SRAM_H
38
#define __STM32F1xx_HAL_SRAM_H
39
 
40
#ifdef __cplusplus
41
 extern "C" {
42
#endif
43
 
44
/* Includes ------------------------------------------------------------------*/
45
#include "stm32f1xx_ll_fsmc.h"
46
 
47
/** @addtogroup STM32F1xx_HAL_Driver
48
  * @{
49
  */
50
 
51
#if defined (STM32F101xE) || defined(STM32F103xE) || defined(STM32F101xG) || defined(STM32F103xG) || defined(STM32F100xE)
52
 
53
/** @addtogroup SRAM
54
  * @{
55
  */
56
 
57
/* Exported typedef ----------------------------------------------------------*/
58
 
59
/** @defgroup SRAM_Exported_Types SRAM Exported Types
60
  * @{
61
  */
62
/**
63
  * @brief  HAL SRAM State structures definition  
64
  */
65
typedef enum
66
{
67
  HAL_SRAM_STATE_RESET     = 0x00U,  /*!< SRAM not yet initialized or disabled           */
68
  HAL_SRAM_STATE_READY     = 0x01U,  /*!< SRAM initialized and ready for use             */
69
  HAL_SRAM_STATE_BUSY      = 0x02U,  /*!< SRAM internal process is ongoing               */
70
  HAL_SRAM_STATE_ERROR     = 0x03U,  /*!< SRAM error state                               */
71
  HAL_SRAM_STATE_PROTECTED = 0x04U   /*!< SRAM peripheral NORSRAM device write protected */
72
 
73
}HAL_SRAM_StateTypeDef;
74
 
75
/**
76
  * @brief  SRAM handle Structure definition  
77
  */
78
typedef struct
79
{
80
  FSMC_NORSRAM_TypeDef           *Instance;  /*!< Register base address                        */
81
 
82
  FSMC_NORSRAM_EXTENDED_TypeDef  *Extended;  /*!< Extended mode register base address          */
83
 
84
  FSMC_NORSRAM_InitTypeDef       Init;       /*!< SRAM device control configuration parameters */
85
 
86
  HAL_LockTypeDef               Lock;       /*!< SRAM locking object                          */
87
 
88
  __IO HAL_SRAM_StateTypeDef    State;      /*!< SRAM device access state                     */
89
 
90
  DMA_HandleTypeDef             *hdma;      /*!< Pointer DMA handler                          */
91
 
92
}SRAM_HandleTypeDef;
93
 
94
/**
95
  * @}
96
  */
97
 
98
/* Exported constants --------------------------------------------------------*/
99
/* Exported macro ------------------------------------------------------------*/
100
 
101
/** @defgroup SRAM_Exported_Macros SRAM Exported Macros
102
  * @{
103
  */
104
 
105
/** @brief Reset SRAM handle state
106
  * @param  __HANDLE__: SRAM handle
107
  * @retval None
108
  */
109
#define __HAL_SRAM_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_SRAM_STATE_RESET)
110
 
111
/**
112
  * @}
113
  */
114
 
115
/* Exported functions --------------------------------------------------------*/
116
 
117
/** @addtogroup SRAM_Exported_Functions
118
 *  @{
119
 */
120
 
121
/** @addtogroup SRAM_Exported_Functions_Group1
122
 *  @{
123
 */
124
 
125
/* Initialization/de-initialization functions  **********************************/
126
HAL_StatusTypeDef HAL_SRAM_Init(SRAM_HandleTypeDef *hsram, FSMC_NORSRAM_TimingTypeDef *Timing, FSMC_NORSRAM_TimingTypeDef *ExtTiming);
127
HAL_StatusTypeDef HAL_SRAM_DeInit(SRAM_HandleTypeDef *hsram);
128
void              HAL_SRAM_MspInit(SRAM_HandleTypeDef *hsram);
129
void              HAL_SRAM_MspDeInit(SRAM_HandleTypeDef *hsram);
130
 
131
void              HAL_SRAM_DMA_XferCpltCallback(DMA_HandleTypeDef *hdma);
132
void              HAL_SRAM_DMA_XferErrorCallback(DMA_HandleTypeDef *hdma);
133
 
134
/**
135
  * @}
136
  */
137
 
138
/** @addtogroup SRAM_Exported_Functions_Group2
139
 *  @{
140
 */
141
 
142
/* I/O operation functions  *****************************************************/
143
HAL_StatusTypeDef HAL_SRAM_Read_8b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint8_t *pDstBuffer, uint32_t BufferSize);
144
HAL_StatusTypeDef HAL_SRAM_Write_8b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint8_t *pSrcBuffer, uint32_t BufferSize);
145
HAL_StatusTypeDef HAL_SRAM_Read_16b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint16_t *pDstBuffer, uint32_t BufferSize);
146
HAL_StatusTypeDef HAL_SRAM_Write_16b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint16_t *pSrcBuffer, uint32_t BufferSize);
147
HAL_StatusTypeDef HAL_SRAM_Read_32b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pDstBuffer, uint32_t BufferSize);
148
HAL_StatusTypeDef HAL_SRAM_Write_32b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize);
149
HAL_StatusTypeDef HAL_SRAM_Read_DMA(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pDstBuffer, uint32_t BufferSize);
150
HAL_StatusTypeDef HAL_SRAM_Write_DMA(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize);
151
 
152
/**
153
  * @}
154
  */
155
 
156
/** @addtogroup SRAM_Exported_Functions_Group3
157
 *  @{
158
 */
159
 
160
/* SRAM Control functions  ******************************************************/
161
HAL_StatusTypeDef HAL_SRAM_WriteOperation_Enable(SRAM_HandleTypeDef *hsram);
162
HAL_StatusTypeDef HAL_SRAM_WriteOperation_Disable(SRAM_HandleTypeDef *hsram);
163
 
164
/**
165
  * @}
166
  */
167
 
168
/** @addtogroup SRAM_Exported_Functions_Group4
169
 *  @{
170
 */
171
 
172
/* SRAM State functions *********************************************************/
173
HAL_SRAM_StateTypeDef HAL_SRAM_GetState(SRAM_HandleTypeDef *hsram);
174
 
175
/**
176
  * @}
177
  */
178
 
179
/**
180
  * @}
181
  */
182
 
183
/**
184
  * @}
185
  */
186
 
187
#endif /* STM32F101xE || STM32F103xE || STM32F101xG || STM32F103xG || STM32F100xE */
188
 
189
/**
190
  * @}
191
  */
192
 
193
#ifdef __cplusplus
194
}
195
#endif
196
 
197
#endif /* __STM32F1xx_HAL_SRAM_H */
198
 
199
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/