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

58 lines
2.2 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*----------------------------------------------------------------------------
* 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);
//fsread,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