12#ifndef HAL_NOR_FLASH_H
13#define HAL_NOR_FLASH_H
19#include "hal_common.h"
26#define DUMMY_BYTE 0x00
33#define FLASH_STAT_BUSY (1 << 0)
34#define FLASH_STAT_WEL (1 << 1)
71#if defined(QSPI_DRIVER_VERSION_1_6_0)
72 QSPI_XIP_Type *driver_xip_base_addr;
81#if defined(QSPI_DRIVER_VERSION_1_6_0)
82 QSPI_XIP_Type *driver_xip_base_addr;
115#if defined(QSPI_DRIVER_VERSION_1_6_0)
118#elif defined(QSPI_DRIVER_VERSION_2_0_0)
122 #error "Please define QSPI controller version"
166 uint8_t *buffer, uint32_t length);
181 uint8_t *buffer, uint32_t length);
231 uint32_t address, uint8_t *page_pointer, uint32_t length);
struct _nor_config nor_config_t
Структура первичной конфигурации флеш-памяти NOR.
struct _nor_handle nor_handle_t
Контекст драйвера флеш-памяти NOR.
void NOR_FlashReadXIP(uint32_t address, uint8_t *buffer, uint32_t length)
Чтение в режиме XIP.
nor_status_t NOR_FlashEraseBlock(nor_handle_t *handle, uint32_t address, uint32_t size)
Очистка блока памяти
nor_status_t NOR_FlashProgramBlock(nor_handle_t *handle, uint32_t address, uint8_t *page_pointer, uint32_t length)
Заполнение блока флеш-памяти NOR.
void QSPI_GetDefaultCommandSet(nor_command_set_t *command_set)
Получение стандартного набора комманд SPI Flash.
nor_status_t NOR_FlashEraseChip(nor_handle_t *handle)
Очистка чипа флеш-памяти NOR.
struct _nor_command_set nor_command_set_t
Основной набор команд для флеш-памяти NOR.
nor_status_t NOR_FlashRead(nor_handle_t *handle, uint32_t address, uint8_t *buffer, uint32_t length)
Чтение данных с флеш-памяти NOR.
void QSPI_DisableXIP(nor_handle_t *handle)
Выключение режима QSPI XIP.
void QSPI_GetDefaultConfigXIP(qspi_xip_config_t *qspi_xip_config)
Получение конфигурации XIP QSPI по умолчанию
nor_status_t
Статусы драйвера флеш-памяти NOR.
Definition hal_nor_flash.h:57
nor_status_t QSPI_EnableXIP(nor_handle_t *handle)
Заполнение регистра XIPCFG контроллера QSPI.
nor_status_t QSPI_NorFlashInit(nor_config_t *config, nor_handle_t *handle)
Инициализация устройства флеш-памяти NOR.
nor_status_t NOR_FlashPageProgram(nor_handle_t *handle, uint32_t address, uint8_t *buffer, uint32_t length)
Программирование страницы флеш-памяти NOR.
@ NOR_Status_Fail
Definition hal_nor_flash.h:59
@ NOR_Status_Timeout
Definition hal_nor_flash.h:61
@ NOR_Status_InvalidArgument
Definition hal_nor_flash.h:60
@ NOR_Status_Success
Definition hal_nor_flash.h:58
Интерфейс драйвера модуля QSPI.
Дополнение драйвера QSPI для обмена данными с помощью DMA.
Основной набор команд для флеш-памяти NOR.
Definition hal_nor_flash.h:43
uint8_t erase_chip_cmd
Definition hal_nor_flash.h:51
uint8_t erase_sector_cmd
Definition hal_nor_flash.h:50
uint8_t write_enable_cmd
Definition hal_nor_flash.h:49
uint8_t page_write_memory_cmd
Definition hal_nor_flash.h:45
uint8_t read_memory_command
Definition hal_nor_flash.h:46
uint8_t read_status_cmd
Definition hal_nor_flash.h:48
uint8_t write_status_cmd
Definition hal_nor_flash.h:44
uint8_t write_disable_cmd
Definition hal_nor_flash.h:47
Структура первичной конфигурации флеш-памяти NOR.
Definition hal_nor_flash.h:67
QSPI_Type * driver_base_addr
Definition hal_nor_flash.h:70
void * quad_control_config
Definition hal_nor_flash.h:69
void * mem_control_config
Definition hal_nor_flash.h:68
Контекст драйвера флеш-памяти NOR.
Definition hal_nor_flash.h:79
QSPI_Type * driver_base_addr
Definition hal_nor_flash.h:80
qspi_config_t qspi_config
Definition hal_nor_flash.h:92
qspi_xip_config_t xip_config
Definition hal_nor_flash.h:91
uint32_t sector_size_bytes
Definition hal_nor_flash.h:85
uint32_t max_sector_erase_time
Definition hal_nor_flash.h:87
uint32_t memory_size_bytes
Definition hal_nor_flash.h:86
uint32_t max_page_program_time
Definition hal_nor_flash.h:88
void * device_specific
Definition hal_nor_flash.h:90
uint32_t page_size_bytes
Definition hal_nor_flash.h:84
uint32_t max_chip_erase_time
Definition hal_nor_flash.h:89
Количество бит во фрейме
Definition hal_qspi.h:103
Структура параметров конфигурации XIP контроллера QSPI.
Definition hal_qspi.h:126
Дескриптор QSPI-DMA передачи
Definition hal_qspi_dma.h:25