#ifndef __FAL_CFG_H #define __FAL_CFG_H /* * 模块名称:FAL 配置 * 模块功能:定义 Flash 物理分区布局和 FAL 设备/分区表 * 适用平台:STM32F407ZGT6 * 作者:王建锋 * 创建日期:2026-07-16 * 修改记录: * 2026-07-20 王建锋 统一分区配置,添加 FTL 分区宏供 nand_ftl.c 使用 */ #ifdef __cplusplus extern "C" { #endif /* ================== 物理分区布局(256MB GD5F2GQ5UE) ================== */ /* * 分区名 偏移 大小 块范围 用途 * fdb_kvdb1 0 64MB Block 0~511 FlashDB KVDB * fdb_tsdb1 64MB 64MB Block 512~1023 FlashDB TSDB * ftl_fatfs 128MB 128MB Block 1024~2047 dhara FTL + FatFS */ #define FDB_KVDB1_OFFSET 0 #define FDB_KVDB1_SIZE (64 * 1024 * 1024) #define FDB_TSDB1_OFFSET (FDB_KVDB1_OFFSET + FDB_KVDB1_SIZE) #define FDB_TSDB1_SIZE (64 * 1024 * 1024) #define FTL_FATFS_OFFSET (FDB_TSDB1_OFFSET + FDB_TSDB1_SIZE) #define FTL_FATFS_SIZE (128 * 1024 * 1024) /* ====================== FAL 配置(需 FAL 头文件) ====================== */ #define FAL_DEBUG 0 /* 启用分区表配置(FAL 库要求此宏) */ #define FAL_PART_HAS_TABLE_CFG /* ======================== Flash 设备表 ======================== */ extern const struct fal_flash_dev g_gd5f2gq5ue_flash; #define FAL_FLASH_DEV_TABLE \ { \ &g_gd5f2gq5ue_flash, \ } /* ======================== 分区表 ======================== */ #ifdef FAL_PART_HAS_TABLE_CFG #define FAL_PART_TABLE \ { \ {FAL_PART_MAGIC_WORD, "fdb_kvdb1", "gd5f2gq5ue", FDB_KVDB1_OFFSET, FDB_KVDB1_SIZE, 0}, \ {FAL_PART_MAGIC_WORD, "fdb_tsdb1", "gd5f2gq5ue", FDB_TSDB1_OFFSET, FDB_TSDB1_SIZE, 0}, \ } #endif /* FAL_PART_HAS_TABLE_CFG */ #ifdef __cplusplus } #endif #endif /* __FAL_CFG_H */