58 lines
2.2 KiB
C
58 lines
2.2 KiB
C
/*----------------------------------------------------------------------------
|
||
* Copyright (c) Fenda Technologies Co., Ltd. 2020. All rights reserved.
|
||
*
|
||
* Description: flash_drv_kas041s1.h
|
||
*
|
||
* Author: saimen
|
||
*
|
||
* Create: 2022-07-13
|
||
*--------------------------------------------------------------------------*/
|
||
|
||
#ifndef FLASH_DRV_KAS041S1_H
|
||
#define FLASH_DRV_KAS041S1_H
|
||
|
||
#include <stdint.h>
|
||
|
||
/********************************************************/
|
||
|
||
//页大小, 最小读写单元
|
||
#define EMMC_KAS041S1_READ_UNIT_SIZE 512
|
||
//扇区大小, 最小擦除单元
|
||
#define EMMC_KAS041S1_WRITE_UNIT_SIZE 512
|
||
//最小擦除单元大小
|
||
#define EMMC_KAS041S1_ERASE_UNIT_SIZE 512
|
||
//总大小
|
||
#define EMMC_KAS041S1_TOTAL_SIZE 0xe4000000//(7471104*512)
|
||
|
||
//FS ADD START
|
||
/** 文件系统宏定义 ------------------------------------- */
|
||
///FLASH器件后7/8为文件系统
|
||
#define EMMC_KAS041S1_FS_MEMORY_BASE (EMMC_KAS041S1_TOTAL_SIZE/8)
|
||
#define EMMC_KAS041S1_FS_MEMORY_SIZE (EMMC_KAS041S1_TOTAL_SIZE/8*7)
|
||
//FS ADD END
|
||
|
||
#define EMMC_KAS041S1_TIMEOUT 100000 //us
|
||
#define EMMC_KAS041S1_CHIP_ERASE_TIMEOUT 300000000 //us
|
||
|
||
|
||
//config
|
||
extern uint32_t flash_drv_kas041s1_get_chip_id(void);
|
||
extern int flash_drv_kas041s1_open(void);
|
||
extern int flash_drv_kas041s1_close(void);
|
||
extern int flash_drv_kas041s1_enter_low_power(void);
|
||
extern int flash_drv_kas041s1_exit_low_power(void);
|
||
extern int flash_drv_kas041s1_get_status(void);
|
||
//read,write,erase
|
||
extern int flash_drv_kas041s1_erase_chip(void);
|
||
extern int flash_drv_kas041s1_erase(uint32_t addr);
|
||
extern int flash_drv_kas041s1_read(uint32_t ui32_addr, uint8_t *p_data, uint32_t ui32_length);
|
||
extern int flash_drv_kas041s1_write(uint32_t ui32_addr, uint8_t *p_data, uint32_t ui32_length);
|
||
extern int flash_drv_kas041s1_read_ex(uint32_t ui32_addr, uint8_t *p_data, uint32_t ui32_length);
|
||
//fs:read,write,erase
|
||
extern int flash_drv_kas041s1_lfs_erase(uint32_t addr);
|
||
extern int flash_drv_kas041s1_lfs_read(uint32_t block, uint32_t offset, uint8_t *buffer, uint32_t size);
|
||
extern int flash_drv_kas041s1_lfs_write(uint32_t block, uint32_t offset, uint8_t *buffer, uint32_t size);
|
||
|
||
#endif
|
||
|