Files
TencentOS-tiny/board/BearPi_STM32L431RC/BSP/Hardware/W25QXX-QSPI/w25qxx.h
2022-09-29 12:07:16 +08:00

41 lines
1.2 KiB
C

#ifndef _W25QXX_H_
#define _W25QXX_H_
#include "main.h"
enum {
ManufactDeviceID_CMD = 0x90,
READ_STATU_REGISTER_1 = 0x05,
READ_STATU_REGISTER_2 = 0x35,
WRITE_STATU_REGISTER = 0x01,
READ_DATA_CMD = 0x03,
FAST_READ_CMD = 0x0B,
FAST_READ_DUAL_O_CMD = 0x3B,
FAST_READ_DUAL_IO_CMD = 0xBB,
FAST_READ_QUAD_O_CMD = 0x6B,
FAST_READ_QUAD_IO_CMD = 0xEB,
WRITE_ENABLE_CMD = 0x06,
WRITE_DISABLE_CMD = 0x04,
SECTOR_ERASE_CMD = 0x20,
CHIP_ERASE_CMD = 0xc7,
PAGE_PROGRAM_CMD = 0x02,
QUAD_PAGE_PROGRAM_CMD = 0x32,
BLOCK_ERASE_64KB_CMD = 0xD8,
BLOCK_ERASE_32KB_CMD = 0x52,
ERASE_SUSPEND_CMD = 0x75,
ERASE_RESUME_CMD = 0x7A,
HIGH_PERFORM_MODE_CMD = 0xA3,
ENABLE_RESET_CMD = 0x66,
RESET_DEVICE_CMD = 0x99,
};
int w25qxx_init(void);
int w25qxx_memory_mapped(void);
uint16_t w25qxx_read_deviceid(void);
int w25qxx_read(uint8_t* buffer, uint32_t start_addr, uint16_t nbytes);
int w25qxx_erase_sector(uint32_t sector_addr);
int w25qxx_erase_chip(void);
int w25qxx_page_program(uint8_t* dat, uint32_t write_addr, uint16_t nbytes);
int w25qxx_reset(void);
#endif /* _W25QXX_H_ */