在Bootloader和应用程序之间共享FEE块
本应用笔记介绍了如何在引导加载程序和应用程序之间共享FEE块。在正常使用情况下,引导加载程序不会经常更新,而应用程序会经常更新。
1 问题
如果应用程序经常更改,并且与引导加载程序共享一些FEE块,则引导加载程序必须随应用程序一起更改(因为引导加载程序必须知道应用程序已配置了多少个块)。为了避免这种情况,可以将引导加载程序配置为复制未配置但由应用程序配置的所有块。图1显示了如何安排块以在引导加载程序和应用程序之间共享。
图1.一个部门中的块
如果引导加载程序中存在扇区交换,则可能无法将应用程序块复制到新扇区,如图2所示。
图2.错误的扇区交换
注意:如果应用程序和引导加载程序使用的块数相同(例如,共享块1,共享块2和无应用程序块),则两者都应使用相同的FEE配置。
2 解决方案
通过以下步骤解决了上述问题:
1) 为引导加载程序FEE配置配置两个块。
2) 为应用程序FEE配置配置六个块。
3) 配置引导加载程序FEE配置,以将
FEE_NUMBER_OF_UNCONFIGUREDBLOCKSTOCOPY(如果使用HALCoGen FEE驱动程序,则为TI_FEE_NUMBER_OF_UNCONFIGUREDB LOCKSTOCOPY)配置为4,并在应用程序FEE配置中配置为FEE_TOTAL_BLOCKS_DATASETS的值,如图 3 所示。
图3.正确的扇区交换
4) 如果使用了autosar FEE驱动程序,请使用EBTresos中图4中所示的配置参数。
图4. EBTresos配置参数
如果使用TI FEE驱动程序,请使用HALCoGen中图5所示的配置参数。
图5. HALCoGen配置参数
引导加载程序可以将FEE_NUMBER_OF_UNCONFIGUREDBLOCKSTOCOPY配置为最大值256。这允许引导加载程序在引导加载程序中发生扇区切换时将256个应用程序块复制到新扇区。应该仔细配置此参数,因为此宏的每个计数都需要3个字节的RAM。
参考www.ti.com/…/HALCOGEN http://processors.wiki.ti.com/index.php/TI_FEE
原文出处:http://www.ti.com/cn/lit/an/spracc5/spracc5.pdf
缩略语
EEPROM –电可擦可编程只读存储器FEE –闪存EEPROM仿真
HALCoGen –硬件抽象层代码生成器AUTOSAR –汽车开放系统架构
gaoyang9992006:
在Bootloader和应用程序之间共享FEE块.pdf
5432.spracc5.pdf
我翻译的和原文。
Susan Yang:
谢谢分享!