在stm32f411中移植fal 组件
移植后调试信息如下
但是读取0x8000000 地址信息 但是返回
读取信息不成功,不知道错哪里了
在board.h 文件
打开 #define BSP_USING_ON_CHIP_FLASH
在stm32xxxx_hal_config.h 文件
打开 #define HAL_FLASH_MODULE_ENABLED
这里输入代码
#ifndef _FAL_CFG_H_
#define _FAL_CFG_H_
#include <rtconfig.h>
#include <board.h>
#define FLASH_SIZE_GRANULARITY_16K (4 * 16 * 1024)
#define FLASH_SIZE_GRANULARITY_64K (1 * 64 * 1024)
#define FLASH_SIZE_GRANULARITY_128K (1 * 128 * 1024)
#define STM32_FLASH_START_ADRESS_16K STM32_FLASH_START_ADRESS
#define STM32_FLASH_START_ADRESS_64K (STM32_FLASH_START_ADRESS_16K + FLASH_SIZE_GRANULARITY_16K)
#define STM32_FLASH_START_ADRESS_128K (STM32_FLASH_START_ADRESS_64K + FLASH_SIZE_GRANULARITY_64K)
/* ===================== Flash device Configuration ========================= */
extern const struct fal_flash_dev stm32_onchip_flash_16k;
extern const struct fal_flash_dev stm32_onchip_flash_64k;
extern const struct fal_flash_dev stm32_onchip_flash_128k;
/* flash device table */
#define FAL_FLASH_DEV_TABLE \
{ \
&stm32_onchip_flash_16k, \
&stm32_onchip_flash_64k, \
&stm32_onchip_flash_128k, \
}
/* ====================== Partition Configuration ========================== */
#ifdef FAL_PART_HAS_TABLE_CFG
/* partition table */
/* partition table */
#define FAL_PART_TABLE \
{ \
{FAL_PART_MAGIC_WROD, "bootloader", "onchip_flash_16k", 0 , FLASH_SIZE_GRANULARITY_16K , 0}, \
{FAL_PART_MAGIC_WROD, "param", "onchip_flash_64k", 0 , FLASH_SIZE_GRANULARITY_64K , 0}, \
{FAL_PART_MAGIC_WROD, "app", "onchip_flash_128k", 0 , FLASH_SIZE_GRANULARITY_128K, 0},\
}
#endif /* FAL_PART_HAS_TABLE_CFG */
#endif /* _FAL_CFG_H_ */**
乘的✳没显示出来,应该不耽误你理解。
修改board.h,将以下代码:
define ROM_START ((uint32_t)0x08000000)
define ROM_SIZE (256)
define ROM_END ((uint32_t)(ROM_START + ROM_SIZE * 1024))
define RAM_START (0x20000000)
define RAM_SIZE (48)
define RAM_END (RAM_START + RAM_SIZE * 1024)
修改为
define ROM_START ((uint32_t)0x08000000)
define ROM_SIZE (256 * 1024)
define ROM_END ((uint32_t)(ROM_START + ROM_SIZE))
define RAM_START (0x20000000)
define RAM_SIZE (48 * 1024)
define RAM_END (RAM_START + RAM_SIZE)