-
Notifications
You must be signed in to change notification settings - Fork 0
/
stm32469i_eval_nor.h
130 lines (108 loc) · 3.68 KB
/
stm32469i_eval_nor.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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/**
******************************************************************************
* @file stm32469i_eval_nor.h
* @author MCD Application Team
* @brief This file contains the common defines and functions prototypes for
* the stm32469i_eval_nor.c driver.
******************************************************************************
* @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 __STM32469I_EVAL_NOR_H
#define __STM32469I_EVAL_NOR_H
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
#include "stm32f4xx_hal.h"
/** @addtogroup BSP
* @{
*/
/** @addtogroup STM32469I_EVAL
* @{
*/
/** @defgroup STM32469I-EVAL_NOR STM32469I EVAL NOR
* @{
*/
/** @defgroup STM32469I-EVAL_NOR_Exported_Types STM32469I EVAL NOR Exported Types
* @{
*/
/**
* @}
*/
/** @defgroup STM32469I-EVAL_NOR_Exported_Constants STM32469I EVAL NOR Exported Constants
* @{
*/
/**
* @brief NOR status structure definition
*/
#define NOR_STATUS_OK ((uint8_t) 0x00)
#define NOR_STATUS_ERROR ((uint8_t) 0x01)
#define NOR_DEVICE_ADDR ((uint32_t)0x60000000)
/* #define NOR_MEMORY_WIDTH FMC_NORSRAM_MEM_BUS_WIDTH_8 */
#define NOR_MEMORY_WIDTH FMC_NORSRAM_MEM_BUS_WIDTH_16
#define NOR_BURSTACCESS FMC_BURST_ACCESS_MODE_DISABLE
/* #define NOR_BURSTACCESS FMC_BURST_ACCESS_MODE_ENABLE*/
#define NOR_WRITEBURST FMC_WRITE_BURST_DISABLE
/* #define NOR_WRITEBURST FMC_WRITE_BURST_ENABLE */
#define CONTINUOUSCLOCK_FEATURE FMC_CONTINUOUS_CLOCK_SYNC_ONLY
/* #define CONTINUOUSCLOCK_FEATURE FMC_CONTINUOUS_CLOCK_SYNC_ASYNC */
/* NOR operations Timeout definitions */
#define BLOCKERASE_TIMEOUT ((uint32_t)0x00A00000) /* NOR block erase timeout */
#define CHIPERASE_TIMEOUT ((uint32_t)0x30000000) /* NOR chip erase timeout */
#define PROGRAM_TIMEOUT ((uint32_t)0x00004400) /* NOR program timeout */
/* NOR Ready/Busy signal GPIO definitions */
#define NOR_READY_BUSY_PIN GPIO_PIN_6
#define NOR_READY_BUSY_GPIO GPIOD
#define NOR_READY_STATE GPIO_PIN_SET
#define NOR_BUSY_STATE GPIO_PIN_RESET
/**
* @}
*/
/** @defgroup STM32469I-EVAL_NOR_Exported_Macro STM32469I EVAL NOR Exported Macro
* @{
*/
/**
* @}
*/
/** @defgroup STM32469I-EVAL_NOR_Exported_Functions STM32469I EVAL NOR Exported Functions
* @{
*/
uint8_t BSP_NOR_Init(void);
uint8_t BSP_NOR_DeInit(void);
uint8_t BSP_NOR_ReadData(uint32_t uwStartAddress, uint16_t *pData, uint32_t uwDataSize);
uint8_t BSP_NOR_WriteData(uint32_t uwStartAddress, uint16_t *pData, uint32_t uwDataSize);
uint8_t BSP_NOR_ProgramData(uint32_t uwStartAddress, uint16_t *pData, uint32_t uwDataSize);
uint8_t BSP_NOR_Erase_Block(uint32_t BlockAddress);
uint8_t BSP_NOR_Erase_Chip(void);
uint8_t BSP_NOR_Read_ID(NOR_IDTypeDef *pNOR_ID);
void BSP_NOR_ReturnToReadMode(void);
/* These functions can be modified in case the current settings (e.g. DMA stream)
need to be changed for specific application needs */
void BSP_NOR_MspInit(NOR_HandleTypeDef *hnor, void *Params);
uint8_t BSP_NOR_MspDeInit(NOR_HandleTypeDef *hnor, void *Params);
/**
* @}
*/
/**
* @}
*/
/**
* @}
*/
/**
* @}
*/
#ifdef __cplusplus
}
#endif
#endif /* __STM32469I_EVAL_NOR_H */