From 39eebfa5e969c1b7c82f671a9b3213109884589c Mon Sep 17 00:00:00 2001 From: huangjieliang Date: Wed, 1 Mar 2023 15:10:17 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=88=86=E5=8C=BA=E5=86=85=E5=AD=98=E4=B8=8E?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=A0=86=E5=86=85=E5=AD=98=E9=87=8D=E5=8F=A0?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Close #I6IQX6 Signed-off-by: huangjieliang Change-Id: Iea995f74197a8b4e3176823c6c80a164da5f3c53 --- .../board/driver/flash/ram_virt_flash.c | 19 +++++++++++++++++++ arm_mps2_an386/liteos_m/board/fs/fs_init.c | 4 ++++ 2 files changed, 23 insertions(+) diff --git a/arm_mps2_an386/liteos_m/board/driver/flash/ram_virt_flash.c b/arm_mps2_an386/liteos_m/board/driver/flash/ram_virt_flash.c index c831079..10651e7 100644 --- a/arm_mps2_an386/liteos_m/board/driver/flash/ram_virt_flash.c +++ b/arm_mps2_an386/liteos_m/board/driver/flash/ram_virt_flash.c @@ -52,6 +52,25 @@ HalLogicPartition g_halPartitions[] = { HalLogicPartition *getPartitionInfo(VOID) { + UINTPTR partitionMem; +#if (LOSCFG_SUPPORT_LITTLEFS == 1) + partitionMem = (UINTPTR)malloc(g_halPartitions[FLASH_PARTITION_DATA0].partitionLength); + if (!partitionMem) { + return NULL; + } + g_halPartitions[FLASH_PARTITION_DATA0].partitionStartAddr = partitionMem; +#endif +#if (LOSCFG_SUPPORT_FATFS == 1) + partitionMem = (UINTPTR)malloc(g_halPartitions[FLASH_PARTITION_DATA1].partitionLength); + if (!partitionMem) { +#if (LOSCFG_SUPPORT_LITTLEFS == 1) + free(g_halPartitions[FLASH_PARTITION_DATA0].partitionStartAddr); +#endif + return NULL; + } + g_halPartitions[FLASH_PARTITION_DATA1].partitionStartAddr = partitionMem; +#endif + return g_halPartitions; } diff --git a/arm_mps2_an386/liteos_m/board/fs/fs_init.c b/arm_mps2_an386/liteos_m/board/fs/fs_init.c index 2765c97..052920d 100644 --- a/arm_mps2_an386/liteos_m/board/fs/fs_init.c +++ b/arm_mps2_an386/liteos_m/board/fs/fs_init.c @@ -44,6 +44,10 @@ INT32 LfsLowLevelInit() INT32 ret; struct fs_cfg fs[LOSCFG_LFS_MAX_MOUNT_SIZE] = {0}; HalLogicPartition *halPartitionsInfo = getPartitionInfo(); + if (halPartitionsInfo == NULL) { + printf("%s: getPartitionInfo failed!\n", __func__); + return -1; + } INT32 lengthArray = halPartitionsInfo[FLASH_PARTITION_DATA0].partitionLength; INT32 addrArray = halPartitionsInfo[FLASH_PARTITION_DATA0].partitionStartAddr; -- Gitee