1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #ifndef SPI_FLASH_H
- #define SPI_FLASH_H
- #include <stdbool.h>
- #include <stdint.h>
- #if defined ( __ICCARM__ )
- #define ssize_t long
- #else
- #include <unistd.h>
- #endif
- #include "FreeRTOS.h"
- #define LOG_FLASH_SECTOR_OFFSET 4
- #define SPI_FLASH_SECTOR_SIZE 4096
- #define SPI_FLASH_SECTORS_IN_BLOCK_NUMBER 16
- #define SPI_FLASH_BLOCK_SIZE 16
- #define SPI_FLASH_BLOCK_NUMBER 32
- //extern SemaphoreHandle_t spi_mutex;
- typedef struct {
- bool present;
- uint32_t sector_size;
- uint8_t sector_erase_op;
- uint16_t sector_count;
- } spi_flash_desc_t;
- bool spi_flash_init(void);
- ssize_t spi_flash_read(int addr, void *buf, size_t len, uint32_t timeout);
- ssize_t spi_flash_write(int addr, const void *buf, size_t len, uint32_t timeout);
- int spi_flash_erase_sector(int addr, uint32_t timeout);
- int spi_flash_chip_erase(uint32_t timeout);
- unsigned int spi_flash_get_sector_size(void);
- unsigned int spi_flash_get_sector_count(void);
- unsigned int spi_flash_get_total_size(void);
- bool spi_flash_is_init(void);
- bool spi_flash_test(void);
- void spi_flash_get_id(uint8_t *buf);
- extern spi_flash_desc_t spi_flash_desc;
- // -------------------------------------------------------------------------- //
- #endif /* SPI_FLASH_H */
|