[AutoSar]BSW_Memory_Stack_009 FEE 的配置更新操作


  

关键词

嵌入式、C语言、autosar、OS、BSW

平台说明

项目Value
OSautosar OS
autosar厂商vector , EB
芯片厂商TI 英飞凌
编程语言C,C++
编译器HighTec (GCC)
autosar版本4.3.1
参考文档TechnicalReference_Fee.pdf AUTOSAR_SWS_FlashEEPROMEmulation.pdf

在这里插入图片描述
  
  
>>>>>>>>>>>>>>>>>>>>>>>>>回到总目录<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  
  

缩写描述
EEPROMElectrically Erasable Programmable read only memory
NVMNVRAM Manager
MEMIFMemory Abstraction Interface
EAEEPROM Abstraction
EEPinternal/external EEPROM DRIVER
FEEFlash EEPROM Emulation
FLSinternal/external Flash Driver
FCFSFirst come first served
LUTLook Up Table
CHchunk header
CIchunk instance
CLchunk link

一、背景

  在实际开发阶段中,我们大概率会频繁修改NVRAM block 配置,FEE block 配置。一旦我们修改这些配置后如果直接刷入mcu上,大概率会卡在初始化阶段,因为会检测到FEE 无效导致系统喂狗超时或者其他error。

二、建议的更新操作

2.1 不需要旧的数据

  如果不需以前的旧的数据,可以在刷写新的配置前将片上的DFLASH 擦除掉,各大MCU 厂商都有相应的刷写工具。如果没有擦除DFLASH ,最好的情况也是会导致读取/写入 FEE 的性能大幅降低,很多开发者发现修改block 配置后 第一次上电启动会非常慢,但只要执行一次正常下电后,下次上电则会正常就是这个原因。

2.2 需要旧的数据

  这种情况往往用于在标定了一组数据后,发现手里居然没有备份,那就只能保留以前的标定了。这时候需要保证修改后的block ID 与以前相同,可以通过 blockID fixed 启用。一般可以更新这个block 的size, datasets等基础信息。
在这里插入图片描述
  在刷入新的配置后并且初始化完成FEE 后,则可以调用Fee_ForceSectorSwitch()来进行强制换页操作,拷贝数据到新sector并恢复FEE 的性能。极少情况下可能会调用两次Fee_ForceSectorSwitch().,重新清除两个sector。

Fee_ForceSectorSwitch();
<wait until IDLE>
Fee_ForceSectorSwitch();

  Fee_ForceSectorSwitch().通过使能下图配置。
在这里插入图片描述

三、更新 partition 配置

  除了能修改Background Sector Switch Reserve/Threshold和 Foreground Sector Switch/Threshold ,不允许修改其他配置,特别是对齐,地址和大小。如果一定要修改,只能进行DFLASH 擦除后再刷入MCU。

  
  
>>>>>>>>>>>>>>>>>>>>>>>>>回到总目录<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  • 30
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老灰╮(╯-╰)╭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值