1#ifndef INCLUDE_GUARD__FLASH_DRIVER_H__
2#define INCLUDE_GUARD__FLASH_DRIVER_H__
13#define FLASH_NUMBER_OF_FLASH_DEVICES 8
16#define FLASH_CHIP_SIZE_BYTES 134217728
19#define FLASH_CHIP_PAGES_PER_BLOCK 64
23#define FLASH_MAX_BYTES_PER_PAGE 2048
static const uint8_t FLASH_CMD_BLOCK_ERASE
Definition flash_driver.h:45
static const uint8_t FLASH_CMD_RESET
Definition flash_driver.h:55
static const uint8_t FLASH_CMD_READ_ID
Definition flash_driver.h:53
static const uint8_t FLASH_CMD_PAGE_READ
Definition flash_driver.h:39
static const uint8_t FLASH_SR1_WRITE_ENABLE_LATCH_MASK
Definition flash_driver.h:60
FLASH_error_enum_t FLASH_reset(SPI_HandleTypeDef *hspi, uint8_t chip_number)
Resets the NAND flash memory module.
Definition flash_driver.c:778
FLASH_error_enum_t FLASH_read_data(SPI_HandleTypeDef *hspi, uint8_t chip_number, lfs_block_t page, uint8_t *rx_buffer, lfs_size_t rx_buffer_len)
Sends Page Read Command.
Definition flash_driver.c:636
FLASH_error_enum_t FLASH_write_disable(SPI_HandleTypeDef *hspi, uint8_t chip_number)
Sends Write Disable Command.
Definition flash_driver.c:325
static const uint8_t FLASH_CMD_WRITE_ENABLE
Definition flash_driver.h:47
FLASH_error_enum_t FLASH_write_data(SPI_HandleTypeDef *hspi, uint8_t chip_number, lfs_block_t page, uint8_t *packet_buffer, lfs_size_t packet_buffer_len)
Sends Page Program Command.
Definition flash_driver.c:484
FLASH_error_enum_t FLASH_read_block_lock_register(SPI_HandleTypeDef *hspi, uint8_t chip_number, uint8_t *buf)
Read Block Lock Register and store the values in given buffer.
Definition flash_driver.c:213
FLASH_error_enum_t FLASH_is_reachable(SPI_HandleTypeDef *hspi, uint8_t chip_number)
Checks if the FLASH chip is reachable by checking it's ID.
Definition flash_driver.c:803
static const uint8_t FLASH_FEAT_DIE_SELECT
Definition flash_driver.h:34
static const uint8_t FLASH_FEAT_STATUS
Definition flash_driver.h:32
static const uint8_t FLASH_CMD_PROGRAM_LOAD
Definition flash_driver.h:42
static const uint8_t FLASH_CMD_READ_FROM_CACHE
Definition flash_driver.h:40
static const uint8_t FLASH_SR1_WRITE_IN_PROGRESS_MASK
Definition flash_driver.h:59
void FLASH_activate_chip_select(uint8_t chip_number)
Activates the chip select for the given flash module number.
Definition flash_driver.c:44
static const uint8_t FLASH_CMD_GET_FEATURES
Definition flash_driver.h:50
FLASH_error_enum_t FLASH_erase(SPI_HandleTypeDef *hspi, uint8_t chip_number, lfs_block_t page)
Sends Block Erase Command.
Definition flash_driver.c:384
static const uint8_t FLASH_CMD_SET_FEATURES
Definition flash_driver.h:51
static const uint8_t FLASH_CMD_PROGRAM_EXEC
Definition flash_driver.h:43
FLASH_error_enum_t FLASH_unblock_block_lock(SPI_HandleTypeDef *hspi, uint8_t chip_number, uint8_t *buf)
Unblocks all blocked blocks of memory on the NAND flash memory module.
Definition flash_driver.c:89
void FLASH_deactivate_chip_select()
Deactivates the chip select for all lines.
Definition flash_driver.c:69
FLASH_error_enum_t
Definition flash_driver.h:65
@ FLASH_ERR_SPI_TRANSMIT_FAILED
Definition flash_driver.h:67
@ FLASH_ERR_STATUS_REG_ERROR
Definition flash_driver.h:71
@ FLASH_ERR_SPI_RECEIVE_TIMEOUT
Definition flash_driver.h:73
@ FLASH_ERR_SPI_TRANSMIT_TIMEOUT
Definition flash_driver.h:72
@ FLASH_ERR_SPI_RECEIVE_FAILED
Definition flash_driver.h:68
@ FLASH_ERR_DEVICE_BUSY_TIMEOUT
Definition flash_driver.h:69
@ FLASH_ERR_OK
Definition flash_driver.h:66
@ FLASH_ERR_UNKNOWN
Definition flash_driver.h:70
FLASH_error_enum_t FLASH_read_status_register(SPI_HandleTypeDef *hspi, uint8_t chip_number, uint8_t *buf)
Read Status Register and store the values in given buffer.
Definition flash_driver.c:158
static const uint8_t FLASH_SR1_PROGRAMMING_ERROR_MASK
Definition flash_driver.h:61
static const uint8_t FLASH_FEAT_BLOCK_LOCK
Definition flash_driver.h:28
static const uint8_t FLASH_SR1_ERASE_ERROR_MASK
Definition flash_driver.h:62
static const uint8_t FLASH_FEAT_CONFIG
Definition flash_driver.h:30
FLASH_error_enum_t FLASH_write_enable(SPI_HandleTypeDef *hspi, uint8_t chip_number)
Sends Write Enable Command.
Definition flash_driver.c:267
static const uint8_t FLASH_CMD_WRITE_DISABLE
Definition flash_driver.h:48
uint32_t lfs_block_t
Definition lfs.h:45
uint32_t lfs_size_t
Definitions ///.
Definition lfs.h:39
: Header for main.c file. This file contains the common defines of the application.
static uint8_t rx_buffer[5120]
Definition uart_telelecommand_defs.c:22