STM32F769IDiscovery
1.00
uDANTE Audio Networking with STM32F7 DISCO board
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
Eclipse_WS2
STM32F769IDiscovery
Utilities
Components
n25q512a
n25q512a.h
Go to the documentation of this file.
1
38
/* Define to prevent recursive inclusion -------------------------------------*/
39
#ifndef __N25Q512A_H
40
#define __N25Q512A_H
41
42
#ifdef __cplusplus
43
extern
"C"
{
44
#endif
45
46
/* Includes ------------------------------------------------------------------*/
47
75
#define N25Q512A_FLASH_SIZE 0x4000000
/* 512 MBits => 64MBytes */
76
#define N25Q512A_SECTOR_SIZE 0x10000
/* 1024 sectors of 64KBytes */
77
#define N25Q512A_SUBSECTOR_SIZE 0x1000
/* 16384 subsectors of 4kBytes */
78
#define N25Q512A_PAGE_SIZE 0x100
/* 262144 pages of 256 bytes */
79
80
#define N25Q512A_DUMMY_CYCLES_READ 8
81
#define N25Q512A_DUMMY_CYCLES_READ_QUAD 10
82
#define N25Q512A_DUMMY_CYCLES_READ_DTR 6
83
#define N25Q512A_DUMMY_CYCLES_READ_QUAD_DTR 8
84
85
#define N25Q512A_BULK_ERASE_MAX_TIME 480000
86
#define N25Q512A_SECTOR_ERASE_MAX_TIME 3000
87
#define N25Q512A_SUBSECTOR_ERASE_MAX_TIME 800
88
92
/* Reset Operations */
93
#define RESET_ENABLE_CMD 0x66
94
#define RESET_MEMORY_CMD 0x99
95
96
/* Identification Operations */
97
#define READ_ID_CMD 0x9E
98
#define READ_ID_CMD2 0x9F
99
#define MULTIPLE_IO_READ_ID_CMD 0xAF
100
#define READ_SERIAL_FLASH_DISCO_PARAM_CMD 0x5A
101
102
/* Read Operations */
103
#define READ_CMD 0x03
104
#define READ_4_BYTE_ADDR_CMD 0x13
105
106
#define FAST_READ_CMD 0x0B
107
#define FAST_READ_DTR_CMD 0x0D
108
#define FAST_READ_4_BYTE_ADDR_CMD 0x0C
109
110
#define DUAL_OUT_FAST_READ_CMD 0x3B
111
#define DUAL_OUT_FAST_READ_DTR_CMD 0x3D
112
#define DUAL_OUT_FAST_READ_4_BYTE_ADDR_CMD 0x3C
113
114
#define DUAL_INOUT_FAST_READ_CMD 0xBB
115
#define DUAL_INOUT_FAST_READ_DTR_CMD 0xBD
116
#define DUAL_INOUT_FAST_READ_4_BYTE_ADDR_CMD 0xBC
117
118
#define QUAD_OUT_FAST_READ_CMD 0x6B
119
#define QUAD_OUT_FAST_READ_DTR_CMD 0x6D
120
#define QUAD_OUT_FAST_READ_4_BYTE_ADDR_CMD 0x6C
121
122
#define QUAD_INOUT_FAST_READ_CMD 0xEB
123
#define QUAD_INOUT_FAST_READ_DTR_CMD 0xED
124
#define QUAD_INOUT_FAST_READ_4_BYTE_ADDR_CMD 0xEC
125
126
/* Write Operations */
127
#define WRITE_ENABLE_CMD 0x06
128
#define WRITE_DISABLE_CMD 0x04
129
130
/* Register Operations */
131
#define READ_STATUS_REG_CMD 0x05
132
#define WRITE_STATUS_REG_CMD 0x01
133
134
#define READ_LOCK_REG_CMD 0xE8
135
#define WRITE_LOCK_REG_CMD 0xE5
136
137
#define READ_FLAG_STATUS_REG_CMD 0x70
138
#define CLEAR_FLAG_STATUS_REG_CMD 0x50
139
140
#define READ_NONVOL_CFG_REG_CMD 0xB5
141
#define WRITE_NONVOL_CFG_REG_CMD 0xB1
142
143
#define READ_VOL_CFG_REG_CMD 0x85
144
#define WRITE_VOL_CFG_REG_CMD 0x81
145
146
#define READ_ENHANCED_VOL_CFG_REG_CMD 0x65
147
#define WRITE_ENHANCED_VOL_CFG_REG_CMD 0x61
148
149
#define READ_EXT_ADDR_REG_CMD 0xC8
150
#define WRITE_EXT_ADDR_REG_CMD 0xC5
151
152
/* Program Operations */
153
#define PAGE_PROG_CMD 0x02
154
#define PAGE_PROG_4_BYTE_ADDR_CMD 0x12
155
156
#define DUAL_IN_FAST_PROG_CMD 0xA2
157
#define EXT_DUAL_IN_FAST_PROG_CMD 0xD2
158
159
#define QUAD_IN_FAST_PROG_CMD 0x32
160
#define EXT_QUAD_IN_FAST_PROG_CMD 0x12
/*0x38*/
161
#define QUAD_IN_FAST_PROG_4_BYTE_ADDR_CMD 0x34
162
163
/* Erase Operations */
164
#define SUBSECTOR_ERASE_CMD 0x20
165
#define SUBSECTOR_ERASE_4_BYTE_ADDR_CMD 0x21
166
167
#define SECTOR_ERASE_CMD 0xD8
168
#define SECTOR_ERASE_4_BYTE_ADDR_CMD 0xDC
169
170
#define BULK_ERASE_CMD 0xC7
171
172
#define PROG_ERASE_RESUME_CMD 0x7A
173
#define PROG_ERASE_SUSPEND_CMD 0x75
174
175
/* One-Time Programmable Operations */
176
#define READ_OTP_ARRAY_CMD 0x4B
177
#define PROG_OTP_ARRAY_CMD 0x42
178
179
/* 4-byte Address Mode Operations */
180
#define ENTER_4_BYTE_ADDR_MODE_CMD 0xB7
181
#define EXIT_4_BYTE_ADDR_MODE_CMD 0xE9
182
183
/* Quad Operations */
184
#define ENTER_QUAD_CMD 0x35
185
#define EXIT_QUAD_CMD 0xF5
186
190
/* Status Register */
191
#define N25Q512A_SR_WIP ((uint8_t)0x01)
192
#define N25Q512A_SR_WREN ((uint8_t)0x02)
193
#define N25Q512A_SR_BLOCKPR ((uint8_t)0x5C)
194
#define N25Q512A_SR_PRBOTTOM ((uint8_t)0x20)
195
#define N25Q512A_SR_SRWREN ((uint8_t)0x80)
197
/* Non volatile Configuration Register */
198
#define N25Q512A_NVCR_NBADDR ((uint16_t)0x0001)
199
#define N25Q512A_NVCR_SEGMENT ((uint16_t)0x0002)
200
#define N25Q512A_NVCR_DUAL ((uint16_t)0x0004)
201
#define N25Q512A_NVCR_QUAB ((uint16_t)0x0008)
202
#define N25Q512A_NVCR_RH ((uint16_t)0x0010)
203
#define N25Q512A_NVCR_ODS ((uint16_t)0x01C0)
204
#define N25Q512A_NVCR_XIP ((uint16_t)0x0E00)
205
#define N25Q512A_NVCR_NB_DUMMY ((uint16_t)0xF000)
207
/* Volatile Configuration Register */
208
#define N25Q512A_VCR_WRAP ((uint8_t)0x03)
209
#define N25Q512A_VCR_XIP ((uint8_t)0x08)
210
#define N25Q512A_VCR_NB_DUMMY ((uint8_t)0xF0)
212
/* Extended Address Register */
213
#define N25Q512A_EAR_A24 ((uint8_t)0x01)
215
/* Enhanced Volatile Configuration Register */
216
#define N25Q512A_EVCR_ODS ((uint8_t)0x07)
217
#define N25Q512A_EVCR_VPPA ((uint8_t)0x08)
218
#define N25Q512A_EVCR_RH ((uint8_t)0x10)
219
#define N25Q512A_EVCR_DUAL ((uint8_t)0x40)
220
#define N25Q512A_EVCR_QUAD ((uint8_t)0x80)
222
/* Flag Status Register */
223
#define N25Q512A_FSR_NBADDR ((uint8_t)0x01)
224
#define N25Q512A_FSR_PRERR ((uint8_t)0x02)
225
#define N25Q512A_FSR_PGSUS ((uint8_t)0x04)
226
#define N25Q512A_FSR_VPPERR ((uint8_t)0x08)
227
#define N25Q512A_FSR_PGERR ((uint8_t)0x10)
228
#define N25Q512A_FSR_ERERR ((uint8_t)0x20)
229
#define N25Q512A_FSR_ERSUS ((uint8_t)0x40)
230
#define N25Q512A_FSR_READY ((uint8_t)0x80)
243
#ifdef __cplusplus
244
}
245
#endif
246
247
#endif
/* __N25Q512A_H */
248
261
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Generated by
1.8.11