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
mx25l512
mx25l512.h
Go to the documentation of this file.
1
38
/* Define to prevent recursive inclusion -------------------------------------*/
39
#ifndef __MX25L512_H
40
#define __MX25L512_H
41
42
#ifdef __cplusplus
43
extern
"C"
{
44
#endif
45
46
/* Includes ------------------------------------------------------------------*/
47
75
#define MX25L512_FLASH_SIZE 0x4000000
/* 512 MBits => 64MBytes */
76
#define MX25L512_SECTOR_SIZE 0x10000
/* 1024 sectors of 64KBytes */
77
#define MX25L512_SUBSECTOR_SIZE 0x1000
/* 16384 subsectors of 4kBytes */
78
#define MX25L512_PAGE_SIZE 0x100
/* 262144 pages of 256 bytes */
79
80
#define MX25L512_DUMMY_CYCLES_READ_QUAD 3
81
#define MX25L512_DUMMY_CYCLES_READ 8
82
#define MX25L512_DUMMY_CYCLES_READ_QUAD_IO 10
83
#define MX25L512_DUMMY_CYCLES_READ_DTR 6
84
#define MX25L512_DUMMY_CYCLES_READ_QUAD_DTR 8
85
86
#define MX25L512_BULK_ERASE_MAX_TIME 600000
87
#define MX25L512_SECTOR_ERASE_MAX_TIME 2000
88
#define MX25L512_SUBSECTOR_ERASE_MAX_TIME 800
89
93
/* Reset Operations */
94
#define RESET_ENABLE_CMD 0x66
95
#define RESET_MEMORY_CMD 0x99
96
97
/* Identification Operations */
98
#define READ_ID_CMD 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_4_BYTE_ADDR_CMD 0x3C
112
113
#define DUAL_INOUT_FAST_READ_CMD 0xBB
114
#define DUAL_INOUT_FAST_READ_DTR_CMD 0xBD
115
#define DUAL_INOUT_FAST_READ_4_BYTE_ADDR_CMD 0xBC
116
117
#define QUAD_OUT_FAST_READ_CMD 0x6B
118
#define QUAD_OUT_FAST_READ_4_BYTE_ADDR_CMD 0x6C
119
120
#define QUAD_INOUT_FAST_READ_CMD 0xEB
121
#define QUAD_INOUT_FAST_READ_DTR_CMD 0xED
122
#define QPI_READ_4_BYTE_ADDR_CMD 0xEC
123
124
/* Write Operations */
125
#define WRITE_ENABLE_CMD 0x06
126
#define WRITE_DISABLE_CMD 0x04
127
128
/* Register Operations */
129
#define READ_STATUS_REG_CMD 0x05
130
#define READ_CFG_REG_CMD 0x15
131
#define WRITE_STATUS_CFG_REG_CMD 0x01
132
133
#define READ_LOCK_REG_CMD 0x2D
134
#define WRITE_LOCK_REG_CMD 0x2C
135
136
#define READ_EXT_ADDR_REG_CMD 0xC8
137
#define WRITE_EXT_ADDR_REG_CMD 0xC5
138
139
/* Program Operations */
140
#define PAGE_PROG_CMD 0x02
141
#define QPI_PAGE_PROG_4_BYTE_ADDR_CMD 0x12
142
143
#define QUAD_IN_FAST_PROG_CMD 0x38
144
#define EXT_QUAD_IN_FAST_PROG_CMD 0x38
145
#define QUAD_IN_FAST_PROG_4_BYTE_ADDR_CMD 0x3E
146
147
/* Erase Operations */
148
#define SUBSECTOR_ERASE_CMD 0x20
149
#define SUBSECTOR_ERASE_4_BYTE_ADDR_CMD 0x21
150
151
#define SECTOR_ERASE_CMD 0xD8
152
#define SECTOR_ERASE_4_BYTE_ADDR_CMD 0xDC
153
154
#define BULK_ERASE_CMD 0xC7
155
156
#define PROG_ERASE_RESUME_CMD 0x30
157
#define PROG_ERASE_SUSPEND_CMD 0xB0
158
159
/* 4-byte Address Mode Operations */
160
#define ENTER_4_BYTE_ADDR_MODE_CMD 0xB7
161
#define EXIT_4_BYTE_ADDR_MODE_CMD 0xE9
162
163
/* Quad Operations */
164
#define ENTER_QUAD_CMD 0x35
165
#define EXIT_QUAD_CMD 0xF5
166
170
/* Status Register */
171
#define MX25L512_SR_WIP ((uint8_t)0x01)
172
#define MX25L512_SR_WREN ((uint8_t)0x02)
173
#define MX25L512_SR_BLOCKPR ((uint8_t)0x5C)
174
#define MX25L512_SR_PRBOTTOM ((uint8_t)0x20)
175
#define MX25L512_SR_QUADEN ((uint8_t)0x40)
176
#define MX25L512_SR_SRWREN ((uint8_t)0x80)
178
/* Configuration Register */
179
#define MX25L512_CR_ODS ((uint8_t)0x07)
180
#define MX25L512_CR_ODS_30 ((uint8_t)0x07)
181
#define MX25L512_CR_ODS_15 ((uint8_t)0x06)
182
#define MX25L512_CR_ODS_20 ((uint8_t)0x05)
183
#define MX25L512_CR_ODS_45 ((uint8_t)0x03)
184
#define MX25L512_CR_ODS_60 ((uint8_t)0x02)
185
#define MX25L512_CR_ODS_90 ((uint8_t)0x01)
186
#define MX25L512_CR_TB ((uint8_t)0x08)
187
#define MX25L512_CR_PBE ((uint8_t)0x10)
188
#define MX25L512_CR_4BYTE ((uint8_t)0x20)
189
#define MX25L512_CR_NB_DUMMY ((uint8_t)0xC0)
191
#define MX25L512_MANUFACTURER_ID ((uint8_t)0xC2)
192
#define MX25L512_DEVICE_ID_MEM_TYPE ((uint8_t)0x20)
193
#define MX25L512_DEVICE_ID_MEM_CAPACITY ((uint8_t)0x1A)
194
#define MX25L512_UNIQUE_ID_DATA_LENGTH ((uint8_t)0x10)
/*JCC: not checked */
195
207
#ifdef __cplusplus
208
}
209
#endif
210
211
#endif
/* __MX25L512_H */
212
225
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Generated by
1.8.11