39 lines
1.2 KiB
C
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 */
|
|
|