zoukankan      html  css  js  c++  java
  • TC275的Mcal的FEE和FLS部分相关配置

    首先需要完成对TC275的Mcal关于FEE和FLS部分的基本配置。

    可能还需要对Resource和Mcu模块进行最基本的配置。
    在集成过程中有以下需要注意的地方(可能是由于tc275的mcal的McalLib相关的公共资源的架构比较老):

    tc275的mcal的基本配置。已经能够正常使用生成配置的*c、*h文件了。
    tc275的mcal的集成问题。由于启动代码和与其他模块存在依赖的原因,存在以下文件的修改:

    文件Fls_17_Pmu_Protect.h,修改了以下宏定义:
    #define FLS_INIT_RESETENDINIT() mcal_simulated_applResetEndInit()
    #define FLS_INIT_SETENDINIT() mcal_simulated_applSetEndInit()
    文件OsStub.c中修改了以下函数的实现:
    void OS_ModifyPeripheral32(uint32 area,volatile uint32* address,
    uint32 clearmask, uint32 setmask);
    uint32 OS_ReadPeripheral32(uint32 Area,volatile uint32* Address);
    void OS_WritePeripheral32(uint32 Area,volatile uint32* Address,uint32 value);


    其中,FEE和FLS对其他模块的依赖是很小的。但是tc275中模块的依赖还是有一些的。注意,在TC275的mcal配置中,如果只是对FEE进行单元的功能测试,

    可以不使用EcuM和Mcu模块。其中EcuM是完全不需要添加的。而对于MCU模块可能必须要添加,否则在EB tresos 16.0.0 中可能会报错。

    但是在集成过程中,可以不使用Mcu的配置相关的inc和src文件。


    在配置中需要有以下注意事项:
    1、FeeBlockConfiguration中,
    FeeBlockNumber的意思是一个ID的意思(index的作用)。
    FeeBlockSize表示一次写入的bytes。

    2、在FeeNvmJobEndNotification中,
    需要配置callback为NvM_JobEndNotification。
    否者Fee_MainFunction和Fls_17_Pmu_MainFunction可能一直处于忙等待中出不来。

    3、在FlsConfigSet中添加一个FlsConfigSet_0。
    在FlsJobEndNotification中设置一个函数指针为Fee_JobEndNotification。否则会出现以下bug。

    [目前FEE在mcal中配置完成之后,一直在Fee_Init这个api中出不去。
    表现为,Fee_MainFunction这个函数一直被执行,FEE的状态机一直不能够变为idle状态。]

     经过测试,如果将JobErrorNotification在FEE和FLS中均进行配置,这个模拟EEPROM的功能还是很健壮的,能够对抗多次意外断电而不会陷入“死机”或者异常。

    当然也可能是测试得不够充分。

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    2018年2月1日学习总结
    2018年1月31日学习总结
    创建oracle数据库表空间和用户
    广播权限声明
    广播接收器
    Android的屏幕限定符
    hibernate学习笔记(3)hibernate常用配置以及session对象
    hibernate学习笔记(2)持久化类测试
    hibernate学习笔记(1)基础配置与jar包
    struts2学习笔记(5)拦截器
  • 原文地址:https://www.cnblogs.com/praiseslow/p/13612598.html
Copyright © 2011-2022 走看看