mcu_hi3321_watch/tjd/driver/nandflash/ds35m1ga/ds35m1ga.h
2025-05-26 20:15:20 +08:00

39 lines
1.2 KiB
C

#ifndef DS35M1GA_H
#define DS35M1GA_H
#include <stdint.h>
#include <stdbool.h>
#include "am_mcu_apollo.h"
#include "am_hal_mspi.h"
#ifdef __cplusplus
extern "C" {
#endif
#define BSP_DS35M_CHIP_ID (0xE521) /* id */
#define BSP_DS35M_BLOCKS_PER_CHIP (1024) /* number of blocks in a chip */
#define BSP_DS35M_PAGES_PER_BLOCK (64) /* number of pages in a block */
#define BSP_DS35M_BYTES_PER_PAGE_DATA (2048) /* number of bytes in a page data area */
#define BSP_DS35M_BYTES_PER_PAGE_SPARE (64) /* number of bytes in a page spare area */
int Ds35m_Init(void);
int Ds35m_Deinit(void);
int Ds35m_ReadId(uint16_t *u16DeviceId);
int Ds35m_WritePageData(uint32_t pageOffsetNum, uint16_t addrOffset, uint8_t *inData, uint16_t len);
int Ds35m_ReadPageData(uint32_t pageOffsetNum, uint16_t addrOffset, uint8_t *outData, uint16_t len);
int Ds35m_EraseBlock(int blockNum);
int Ds35m_SwitchEcc(bool sw);
//方便bootloader 操作nandflash而开放出来的接口
int Ds35m_ReadOnePage(uint32_t chunkNum, uint8_t *outData);
int Ds35m_WriteOnePage(int chunkNum, uint8_t *inData);
#ifdef __cplusplus
}
#endif
#endif /* DS35M1GA_H */