首页 > 解决方案 > Micrium 文件系统分区问题

问题描述

我已将 NOR Flash 划分为两个区域,并尝试将这两个区域安装到单独的卷中。但我得到了错误

FS_FAT_VolOpen(): Invalid boot sec sig: 0xFFFF != 0xAA55.

我已按照步骤

  1. 打开设备

    FSDev_Open("nor:0:", (void *)&nor_cfg, &err);

  2. 创建了分区

FSDev_PartitionInit((CPU_CHAR*)"nor:0:",(FS_SEC_QTY )(6000),&err);
FSDev_PartitionAdd((CPU_CHAR*)"nor:0:",(FS_SEC_QTY )(6000),&err);

(闪存大小为 8Mb)

验证分区是否已创建或未使用

FSDev_GetNbrPartitions((CPU_CHAR*)"nor:0:",&err);

它返回为 2。

  1. 尝试使用格式化区域
FSVol_Open("vol:0:", "nor:0:", 1, &err);
FSVol_Open("vol:1:", "nor:0:", 2, &err);

错误返回为“FS_ERR_PARTITION_NOT_FOUND”:

我得到的错误是

FSPartition_RdEntry(): Invalid partition sig: 0xFFFF != 0xAA55.

标签: filesystemmicrium

解决方案


尝试格式化区域

FSVol_Open("vol:0:", "nor:0:", 0, &err);
FSVol_Open("vol:1:", "nor:0:", 1, &err);

我在 SD 卡上创建了两个分区 256MB 和 768MB。然后格式化索引为 1 和 2 的分区,并注意到索引为 1 的分区已创建,但卷为 768MB,第二个以错误结束。我将索引更改为 0 和 1 并且它起作用了。仅当分区不存在时才需要创建分区,否则您将丢失媒体上的信息。


推荐阅读