根据不同容量的flash , 自动设置日志存储的大小
更改fal_cfg.h 中的分区表
为
{FAL_PART_MAGIC_WORD, "easyflash", NOR_FLASH_DEV_NAME, 0, 1024*1024, 0}, \
{FAL_PART_MAGIC_WORD, "download", NOR_FLASH_DEV_NAME, 1024*1024, 1024*1024, 0}, \
{FAL_PART_MAGIC_WROD, "log", FAL_NOR_FLASH_NAME, (1024 + 1024) * 1024, 2 * 1024 * 1024, 0}, \
2 1 ef_log.c 中 , log init 函数中修改起始位置如下
log_area_start_addr = EF_START_ADDR + 2
1024
1024;
2 去掉使用 LOG_AREA_SIZE 的相关宏定义 并改为 unsigned int 类型
3 在ef_log_init 前, 加入获取 LOG_AREA_SIZE 的的语句
4 ef_fal_port.c中, 添加关于单独操作log 分区的操作函数.
5 需要在fal init 中, 重置一下, log 分区的大小 fal_partitiion.c
if(!strcmp(partition_table[i].flash_name,"log"))
{
partition_table[i].len = nor_flash0.len - 2*1024*1024; // 重置 log 分区大小
//如果当前分区是log 分区, 自适应flash 大小
}
版权声明:本文为qq_29505153原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。