AUTOSAR-Fee模块
- 0 前言
- 1 Fee模块的设计原理
- 1.1 逻辑扇区和双扇区算法
- 1.2 逻辑块和地址空间
- 1.3 立即数据和阈值空间
- 1.4 配置指针和状态指针
- 2 Fee模块的C语言实现
- 2.1 C文件架构
- 2.2 使用到的类定义和状态枚举
- 2.3 配置指针和状态指针
- 2.4 Fee模块提供的API
- Fee_Init
- Fee_MainFunction
- Fee_Read
- Fee_Write
- Fee_Cancel
- Fee_GetStatus
- Fee_GetJobResult
- Fee_SetMode
- 2.5 Fee模块提供的Callback
- Fee_JobEndNotification
- Fee_JobErrorNotification
- 2.6 Fee模块使用的外部API
- Det_ReportError
- Mcal_ReportSafetyError
- 2.7 Fee模块使用的外部Callback
- NvM_JobEndNotification
- NvM_JobErrorNotification
- 3 Fee模块的DaVinci Configurator配制
- 3.1 Fee\FeeBlockConfigurations
- Device Index
- Blcok Number
- Blcok Size
- Immediate Data
- Number Of Write Cycles
- Quasi Static Manager
- Qs Block Address
- Qs Block Instances
- 4.2 Fee\FeeGeneral
- Main Function Period [s]
- Virtual Page Size
- Polling Mode
- Block Type Configured
- Nvm Job End Notification
- Nvm Job Error Notification
- Qs Job End Notification
- Qs Job Error Notification
- Dev Error Detect
- Safety Enable
- Init Check Api
- Set Mode supported
- Version Info Api
- 3.3 Fee\FeeIfxSpecificConfig
- Cancel All Api
- Erase All Enable
- Gc Restart
- Get Cycle Count Api
- Get Prev Data Api
- Max Block Count
- Max Bytes Per Cycle
- Nvm Illegal State Notification
- Qs Harden Error Notification
- Qs Illegal State Notification
- State Var Struct
- Threshold Value
- Um Config Blk Overflow Handler
- Um Config Block
- Use Erase Suspend
- Virgin Flash Illegal State
- 3.4 Fee\FeeDemEventParamterRefs
- E GC ERASE
- E GC INIT
- E GC READ
- E GC TRIG
- E GC WRITE
- E INVALIDATE
- E READ
- E UNCONFIG BLK EXCEEDED
- E WRITE
- E WRITE CYCLES EXHAUSTED
0 前言
>>返回AUTOSAR系列文章目录<<
Fee模块全称Flash EEPROM Emulation Module,属于ECU抽象层
Fee模块本身是脱离硬件的,但是Fee模块可能会引用的Fls模块定制API,所以只能算半抽象
本文中,由于Fls模块提供的API都是Fls_17_Dmu
打头的非标准API,所以Fee模块也必须使用英飞凌的定制版本
Fee模块最精简任务包括:
- 提供一个常量配制指针,供EcuM模块对其进行初始化
- 提供一个状态指针,供NvM模块了解其内部信息
- 实现双扇区算法、立即写
- 收到MemIf模块指令后,将32位地址空间解析为物理地址,传递给Fls模块执行
- Fls模块完成一个操作后,通过回调函数自动向NvM模块报告
1 Fee模块的设计原理
1.1 逻辑扇区和双扇区算法
在【AUTOSAR-Fls模块】2.1 Flash Emulation EEPROM已经介绍在Fls模块层面上的Flash Emulation EEPROM原理
在Fee模块层面上,首先将所管辖的Flash分为分区(Partition),每个Fls模块的FlsSector为一个Partition(通常只有1个)
每个Partition分为2个逻辑扇区(FeeLogicalSector),也称为Virtual Sector,等价于Fls模块的FlsPhysicalSector
Fee模块以FeeLogicalSector为单位进行Erase操作
双扇区算法换扇区过程在英飞凌中称为GC(Garbage Collection)
GC过程:
- Fee模块会先获取两个FeeLogicalSector的状态,假设FeeLogicalSector0状态为
Actived
,FeeLogicalSector1状态为Not Actived
- 需要存储的数据写入FeeLogicalSector0
- 当FeeLogicalSector0存满后,把FeeLogicalSector0中的各个Block的最新数据copy到FeeLogicalSector1,同时将FeeLogicalSector1状态置为
Actived
- 将FeeLogicalSector0里的数据全部Erase,同时将FeeLogicalSector0的状态置为
Not Actived
- 新到的数据就依次存到FeeLogicalSector1
- 当FeeLogicalSector1存满后,再将FeeLogicalSector1中各个Block的最新数据copy到FeeLogicalSector0;同时将FeeLogicalSector0状态置为
Actived
- 擦除FeeLogicalSector1里的数据,同时将FeeLogicalSector1的状态置为
Not Actived
- 如此循环往复
1.2 逻辑块和地址空间
Fee模块向上层提供32位虚拟地址空间(Virtual Linear Address Space),其中
- 前16位为Block Number,最多允许65536个逻辑块(Logical Block)
- 后16位为Block Offset,,即数据在Block中的偏移地址,每个Logical Block最大64K byte
Fee模块地址最小单位为Virtual Page,当前AUTOSAR下Virtual Page必须为8 byte
每个Logical Block首地址必须与一个VirtualPage首地址对齐,Logical Block尾地址如果不与一个Virtual Page对齐,则自动添加unused地址,对齐到最近的VirtualPage尾地址
Logical Block的Block Number是由NvM模块决定的,唯一但不连续
1.3 立即数据和阈值空间
包含即时数据(Immediate Data)的块必须即时写入,不允许出现Immediate Data写到一半,突然发现FeeLogicalSector0写不下,要等待换扇区的情况
为了避免这一情况,在FeeLogicalSector上设定阈值空间(Threshold Value),当FeeLogicalSector上剩余空间小于Threshold Value时,自动触发换扇区操作
显然Threshold Value必须大于所有包含Immediate Data的Logical Block的和
Immediate Write是最高优先级操作,NvM模块会取消正在进行的低优先级Read/Erase/Write或Compare作业
1.4 配置指针和状态指针
Fee模块作为ECU抽象层的模块,需要在Fls模块后初始化
Fee模块需要一个用const修饰的静态外部变量Fee_Config
存放模块初始化时所需的配置参数,Fee_Config
保存在数据段(.data)
Fee模块需要一个静态外部变量FeeStateVar
存放模块状态参数,FeeStateVar
保存在未初始化段(.bss)。Fee模块每一个操作中都需要读取或修改FeeStateVar
>>返回AUTOSAR系列文章目录<<
2 Fee模块的C语言实现
2.1 C文件架构
静态文件
|
描述
|
Fee.h
|
包含API所需的状态枚举常量、类定义、状态指针FeeStateVar 声明
|
Fee.c
|
API代码
|
Fee_Cbk.h
|
Callback Function声明
|
动态文件
|
描述
|
StartApplication_Fee_ecuc.arxml
|
Configurator生成的本地配置文件
|
Fee_Bswmd.arxml
|
|
Fee_Cfg.h
|
包含项目所需的常量宏定义、开关宏定义
|
Fee_PBcfg.h
|
包含配制指针Fee_Config 声明
|
Fee_PBcfg.c
|
包含配制指针Fee_Config 赋值
|
2.2 使用到的类定义和状态枚举
MemIf定义的类
|
描述
|
定义来源
|
MemIf_StatusType
|
描述Fls模块的Module Status:
1.MEMIF_UNINIT
模块未初始化
2.MEMIF_IDLE
没有需要处理的job
3.MEMIF_BUSY
模块正在处理job,不接受新job
|
MemIf_Types.h
|
MemIf_JobResultType
|
描述Fls模块的Job Result
1.MEMIF_JOB_OK
job处理成功
2.MEMIF_JOB_FAILED
job处理以error结束
3.MEMIF_JOB_PENDING
job正在处理
4.MEMIF_JOB_CANCELLED
job已经取消
|
MemIf_Types.h
|
MemIf_ModeType
|
描述Fls模块的Processing Mode:
1.MEMIF_MODE_SLOW
Slow模式
2.MEMIF_MODE_FAST
Fast模式
|
MemIf_Types.h
|
Std定义的类
|
描述
|
定义来源
|
Std_ReturnType
|
描述Job Request结果
1.E_OK
对同步指令,表示指令执行成功
对异步指令,表示指令被队列接受
2.E_NOT_OK
对同步指令,表示指令执行失败
对异步指令,表示指令被队列拒绝
|
Std_Type.h
|
2.3 配置指针和状态指针
- 配置指针
Fee_Config
在Fee_PBcfg.c中赋值,示例如下:
const Fee_ConfigType Fee_Config =
{/* State结构体指针,未赋值 */.FeeStatePtr = &(Fee_StateDataType)FeeStateVar,/* Pointer to Logical Block configuration */.FeeBlockConfigPtr = &(Fee_BlockType)Fee_BlockConfig[0],/* Fee Job End Notification Api */.FeeNvMJobEndNotificationPtr = &(Fee_NotificationPtrType)NvM_JobEndNotification, /* Fee Job Error Notification Api */.FeeNvMJobErrorNotificationPtr = &(Fee_NotificationPtrType)NvM_JobErrorNotification, /* Fee threshold value */.FeeThresholdLimit = (uint32)1024U,/* Number of block configurated */.FeeBlkCnt = (uint16)81U,/* Fee settings for unconfigured blocks and GC restart */.FeeGCConfigSetting = {/* Treatment to unconfigured blocks */.FeeUnconfigBlock = FEE_UNCONFIG_BLOCK_IGNORE, /* when Garbage Collection restart */.FeeGcResertPoint = FEE_GC_RESTART_INIT, /* Enable or disable Erase Suspend feature */.FeeUseEraseSuspend = FEE_ERASE_SUSPEND_DISABLE, /* Reserved */.unused = 0U, }, // Fee_GCConfigType/* Fee Illegal State Notification */.FeeNvMIllegalStateNotification = (Fee_NotificationPtrType)NULL_PTR,/* Fee QS Illegal State Notification */.FeeQsIllegalStateNotification = (Fee_NotificationPtrType)NULL_PTR,/* Fee Hardening Error Notification */.FeeQsHardenErrorNotification = (Fee_NotificationPtrType)NULL_PTR,/* Enable or disable Erase All feature */.FeeEraseAllEnable = (boolean)True
}
- 状态指针
FeeStateVar
在Fee.h中定义类型,在Fee_PBcfg.c中声明
typedef struct
{/* Fee Sector Info */Fee_SectorInfoType FeeSectorInfo[FEE_SECTORS];/* Fee Cache Info */Fee_CacheType FeeBlockInfo[FEE_TOTAL_BLOCK_COUNT];/* Last Written Block Info */Fee_LastWrittenBlkInfoType FeeLastWrittenBlkInfo;/* Current Block Being Written during GC */Fee_GcBlkInfoType FeeGcCurrBlkInfo;//以下省略
}Fee_StateDataType;
Fee_StateDataType FeeStateVar;
2.4 Fee模块提供的API
Fee_Init
void Fee_Init (Fee_ConfigType* Fee_Config )
|
#mermaid-svg-jz1iX2HaWl2gvZzz .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-jz1iX2HaWl2gvZzz .label text{fill:#333}#mermaid-svg-jz1iX2HaWl2gvZzz .node rect,#mermaid-svg-jz1iX2HaWl2gvZzz .node circle,#mermaid-svg-jz1iX2HaWl2gvZzz .node ellipse,#mermaid-svg-jz1iX2HaWl2gvZzz .node polygon,#mermaid-svg-jz1iX2HaWl2gvZzz .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-jz1iX2HaWl2gvZzz .node .label{text-align:center;fill:#333}#mermaid-svg-jz1iX2HaWl2gvZzz .node.clickable{cursor:pointer}#mermaid-svg-jz1iX2HaWl2gvZzz .arrowheadPath{fill:#333}#mermaid-svg-jz1iX2HaWl2gvZzz .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-jz1iX2HaWl2gvZzz .flowchart-link{stroke:#333;fill:none}#mermaid-svg-jz1iX2HaWl2gvZzz .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-jz1iX2HaWl2gvZzz .edgeLabel rect{opacity:0.9}#mermaid-svg-jz1iX2HaWl2gvZzz .edgeLabel span{color:#333}#mermaid-svg-jz1iX2HaWl2gvZzz .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-jz1iX2HaWl2gvZzz .cluster text{fill:#333}#mermaid-svg-jz1iX2HaWl2gvZzz div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-jz1iX2HaWl2gvZzz .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-jz1iX2HaWl2gvZzz text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-jz1iX2HaWl2gvZzz .actor-line{stroke:grey}#mermaid-svg-jz1iX2HaWl2gvZzz .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-jz1iX2HaWl2gvZzz .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-jz1iX2HaWl2gvZzz #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-jz1iX2HaWl2gvZzz .sequenceNumber{fill:#fff}#mermaid-svg-jz1iX2HaWl2gvZzz #sequencenumber{fill:#333}#mermaid-svg-jz1iX2HaWl2gvZzz #crosshead path{fill:#333;stroke:#333}#mermaid-svg-jz1iX2HaWl2gvZzz .messageText{fill:#333;stroke:#333}#mermaid-svg-jz1iX2HaWl2gvZzz .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-jz1iX2HaWl2gvZzz .labelText,#mermaid-svg-jz1iX2HaWl2gvZzz .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-jz1iX2HaWl2gvZzz .loopText,#mermaid-svg-jz1iX2HaWl2gvZzz .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-jz1iX2HaWl2gvZzz .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-jz1iX2HaWl2gvZzz .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-jz1iX2HaWl2gvZzz .noteText,#mermaid-svg-jz1iX2HaWl2gvZzz .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-jz1iX2HaWl2gvZzz .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-jz1iX2HaWl2gvZzz .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-jz1iX2HaWl2gvZzz .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-jz1iX2HaWl2gvZzz .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-jz1iX2HaWl2gvZzz .section{stroke:none;opacity:0.2}#mermaid-svg-jz1iX2HaWl2gvZzz .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-jz1iX2HaWl2gvZzz .section2{fill:#fff400}#mermaid-svg-jz1iX2HaWl2gvZzz .section1,#mermaid-svg-jz1iX2HaWl2gvZzz .section3{fill:#fff;opacity:0.2}#mermaid-svg-jz1iX2HaWl2gvZzz .sectionTitle0{fill:#333}#mermaid-svg-jz1iX2HaWl2gvZzz .sectionTitle1{fill:#333}#mermaid-svg-jz1iX2HaWl2gvZzz .sectionTitle2{fill:#333}#mermaid-svg-jz1iX2HaWl2gvZzz .sectionTitle3{fill:#333}#mermaid-svg-jz1iX2HaWl2gvZzz .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-jz1iX2HaWl2gvZzz .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-jz1iX2HaWl2gvZzz .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-jz1iX2HaWl2gvZzz .grid path{stroke-width:0}#mermaid-svg-jz1iX2HaWl2gvZzz .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-jz1iX2HaWl2gvZzz .task{stroke-width:2}#mermaid-svg-jz1iX2HaWl2gvZzz .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-jz1iX2HaWl2gvZzz .taskText:not([font-size]){font-size:11px}#mermaid-svg-jz1iX2HaWl2gvZzz .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-jz1iX2HaWl2gvZzz .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-jz1iX2HaWl2gvZzz .task.clickable{cursor:pointer}#mermaid-svg-jz1iX2HaWl2gvZzz .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-jz1iX2HaWl2gvZzz .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-jz1iX2HaWl2gvZzz .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-jz1iX2HaWl2gvZzz .taskText0,#mermaid-svg-jz1iX2HaWl2gvZzz .taskText1,#mermaid-svg-jz1iX2HaWl2gvZzz .taskText2,#mermaid-svg-jz1iX2HaWl2gvZzz .taskText3{fill:#fff}#mermaid-svg-jz1iX2HaWl2gvZzz .task0,#mermaid-svg-jz1iX2HaWl2gvZzz .task1,#mermaid-svg-jz1iX2HaWl2gvZzz .task2,#mermaid-svg-jz1iX2HaWl2gvZzz .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-jz1iX2HaWl2gvZzz .taskTextOutside0,#mermaid-svg-jz1iX2HaWl2gvZzz .taskTextOutside2{fill:#000}#mermaid-svg-jz1iX2HaWl2gvZzz .taskTextOutside1,#mermaid-svg-jz1iX2HaWl2gvZzz .taskTextOutside3{fill:#000}#mermaid-svg-jz1iX2HaWl2gvZzz .active0,#mermaid-svg-jz1iX2HaWl2gvZzz .active1,#mermaid-svg-jz1iX2HaWl2gvZzz .active2,#mermaid-svg-jz1iX2HaWl2gvZzz .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-jz1iX2HaWl2gvZzz .activeText0,#mermaid-svg-jz1iX2HaWl2gvZzz .activeText1,#mermaid-svg-jz1iX2HaWl2gvZzz .activeText2,#mermaid-svg-jz1iX2HaWl2gvZzz .activeText3{fill:#000 !important}#mermaid-svg-jz1iX2HaWl2gvZzz .done0,#mermaid-svg-jz1iX2HaWl2gvZzz .done1,#mermaid-svg-jz1iX2HaWl2gvZzz .done2,#mermaid-svg-jz1iX2HaWl2gvZzz .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-jz1iX2HaWl2gvZzz .doneText0,#mermaid-svg-jz1iX2HaWl2gvZzz .doneText1,#mermaid-svg-jz1iX2HaWl2gvZzz .doneText2,#mermaid-svg-jz1iX2HaWl2gvZzz .doneText3{fill:#000 !important}#mermaid-svg-jz1iX2HaWl2gvZzz .crit0,#mermaid-svg-jz1iX2HaWl2gvZzz .crit1,#mermaid-svg-jz1iX2HaWl2gvZzz .crit2,#mermaid-svg-jz1iX2HaWl2gvZzz .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-jz1iX2HaWl2gvZzz .activeCrit0,#mermaid-svg-jz1iX2HaWl2gvZzz .activeCrit1,#mermaid-svg-jz1iX2HaWl2gvZzz .activeCrit2,#mermaid-svg-jz1iX2HaWl2gvZzz .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-jz1iX2HaWl2gvZzz .doneCrit0,#mermaid-svg-jz1iX2HaWl2gvZzz .doneCrit1,#mermaid-svg-jz1iX2HaWl2gvZzz .doneCrit2,#mermaid-svg-jz1iX2HaWl2gvZzz .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-jz1iX2HaWl2gvZzz .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-jz1iX2HaWl2gvZzz .milestoneText{font-style:italic}#mermaid-svg-jz1iX2HaWl2gvZzz .doneCritText0,#mermaid-svg-jz1iX2HaWl2gvZzz .doneCritText1,#mermaid-svg-jz1iX2HaWl2gvZzz .doneCritText2,#mermaid-svg-jz1iX2HaWl2gvZzz .doneCritText3{fill:#000 !important}#mermaid-svg-jz1iX2HaWl2gvZzz .activeCritText0,#mermaid-svg-jz1iX2HaWl2gvZzz .activeCritText1,#mermaid-svg-jz1iX2HaWl2gvZzz .activeCritText2,#mermaid-svg-jz1iX2HaWl2gvZzz .activeCritText3{fill:#000 !important}#mermaid-svg-jz1iX2HaWl2gvZzz .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-jz1iX2HaWl2gvZzz g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-jz1iX2HaWl2gvZzz g.classGroup text .title{font-weight:bolder}#mermaid-svg-jz1iX2HaWl2gvZzz g.clickable{cursor:pointer}#mermaid-svg-jz1iX2HaWl2gvZzz g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-jz1iX2HaWl2gvZzz g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-jz1iX2HaWl2gvZzz .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-jz1iX2HaWl2gvZzz .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-jz1iX2HaWl2gvZzz .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-jz1iX2HaWl2gvZzz .dashed-line{stroke-dasharray:3}#mermaid-svg-jz1iX2HaWl2gvZzz #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-jz1iX2HaWl2gvZzz #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-jz1iX2HaWl2gvZzz #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-jz1iX2HaWl2gvZzz #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-jz1iX2HaWl2gvZzz #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-jz1iX2HaWl2gvZzz #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-jz1iX2HaWl2gvZzz #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-jz1iX2HaWl2gvZzz #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-jz1iX2HaWl2gvZzz .commit-id,#mermaid-svg-jz1iX2HaWl2gvZzz .commit-msg,#mermaid-svg-jz1iX2HaWl2gvZzz .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-jz1iX2HaWl2gvZzz .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-jz1iX2HaWl2gvZzz .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-jz1iX2HaWl2gvZzz g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-jz1iX2HaWl2gvZzz g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-jz1iX2HaWl2gvZzz g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-jz1iX2HaWl2gvZzz g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-jz1iX2HaWl2gvZzz g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-jz1iX2HaWl2gvZzz g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-jz1iX2HaWl2gvZzz .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-jz1iX2HaWl2gvZzz .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-jz1iX2HaWl2gvZzz .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-jz1iX2HaWl2gvZzz .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-jz1iX2HaWl2gvZzz .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-jz1iX2HaWl2gvZzz .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-jz1iX2HaWl2gvZzz .edgeLabel text{fill:#333}#mermaid-svg-jz1iX2HaWl2gvZzz .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-jz1iX2HaWl2gvZzz .node circle.state-start{fill:black;stroke:black}#mermaid-svg-jz1iX2HaWl2gvZzz .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-jz1iX2HaWl2gvZzz #statediagram-barbEnd{fill:#9370db}#mermaid-svg-jz1iX2HaWl2gvZzz .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-jz1iX2HaWl2gvZzz .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-jz1iX2HaWl2gvZzz .statediagram-state .divider{stroke:#9370db}#mermaid-svg-jz1iX2HaWl2gvZzz .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-jz1iX2HaWl2gvZzz .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-jz1iX2HaWl2gvZzz .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-jz1iX2HaWl2gvZzz .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-jz1iX2HaWl2gvZzz .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-jz1iX2HaWl2gvZzz .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-jz1iX2HaWl2gvZzz .note-edge{stroke-dasharray:5}#mermaid-svg-jz1iX2HaWl2gvZzz .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-jz1iX2HaWl2gvZzz .error-icon{fill:#522}#mermaid-svg-jz1iX2HaWl2gvZzz .error-text{fill:#522;stroke:#522}#mermaid-svg-jz1iX2HaWl2gvZzz .edge-thickness-normal{stroke-width:2px}#mermaid-svg-jz1iX2HaWl2gvZzz .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-jz1iX2HaWl2gvZzz .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-jz1iX2HaWl2gvZzz .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-jz1iX2HaWl2gvZzz .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-jz1iX2HaWl2gvZzz .marker{fill:#333}#mermaid-svg-jz1iX2HaWl2gvZzz .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-jz1iX2HaWl2gvZzz {color: rgba(0, 0, 0, 0.75);font: ;}BrsMainEcuMEcuM_Callout_StubsOsFeeEcuM_InitEcuM_AL_DriverInitOneFee_InitFee_InitEcuM_AL_DriverInitOneEcuM_StartOsStartOSStartOSEcuM_StartOsEcuM_InitBrsMainEcuMEcuM_Callout_StubsOsFee
- 由EcuM模块调用
Fee_Init
完成对Fee模块的初始化
Fee_Init
需要排在Fls_17_Dmu_Init
的后面
- 初始化所需参数在配置指针
Fee_Config
中,初始化包括对DMU寄存器的初始化和对状态指针FeeStateVar
的初始化
- 初始化后,Fee模块的Module Status==
MEMIF_IDLE
,Job Result=MEMIF_JOB_OK
Fee_MainFunction
void Fee_Mainfunction (void)
|
#mermaid-svg-U9YMRrevD3qIUnp0 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-U9YMRrevD3qIUnp0 .label text{fill:#333}#mermaid-svg-U9YMRrevD3qIUnp0 .node rect,#mermaid-svg-U9YMRrevD3qIUnp0 .node circle,#mermaid-svg-U9YMRrevD3qIUnp0 .node ellipse,#mermaid-svg-U9YMRrevD3qIUnp0 .node polygon,#mermaid-svg-U9YMRrevD3qIUnp0 .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-U9YMRrevD3qIUnp0 .node .label{text-align:center;fill:#333}#mermaid-svg-U9YMRrevD3qIUnp0 .node.clickable{cursor:pointer}#mermaid-svg-U9YMRrevD3qIUnp0 .arrowheadPath{fill:#333}#mermaid-svg-U9YMRrevD3qIUnp0 .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-U9YMRrevD3qIUnp0 .flowchart-link{stroke:#333;fill:none}#mermaid-svg-U9YMRrevD3qIUnp0 .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-U9YMRrevD3qIUnp0 .edgeLabel rect{opacity:0.9}#mermaid-svg-U9YMRrevD3qIUnp0 .edgeLabel span{color:#333}#mermaid-svg-U9YMRrevD3qIUnp0 .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-U9YMRrevD3qIUnp0 .cluster text{fill:#333}#mermaid-svg-U9YMRrevD3qIUnp0 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-U9YMRrevD3qIUnp0 .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-U9YMRrevD3qIUnp0 text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-U9YMRrevD3qIUnp0 .actor-line{stroke:grey}#mermaid-svg-U9YMRrevD3qIUnp0 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-U9YMRrevD3qIUnp0 .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-U9YMRrevD3qIUnp0 #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-U9YMRrevD3qIUnp0 .sequenceNumber{fill:#fff}#mermaid-svg-U9YMRrevD3qIUnp0 #sequencenumber{fill:#333}#mermaid-svg-U9YMRrevD3qIUnp0 #crosshead path{fill:#333;stroke:#333}#mermaid-svg-U9YMRrevD3qIUnp0 .messageText{fill:#333;stroke:#333}#mermaid-svg-U9YMRrevD3qIUnp0 .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-U9YMRrevD3qIUnp0 .labelText,#mermaid-svg-U9YMRrevD3qIUnp0 .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-U9YMRrevD3qIUnp0 .loopText,#mermaid-svg-U9YMRrevD3qIUnp0 .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-U9YMRrevD3qIUnp0 .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-U9YMRrevD3qIUnp0 .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-U9YMRrevD3qIUnp0 .noteText,#mermaid-svg-U9YMRrevD3qIUnp0 .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-U9YMRrevD3qIUnp0 .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-U9YMRrevD3qIUnp0 .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-U9YMRrevD3qIUnp0 .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-U9YMRrevD3qIUnp0 .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-U9YMRrevD3qIUnp0 .section{stroke:none;opacity:0.2}#mermaid-svg-U9YMRrevD3qIUnp0 .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-U9YMRrevD3qIUnp0 .section2{fill:#fff400}#mermaid-svg-U9YMRrevD3qIUnp0 .section1,#mermaid-svg-U9YMRrevD3qIUnp0 .section3{fill:#fff;opacity:0.2}#mermaid-svg-U9YMRrevD3qIUnp0 .sectionTitle0{fill:#333}#mermaid-svg-U9YMRrevD3qIUnp0 .sectionTitle1{fill:#333}#mermaid-svg-U9YMRrevD3qIUnp0 .sectionTitle2{fill:#333}#mermaid-svg-U9YMRrevD3qIUnp0 .sectionTitle3{fill:#333}#mermaid-svg-U9YMRrevD3qIUnp0 .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-U9YMRrevD3qIUnp0 .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-U9YMRrevD3qIUnp0 .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-U9YMRrevD3qIUnp0 .grid path{stroke-width:0}#mermaid-svg-U9YMRrevD3qIUnp0 .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-U9YMRrevD3qIUnp0 .task{stroke-width:2}#mermaid-svg-U9YMRrevD3qIUnp0 .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-U9YMRrevD3qIUnp0 .taskText:not([font-size]){font-size:11px}#mermaid-svg-U9YMRrevD3qIUnp0 .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-U9YMRrevD3qIUnp0 .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-U9YMRrevD3qIUnp0 .task.clickable{cursor:pointer}#mermaid-svg-U9YMRrevD3qIUnp0 .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-U9YMRrevD3qIUnp0 .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-U9YMRrevD3qIUnp0 .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-U9YMRrevD3qIUnp0 .taskText0,#mermaid-svg-U9YMRrevD3qIUnp0 .taskText1,#mermaid-svg-U9YMRrevD3qIUnp0 .taskText2,#mermaid-svg-U9YMRrevD3qIUnp0 .taskText3{fill:#fff}#mermaid-svg-U9YMRrevD3qIUnp0 .task0,#mermaid-svg-U9YMRrevD3qIUnp0 .task1,#mermaid-svg-U9YMRrevD3qIUnp0 .task2,#mermaid-svg-U9YMRrevD3qIUnp0 .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-U9YMRrevD3qIUnp0 .taskTextOutside0,#mermaid-svg-U9YMRrevD3qIUnp0 .taskTextOutside2{fill:#000}#mermaid-svg-U9YMRrevD3qIUnp0 .taskTextOutside1,#mermaid-svg-U9YMRrevD3qIUnp0 .taskTextOutside3{fill:#000}#mermaid-svg-U9YMRrevD3qIUnp0 .active0,#mermaid-svg-U9YMRrevD3qIUnp0 .active1,#mermaid-svg-U9YMRrevD3qIUnp0 .active2,#mermaid-svg-U9YMRrevD3qIUnp0 .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-U9YMRrevD3qIUnp0 .activeText0,#mermaid-svg-U9YMRrevD3qIUnp0 .activeText1,#mermaid-svg-U9YMRrevD3qIUnp0 .activeText2,#mermaid-svg-U9YMRrevD3qIUnp0 .activeText3{fill:#000 !important}#mermaid-svg-U9YMRrevD3qIUnp0 .done0,#mermaid-svg-U9YMRrevD3qIUnp0 .done1,#mermaid-svg-U9YMRrevD3qIUnp0 .done2,#mermaid-svg-U9YMRrevD3qIUnp0 .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-U9YMRrevD3qIUnp0 .doneText0,#mermaid-svg-U9YMRrevD3qIUnp0 .doneText1,#mermaid-svg-U9YMRrevD3qIUnp0 .doneText2,#mermaid-svg-U9YMRrevD3qIUnp0 .doneText3{fill:#000 !important}#mermaid-svg-U9YMRrevD3qIUnp0 .crit0,#mermaid-svg-U9YMRrevD3qIUnp0 .crit1,#mermaid-svg-U9YMRrevD3qIUnp0 .crit2,#mermaid-svg-U9YMRrevD3qIUnp0 .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-U9YMRrevD3qIUnp0 .activeCrit0,#mermaid-svg-U9YMRrevD3qIUnp0 .activeCrit1,#mermaid-svg-U9YMRrevD3qIUnp0 .activeCrit2,#mermaid-svg-U9YMRrevD3qIUnp0 .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-U9YMRrevD3qIUnp0 .doneCrit0,#mermaid-svg-U9YMRrevD3qIUnp0 .doneCrit1,#mermaid-svg-U9YMRrevD3qIUnp0 .doneCrit2,#mermaid-svg-U9YMRrevD3qIUnp0 .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-U9YMRrevD3qIUnp0 .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-U9YMRrevD3qIUnp0 .milestoneText{font-style:italic}#mermaid-svg-U9YMRrevD3qIUnp0 .doneCritText0,#mermaid-svg-U9YMRrevD3qIUnp0 .doneCritText1,#mermaid-svg-U9YMRrevD3qIUnp0 .doneCritText2,#mermaid-svg-U9YMRrevD3qIUnp0 .doneCritText3{fill:#000 !important}#mermaid-svg-U9YMRrevD3qIUnp0 .activeCritText0,#mermaid-svg-U9YMRrevD3qIUnp0 .activeCritText1,#mermaid-svg-U9YMRrevD3qIUnp0 .activeCritText2,#mermaid-svg-U9YMRrevD3qIUnp0 .activeCritText3{fill:#000 !important}#mermaid-svg-U9YMRrevD3qIUnp0 .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-U9YMRrevD3qIUnp0 g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-U9YMRrevD3qIUnp0 g.classGroup text .title{font-weight:bolder}#mermaid-svg-U9YMRrevD3qIUnp0 g.clickable{cursor:pointer}#mermaid-svg-U9YMRrevD3qIUnp0 g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-U9YMRrevD3qIUnp0 g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-U9YMRrevD3qIUnp0 .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-U9YMRrevD3qIUnp0 .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-U9YMRrevD3qIUnp0 .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-U9YMRrevD3qIUnp0 .dashed-line{stroke-dasharray:3}#mermaid-svg-U9YMRrevD3qIUnp0 #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-U9YMRrevD3qIUnp0 #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-U9YMRrevD3qIUnp0 #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-U9YMRrevD3qIUnp0 #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-U9YMRrevD3qIUnp0 #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-U9YMRrevD3qIUnp0 #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-U9YMRrevD3qIUnp0 #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-U9YMRrevD3qIUnp0 #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-U9YMRrevD3qIUnp0 .commit-id,#mermaid-svg-U9YMRrevD3qIUnp0 .commit-msg,#mermaid-svg-U9YMRrevD3qIUnp0 .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-U9YMRrevD3qIUnp0 .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-U9YMRrevD3qIUnp0 .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-U9YMRrevD3qIUnp0 g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-U9YMRrevD3qIUnp0 g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-U9YMRrevD3qIUnp0 g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-U9YMRrevD3qIUnp0 g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-U9YMRrevD3qIUnp0 g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-U9YMRrevD3qIUnp0 g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-U9YMRrevD3qIUnp0 .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-U9YMRrevD3qIUnp0 .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-U9YMRrevD3qIUnp0 .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-U9YMRrevD3qIUnp0 .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-U9YMRrevD3qIUnp0 .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-U9YMRrevD3qIUnp0 .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-U9YMRrevD3qIUnp0 .edgeLabel text{fill:#333}#mermaid-svg-U9YMRrevD3qIUnp0 .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-U9YMRrevD3qIUnp0 .node circle.state-start{fill:black;stroke:black}#mermaid-svg-U9YMRrevD3qIUnp0 .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-U9YMRrevD3qIUnp0 #statediagram-barbEnd{fill:#9370db}#mermaid-svg-U9YMRrevD3qIUnp0 .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-U9YMRrevD3qIUnp0 .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-U9YMRrevD3qIUnp0 .statediagram-state .divider{stroke:#9370db}#mermaid-svg-U9YMRrevD3qIUnp0 .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-U9YMRrevD3qIUnp0 .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-U9YMRrevD3qIUnp0 .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-U9YMRrevD3qIUnp0 .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-U9YMRrevD3qIUnp0 .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-U9YMRrevD3qIUnp0 .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-U9YMRrevD3qIUnp0 .note-edge{stroke-dasharray:5}#mermaid-svg-U9YMRrevD3qIUnp0 .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-U9YMRrevD3qIUnp0 .error-icon{fill:#522}#mermaid-svg-U9YMRrevD3qIUnp0 .error-text{fill:#522;stroke:#522}#mermaid-svg-U9YMRrevD3qIUnp0 .edge-thickness-normal{stroke-width:2px}#mermaid-svg-U9YMRrevD3qIUnp0 .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-U9YMRrevD3qIUnp0 .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-U9YMRrevD3qIUnp0 .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-U9YMRrevD3qIUnp0 .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-U9YMRrevD3qIUnp0 .marker{fill:#333}#mermaid-svg-U9YMRrevD3qIUnp0 .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-U9YMRrevD3qIUnp0 {color: rgba(0, 0, 0, 0.75);font: ;}SchMDefault_BSW_Async_Task_Core0FeeActivateTaskFee_MainFunctionswitch FeeMainJobFee_MainFunctionloopSchMDefault_BSW_Async_Task_Core0Fee
Fee_MainFunction
在Default_BSW_Async_Task_Core0
中以10ms周期被调用,负责执行异步job
Fee_MainFunction
根据FeeStateVar->FeeMainJob
确定当前任务,FeeStateVar->FeeMainJob
有以下状态:
-
FeeMainJob
-
FEE_MAIN_UNINIT
-
FEE_MAIN_INITGC
-
FEE_MAIN_CACHEUPDATE
-
FEE_MAIN_READ
-
FEE_MAIN_WRITE
-
FEE_MAIN_GC
Fee_MainFunction
在一次周期中处理的数据量取决于配置的Processing Mode = Fast Mode / Slow Mode
Fee_MainFunction
在处理完一个job后,将调用Job End Notification,或者如果发生错误,将执行Job Error Notification
Fee_Read
Std_ReturnType Fee_Read
(
uint16 BlockNumber ,
uint16 BlockOffset ,
uint8* DataBufferPtr ,
uint16 Length
)
|
#mermaid-svg-hijL7aJKKhbEjBeC .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-hijL7aJKKhbEjBeC .label text{fill:#333}#mermaid-svg-hijL7aJKKhbEjBeC .node rect,#mermaid-svg-hijL7aJKKhbEjBeC .node circle,#mermaid-svg-hijL7aJKKhbEjBeC .node ellipse,#mermaid-svg-hijL7aJKKhbEjBeC .node polygon,#mermaid-svg-hijL7aJKKhbEjBeC .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-hijL7aJKKhbEjBeC .node .label{text-align:center;fill:#333}#mermaid-svg-hijL7aJKKhbEjBeC .node.clickable{cursor:pointer}#mermaid-svg-hijL7aJKKhbEjBeC .arrowheadPath{fill:#333}#mermaid-svg-hijL7aJKKhbEjBeC .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-hijL7aJKKhbEjBeC .flowchart-link{stroke:#333;fill:none}#mermaid-svg-hijL7aJKKhbEjBeC .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-hijL7aJKKhbEjBeC .edgeLabel rect{opacity:0.9}#mermaid-svg-hijL7aJKKhbEjBeC .edgeLabel span{color:#333}#mermaid-svg-hijL7aJKKhbEjBeC .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-hijL7aJKKhbEjBeC .cluster text{fill:#333}#mermaid-svg-hijL7aJKKhbEjBeC div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-hijL7aJKKhbEjBeC .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-hijL7aJKKhbEjBeC text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-hijL7aJKKhbEjBeC .actor-line{stroke:grey}#mermaid-svg-hijL7aJKKhbEjBeC .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-hijL7aJKKhbEjBeC .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-hijL7aJKKhbEjBeC #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-hijL7aJKKhbEjBeC .sequenceNumber{fill:#fff}#mermaid-svg-hijL7aJKKhbEjBeC #sequencenumber{fill:#333}#mermaid-svg-hijL7aJKKhbEjBeC #crosshead path{fill:#333;stroke:#333}#mermaid-svg-hijL7aJKKhbEjBeC .messageText{fill:#333;stroke:#333}#mermaid-svg-hijL7aJKKhbEjBeC .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-hijL7aJKKhbEjBeC .labelText,#mermaid-svg-hijL7aJKKhbEjBeC .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-hijL7aJKKhbEjBeC .loopText,#mermaid-svg-hijL7aJKKhbEjBeC .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-hijL7aJKKhbEjBeC .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-hijL7aJKKhbEjBeC .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-hijL7aJKKhbEjBeC .noteText,#mermaid-svg-hijL7aJKKhbEjBeC .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-hijL7aJKKhbEjBeC .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-hijL7aJKKhbEjBeC .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-hijL7aJKKhbEjBeC .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-hijL7aJKKhbEjBeC .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hijL7aJKKhbEjBeC .section{stroke:none;opacity:0.2}#mermaid-svg-hijL7aJKKhbEjBeC .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-hijL7aJKKhbEjBeC .section2{fill:#fff400}#mermaid-svg-hijL7aJKKhbEjBeC .section1,#mermaid-svg-hijL7aJKKhbEjBeC .section3{fill:#fff;opacity:0.2}#mermaid-svg-hijL7aJKKhbEjBeC .sectionTitle0{fill:#333}#mermaid-svg-hijL7aJKKhbEjBeC .sectionTitle1{fill:#333}#mermaid-svg-hijL7aJKKhbEjBeC .sectionTitle2{fill:#333}#mermaid-svg-hijL7aJKKhbEjBeC .sectionTitle3{fill:#333}#mermaid-svg-hijL7aJKKhbEjBeC .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hijL7aJKKhbEjBeC .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-hijL7aJKKhbEjBeC .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hijL7aJKKhbEjBeC .grid path{stroke-width:0}#mermaid-svg-hijL7aJKKhbEjBeC .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-hijL7aJKKhbEjBeC .task{stroke-width:2}#mermaid-svg-hijL7aJKKhbEjBeC .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hijL7aJKKhbEjBeC .taskText:not([font-size]){font-size:11px}#mermaid-svg-hijL7aJKKhbEjBeC .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hijL7aJKKhbEjBeC .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-hijL7aJKKhbEjBeC .task.clickable{cursor:pointer}#mermaid-svg-hijL7aJKKhbEjBeC .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-hijL7aJKKhbEjBeC .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-hijL7aJKKhbEjBeC .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-hijL7aJKKhbEjBeC .taskText0,#mermaid-svg-hijL7aJKKhbEjBeC .taskText1,#mermaid-svg-hijL7aJKKhbEjBeC .taskText2,#mermaid-svg-hijL7aJKKhbEjBeC .taskText3{fill:#fff}#mermaid-svg-hijL7aJKKhbEjBeC .task0,#mermaid-svg-hijL7aJKKhbEjBeC .task1,#mermaid-svg-hijL7aJKKhbEjBeC .task2,#mermaid-svg-hijL7aJKKhbEjBeC .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-hijL7aJKKhbEjBeC .taskTextOutside0,#mermaid-svg-hijL7aJKKhbEjBeC .taskTextOutside2{fill:#000}#mermaid-svg-hijL7aJKKhbEjBeC .taskTextOutside1,#mermaid-svg-hijL7aJKKhbEjBeC .taskTextOutside3{fill:#000}#mermaid-svg-hijL7aJKKhbEjBeC .active0,#mermaid-svg-hijL7aJKKhbEjBeC .active1,#mermaid-svg-hijL7aJKKhbEjBeC .active2,#mermaid-svg-hijL7aJKKhbEjBeC .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-hijL7aJKKhbEjBeC .activeText0,#mermaid-svg-hijL7aJKKhbEjBeC .activeText1,#mermaid-svg-hijL7aJKKhbEjBeC .activeText2,#mermaid-svg-hijL7aJKKhbEjBeC .activeText3{fill:#000 !important}#mermaid-svg-hijL7aJKKhbEjBeC .done0,#mermaid-svg-hijL7aJKKhbEjBeC .done1,#mermaid-svg-hijL7aJKKhbEjBeC .done2,#mermaid-svg-hijL7aJKKhbEjBeC .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-hijL7aJKKhbEjBeC .doneText0,#mermaid-svg-hijL7aJKKhbEjBeC .doneText1,#mermaid-svg-hijL7aJKKhbEjBeC .doneText2,#mermaid-svg-hijL7aJKKhbEjBeC .doneText3{fill:#000 !important}#mermaid-svg-hijL7aJKKhbEjBeC .crit0,#mermaid-svg-hijL7aJKKhbEjBeC .crit1,#mermaid-svg-hijL7aJKKhbEjBeC .crit2,#mermaid-svg-hijL7aJKKhbEjBeC .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-hijL7aJKKhbEjBeC .activeCrit0,#mermaid-svg-hijL7aJKKhbEjBeC .activeCrit1,#mermaid-svg-hijL7aJKKhbEjBeC .activeCrit2,#mermaid-svg-hijL7aJKKhbEjBeC .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-hijL7aJKKhbEjBeC .doneCrit0,#mermaid-svg-hijL7aJKKhbEjBeC .doneCrit1,#mermaid-svg-hijL7aJKKhbEjBeC .doneCrit2,#mermaid-svg-hijL7aJKKhbEjBeC .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-hijL7aJKKhbEjBeC .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-hijL7aJKKhbEjBeC .milestoneText{font-style:italic}#mermaid-svg-hijL7aJKKhbEjBeC .doneCritText0,#mermaid-svg-hijL7aJKKhbEjBeC .doneCritText1,#mermaid-svg-hijL7aJKKhbEjBeC .doneCritText2,#mermaid-svg-hijL7aJKKhbEjBeC .doneCritText3{fill:#000 !important}#mermaid-svg-hijL7aJKKhbEjBeC .activeCritText0,#mermaid-svg-hijL7aJKKhbEjBeC .activeCritText1,#mermaid-svg-hijL7aJKKhbEjBeC .activeCritText2,#mermaid-svg-hijL7aJKKhbEjBeC .activeCritText3{fill:#000 !important}#mermaid-svg-hijL7aJKKhbEjBeC .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hijL7aJKKhbEjBeC g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-hijL7aJKKhbEjBeC g.classGroup text .title{font-weight:bolder}#mermaid-svg-hijL7aJKKhbEjBeC g.clickable{cursor:pointer}#mermaid-svg-hijL7aJKKhbEjBeC g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-hijL7aJKKhbEjBeC g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-hijL7aJKKhbEjBeC .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-hijL7aJKKhbEjBeC .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-hijL7aJKKhbEjBeC .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-hijL7aJKKhbEjBeC .dashed-line{stroke-dasharray:3}#mermaid-svg-hijL7aJKKhbEjBeC #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-hijL7aJKKhbEjBeC #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-hijL7aJKKhbEjBeC #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-hijL7aJKKhbEjBeC #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-hijL7aJKKhbEjBeC #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-hijL7aJKKhbEjBeC #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-hijL7aJKKhbEjBeC #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-hijL7aJKKhbEjBeC #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-hijL7aJKKhbEjBeC .commit-id,#mermaid-svg-hijL7aJKKhbEjBeC .commit-msg,#mermaid-svg-hijL7aJKKhbEjBeC .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hijL7aJKKhbEjBeC .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hijL7aJKKhbEjBeC .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hijL7aJKKhbEjBeC g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hijL7aJKKhbEjBeC g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-hijL7aJKKhbEjBeC g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-hijL7aJKKhbEjBeC g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-hijL7aJKKhbEjBeC g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-hijL7aJKKhbEjBeC g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-hijL7aJKKhbEjBeC .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-hijL7aJKKhbEjBeC .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-hijL7aJKKhbEjBeC .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-hijL7aJKKhbEjBeC .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-hijL7aJKKhbEjBeC .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-hijL7aJKKhbEjBeC .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-hijL7aJKKhbEjBeC .edgeLabel text{fill:#333}#mermaid-svg-hijL7aJKKhbEjBeC .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hijL7aJKKhbEjBeC .node circle.state-start{fill:black;stroke:black}#mermaid-svg-hijL7aJKKhbEjBeC .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-hijL7aJKKhbEjBeC #statediagram-barbEnd{fill:#9370db}#mermaid-svg-hijL7aJKKhbEjBeC .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-hijL7aJKKhbEjBeC .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-hijL7aJKKhbEjBeC .statediagram-state .divider{stroke:#9370db}#mermaid-svg-hijL7aJKKhbEjBeC .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-hijL7aJKKhbEjBeC .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-hijL7aJKKhbEjBeC .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-hijL7aJKKhbEjBeC .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-hijL7aJKKhbEjBeC .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-hijL7aJKKhbEjBeC .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-hijL7aJKKhbEjBeC .note-edge{stroke-dasharray:5}#mermaid-svg-hijL7aJKKhbEjBeC .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-hijL7aJKKhbEjBeC .error-icon{fill:#522}#mermaid-svg-hijL7aJKKhbEjBeC .error-text{fill:#522;stroke:#522}#mermaid-svg-hijL7aJKKhbEjBeC .edge-thickness-normal{stroke-width:2px}#mermaid-svg-hijL7aJKKhbEjBeC .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-hijL7aJKKhbEjBeC .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-hijL7aJKKhbEjBeC .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-hijL7aJKKhbEjBeC .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-hijL7aJKKhbEjBeC .marker{fill:#333}#mermaid-svg-hijL7aJKKhbEjBeC .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-hijL7aJKKhbEjBeC {color: rgba(0, 0, 0, 0.75);font: ;}Default_BSW_Async_Task_Core0MemIfFeeFlsFee_ReadFeeMainJob=FEE_MAIN_READFee_ReadFee_MainFunctionFls_17_Dmu_ReadFls_17_Dmu_ReadFee_MainFunctionDefault_BSW_Async_Task_Core0MemIfFeeFls
Fee_Read
设置状态FeeMainJob=FEE_MAIN_READ
Fee_MainFunction
执行后检测到FEE_MAIN_READ
,开始处理
- 将
BlockNumber
转为BlockId
,通过BlockOffset
、Length
获取数据的虚拟地址
- 虚拟地址转换为Block Instance在Flash中的实际地址
- 调用
Fls_17_Dmu_Read
,将实际地址上的数据存入DataBufferPtr
指向的RAM区域
- 异步Job,在
Fee_MainFunction
中执行
- 此Job只有在Module Status==
MEMIF_IDLE
才能请求
Fee_Write
Std_ReturnType Fee_Write
(
uint16 BlockNumber ,
uint8* DataBufferPtr
)
|
#mermaid-svg-3cNhvOF5uX3WHvzd .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-3cNhvOF5uX3WHvzd .label text{fill:#333}#mermaid-svg-3cNhvOF5uX3WHvzd .node rect,#mermaid-svg-3cNhvOF5uX3WHvzd .node circle,#mermaid-svg-3cNhvOF5uX3WHvzd .node ellipse,#mermaid-svg-3cNhvOF5uX3WHvzd .node polygon,#mermaid-svg-3cNhvOF5uX3WHvzd .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-3cNhvOF5uX3WHvzd .node .label{text-align:center;fill:#333}#mermaid-svg-3cNhvOF5uX3WHvzd .node.clickable{cursor:pointer}#mermaid-svg-3cNhvOF5uX3WHvzd .arrowheadPath{fill:#333}#mermaid-svg-3cNhvOF5uX3WHvzd .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-3cNhvOF5uX3WHvzd .flowchart-link{stroke:#333;fill:none}#mermaid-svg-3cNhvOF5uX3WHvzd .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-3cNhvOF5uX3WHvzd .edgeLabel rect{opacity:0.9}#mermaid-svg-3cNhvOF5uX3WHvzd .edgeLabel span{color:#333}#mermaid-svg-3cNhvOF5uX3WHvzd .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-3cNhvOF5uX3WHvzd .cluster text{fill:#333}#mermaid-svg-3cNhvOF5uX3WHvzd div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-3cNhvOF5uX3WHvzd .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-3cNhvOF5uX3WHvzd text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-3cNhvOF5uX3WHvzd .actor-line{stroke:grey}#mermaid-svg-3cNhvOF5uX3WHvzd .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-3cNhvOF5uX3WHvzd .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-3cNhvOF5uX3WHvzd #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-3cNhvOF5uX3WHvzd .sequenceNumber{fill:#fff}#mermaid-svg-3cNhvOF5uX3WHvzd #sequencenumber{fill:#333}#mermaid-svg-3cNhvOF5uX3WHvzd #crosshead path{fill:#333;stroke:#333}#mermaid-svg-3cNhvOF5uX3WHvzd .messageText{fill:#333;stroke:#333}#mermaid-svg-3cNhvOF5uX3WHvzd .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-3cNhvOF5uX3WHvzd .labelText,#mermaid-svg-3cNhvOF5uX3WHvzd .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-3cNhvOF5uX3WHvzd .loopText,#mermaid-svg-3cNhvOF5uX3WHvzd .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-3cNhvOF5uX3WHvzd .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-3cNhvOF5uX3WHvzd .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-3cNhvOF5uX3WHvzd .noteText,#mermaid-svg-3cNhvOF5uX3WHvzd .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-3cNhvOF5uX3WHvzd .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-3cNhvOF5uX3WHvzd .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-3cNhvOF5uX3WHvzd .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-3cNhvOF5uX3WHvzd .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3cNhvOF5uX3WHvzd .section{stroke:none;opacity:0.2}#mermaid-svg-3cNhvOF5uX3WHvzd .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-3cNhvOF5uX3WHvzd .section2{fill:#fff400}#mermaid-svg-3cNhvOF5uX3WHvzd .section1,#mermaid-svg-3cNhvOF5uX3WHvzd .section3{fill:#fff;opacity:0.2}#mermaid-svg-3cNhvOF5uX3WHvzd .sectionTitle0{fill:#333}#mermaid-svg-3cNhvOF5uX3WHvzd .sectionTitle1{fill:#333}#mermaid-svg-3cNhvOF5uX3WHvzd .sectionTitle2{fill:#333}#mermaid-svg-3cNhvOF5uX3WHvzd .sectionTitle3{fill:#333}#mermaid-svg-3cNhvOF5uX3WHvzd .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3cNhvOF5uX3WHvzd .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-3cNhvOF5uX3WHvzd .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3cNhvOF5uX3WHvzd .grid path{stroke-width:0}#mermaid-svg-3cNhvOF5uX3WHvzd .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-3cNhvOF5uX3WHvzd .task{stroke-width:2}#mermaid-svg-3cNhvOF5uX3WHvzd .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3cNhvOF5uX3WHvzd .taskText:not([font-size]){font-size:11px}#mermaid-svg-3cNhvOF5uX3WHvzd .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3cNhvOF5uX3WHvzd .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-3cNhvOF5uX3WHvzd .task.clickable{cursor:pointer}#mermaid-svg-3cNhvOF5uX3WHvzd .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-3cNhvOF5uX3WHvzd .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-3cNhvOF5uX3WHvzd .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-3cNhvOF5uX3WHvzd .taskText0,#mermaid-svg-3cNhvOF5uX3WHvzd .taskText1,#mermaid-svg-3cNhvOF5uX3WHvzd .taskText2,#mermaid-svg-3cNhvOF5uX3WHvzd .taskText3{fill:#fff}#mermaid-svg-3cNhvOF5uX3WHvzd .task0,#mermaid-svg-3cNhvOF5uX3WHvzd .task1,#mermaid-svg-3cNhvOF5uX3WHvzd .task2,#mermaid-svg-3cNhvOF5uX3WHvzd .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-3cNhvOF5uX3WHvzd .taskTextOutside0,#mermaid-svg-3cNhvOF5uX3WHvzd .taskTextOutside2{fill:#000}#mermaid-svg-3cNhvOF5uX3WHvzd .taskTextOutside1,#mermaid-svg-3cNhvOF5uX3WHvzd .taskTextOutside3{fill:#000}#mermaid-svg-3cNhvOF5uX3WHvzd .active0,#mermaid-svg-3cNhvOF5uX3WHvzd .active1,#mermaid-svg-3cNhvOF5uX3WHvzd .active2,#mermaid-svg-3cNhvOF5uX3WHvzd .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-3cNhvOF5uX3WHvzd .activeText0,#mermaid-svg-3cNhvOF5uX3WHvzd .activeText1,#mermaid-svg-3cNhvOF5uX3WHvzd .activeText2,#mermaid-svg-3cNhvOF5uX3WHvzd .activeText3{fill:#000 !important}#mermaid-svg-3cNhvOF5uX3WHvzd .done0,#mermaid-svg-3cNhvOF5uX3WHvzd .done1,#mermaid-svg-3cNhvOF5uX3WHvzd .done2,#mermaid-svg-3cNhvOF5uX3WHvzd .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-3cNhvOF5uX3WHvzd .doneText0,#mermaid-svg-3cNhvOF5uX3WHvzd .doneText1,#mermaid-svg-3cNhvOF5uX3WHvzd .doneText2,#mermaid-svg-3cNhvOF5uX3WHvzd .doneText3{fill:#000 !important}#mermaid-svg-3cNhvOF5uX3WHvzd .crit0,#mermaid-svg-3cNhvOF5uX3WHvzd .crit1,#mermaid-svg-3cNhvOF5uX3WHvzd .crit2,#mermaid-svg-3cNhvOF5uX3WHvzd .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-3cNhvOF5uX3WHvzd .activeCrit0,#mermaid-svg-3cNhvOF5uX3WHvzd .activeCrit1,#mermaid-svg-3cNhvOF5uX3WHvzd .activeCrit2,#mermaid-svg-3cNhvOF5uX3WHvzd .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-3cNhvOF5uX3WHvzd .doneCrit0,#mermaid-svg-3cNhvOF5uX3WHvzd .doneCrit1,#mermaid-svg-3cNhvOF5uX3WHvzd .doneCrit2,#mermaid-svg-3cNhvOF5uX3WHvzd .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-3cNhvOF5uX3WHvzd .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-3cNhvOF5uX3WHvzd .milestoneText{font-style:italic}#mermaid-svg-3cNhvOF5uX3WHvzd .doneCritText0,#mermaid-svg-3cNhvOF5uX3WHvzd .doneCritText1,#mermaid-svg-3cNhvOF5uX3WHvzd .doneCritText2,#mermaid-svg-3cNhvOF5uX3WHvzd .doneCritText3{fill:#000 !important}#mermaid-svg-3cNhvOF5uX3WHvzd .activeCritText0,#mermaid-svg-3cNhvOF5uX3WHvzd .activeCritText1,#mermaid-svg-3cNhvOF5uX3WHvzd .activeCritText2,#mermaid-svg-3cNhvOF5uX3WHvzd .activeCritText3{fill:#000 !important}#mermaid-svg-3cNhvOF5uX3WHvzd .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3cNhvOF5uX3WHvzd g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-3cNhvOF5uX3WHvzd g.classGroup text .title{font-weight:bolder}#mermaid-svg-3cNhvOF5uX3WHvzd g.clickable{cursor:pointer}#mermaid-svg-3cNhvOF5uX3WHvzd g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-3cNhvOF5uX3WHvzd g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-3cNhvOF5uX3WHvzd .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-3cNhvOF5uX3WHvzd .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-3cNhvOF5uX3WHvzd .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-3cNhvOF5uX3WHvzd .dashed-line{stroke-dasharray:3}#mermaid-svg-3cNhvOF5uX3WHvzd #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-3cNhvOF5uX3WHvzd #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-3cNhvOF5uX3WHvzd #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-3cNhvOF5uX3WHvzd #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-3cNhvOF5uX3WHvzd #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-3cNhvOF5uX3WHvzd #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-3cNhvOF5uX3WHvzd #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-3cNhvOF5uX3WHvzd #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-3cNhvOF5uX3WHvzd .commit-id,#mermaid-svg-3cNhvOF5uX3WHvzd .commit-msg,#mermaid-svg-3cNhvOF5uX3WHvzd .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3cNhvOF5uX3WHvzd .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3cNhvOF5uX3WHvzd .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3cNhvOF5uX3WHvzd g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3cNhvOF5uX3WHvzd g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-3cNhvOF5uX3WHvzd g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-3cNhvOF5uX3WHvzd g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-3cNhvOF5uX3WHvzd g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-3cNhvOF5uX3WHvzd g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-3cNhvOF5uX3WHvzd .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-3cNhvOF5uX3WHvzd .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-3cNhvOF5uX3WHvzd .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-3cNhvOF5uX3WHvzd .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-3cNhvOF5uX3WHvzd .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-3cNhvOF5uX3WHvzd .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-3cNhvOF5uX3WHvzd .edgeLabel text{fill:#333}#mermaid-svg-3cNhvOF5uX3WHvzd .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3cNhvOF5uX3WHvzd .node circle.state-start{fill:black;stroke:black}#mermaid-svg-3cNhvOF5uX3WHvzd .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-3cNhvOF5uX3WHvzd #statediagram-barbEnd{fill:#9370db}#mermaid-svg-3cNhvOF5uX3WHvzd .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-3cNhvOF5uX3WHvzd .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-3cNhvOF5uX3WHvzd .statediagram-state .divider{stroke:#9370db}#mermaid-svg-3cNhvOF5uX3WHvzd .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-3cNhvOF5uX3WHvzd .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-3cNhvOF5uX3WHvzd .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-3cNhvOF5uX3WHvzd .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-3cNhvOF5uX3WHvzd .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-3cNhvOF5uX3WHvzd .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-3cNhvOF5uX3WHvzd .note-edge{stroke-dasharray:5}#mermaid-svg-3cNhvOF5uX3WHvzd .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-3cNhvOF5uX3WHvzd .error-icon{fill:#522}#mermaid-svg-3cNhvOF5uX3WHvzd .error-text{fill:#522;stroke:#522}#mermaid-svg-3cNhvOF5uX3WHvzd .edge-thickness-normal{stroke-width:2px}#mermaid-svg-3cNhvOF5uX3WHvzd .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-3cNhvOF5uX3WHvzd .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-3cNhvOF5uX3WHvzd .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-3cNhvOF5uX3WHvzd .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-3cNhvOF5uX3WHvzd .marker{fill:#333}#mermaid-svg-3cNhvOF5uX3WHvzd .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-3cNhvOF5uX3WHvzd {color: rgba(0, 0, 0, 0.75);font: ;}SchMDefault_BSW_Async_Task_Core0MemIfFeeFlsActivateTaskFee_WriteFeeMainJob=FEE_MAIN_WRITEFee_WriteFee_MainFunctionFls_17_Dmu_WriteFls_17_Dmu_WriteFee_MainFunctionSchMDefault_BSW_Async_Task_Core0MemIfFeeFls
Fee_Write
设置状态FeeMainJob=FEE_MAIN_WRITE
Fee_MainFunction
执行后检测到FEE_MAIN_WRITE
,开始处理
- 将
BlockNumber
转为BlockId
,转换为Block Instance在Flash中的实际地址
- 调用
Fls_17_Dmu_Write
- 异步Job,在
Fls_17_Dmu_MainFunction
中执行
- 此Job只有在Module Status==
MEMIF_IDLE
才能请求
Fee_Cancel
#mermaid-svg-0mXN2TwjyTBNLAGo .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-0mXN2TwjyTBNLAGo .label text{fill:#333}#mermaid-svg-0mXN2TwjyTBNLAGo .node rect,#mermaid-svg-0mXN2TwjyTBNLAGo .node circle,#mermaid-svg-0mXN2TwjyTBNLAGo .node ellipse,#mermaid-svg-0mXN2TwjyTBNLAGo .node polygon,#mermaid-svg-0mXN2TwjyTBNLAGo .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-0mXN2TwjyTBNLAGo .node .label{text-align:center;fill:#333}#mermaid-svg-0mXN2TwjyTBNLAGo .node.clickable{cursor:pointer}#mermaid-svg-0mXN2TwjyTBNLAGo .arrowheadPath{fill:#333}#mermaid-svg-0mXN2TwjyTBNLAGo .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-0mXN2TwjyTBNLAGo .flowchart-link{stroke:#333;fill:none}#mermaid-svg-0mXN2TwjyTBNLAGo .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-0mXN2TwjyTBNLAGo .edgeLabel rect{opacity:0.9}#mermaid-svg-0mXN2TwjyTBNLAGo .edgeLabel span{color:#333}#mermaid-svg-0mXN2TwjyTBNLAGo .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-0mXN2TwjyTBNLAGo .cluster text{fill:#333}#mermaid-svg-0mXN2TwjyTBNLAGo div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-0mXN2TwjyTBNLAGo .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-0mXN2TwjyTBNLAGo text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-0mXN2TwjyTBNLAGo .actor-line{stroke:grey}#mermaid-svg-0mXN2TwjyTBNLAGo .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-0mXN2TwjyTBNLAGo .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-0mXN2TwjyTBNLAGo #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-0mXN2TwjyTBNLAGo .sequenceNumber{fill:#fff}#mermaid-svg-0mXN2TwjyTBNLAGo #sequencenumber{fill:#333}#mermaid-svg-0mXN2TwjyTBNLAGo #crosshead path{fill:#333;stroke:#333}#mermaid-svg-0mXN2TwjyTBNLAGo .messageText{fill:#333;stroke:#333}#mermaid-svg-0mXN2TwjyTBNLAGo .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-0mXN2TwjyTBNLAGo .labelText,#mermaid-svg-0mXN2TwjyTBNLAGo .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-0mXN2TwjyTBNLAGo .loopText,#mermaid-svg-0mXN2TwjyTBNLAGo .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-0mXN2TwjyTBNLAGo .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-0mXN2TwjyTBNLAGo .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-0mXN2TwjyTBNLAGo .noteText,#mermaid-svg-0mXN2TwjyTBNLAGo .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-0mXN2TwjyTBNLAGo .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-0mXN2TwjyTBNLAGo .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-0mXN2TwjyTBNLAGo .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-0mXN2TwjyTBNLAGo .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0mXN2TwjyTBNLAGo .section{stroke:none;opacity:0.2}#mermaid-svg-0mXN2TwjyTBNLAGo .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-0mXN2TwjyTBNLAGo .section2{fill:#fff400}#mermaid-svg-0mXN2TwjyTBNLAGo .section1,#mermaid-svg-0mXN2TwjyTBNLAGo .section3{fill:#fff;opacity:0.2}#mermaid-svg-0mXN2TwjyTBNLAGo .sectionTitle0{fill:#333}#mermaid-svg-0mXN2TwjyTBNLAGo .sectionTitle1{fill:#333}#mermaid-svg-0mXN2TwjyTBNLAGo .sectionTitle2{fill:#333}#mermaid-svg-0mXN2TwjyTBNLAGo .sectionTitle3{fill:#333}#mermaid-svg-0mXN2TwjyTBNLAGo .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0mXN2TwjyTBNLAGo .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-0mXN2TwjyTBNLAGo .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0mXN2TwjyTBNLAGo .grid path{stroke-width:0}#mermaid-svg-0mXN2TwjyTBNLAGo .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-0mXN2TwjyTBNLAGo .task{stroke-width:2}#mermaid-svg-0mXN2TwjyTBNLAGo .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0mXN2TwjyTBNLAGo .taskText:not([font-size]){font-size:11px}#mermaid-svg-0mXN2TwjyTBNLAGo .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0mXN2TwjyTBNLAGo .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-0mXN2TwjyTBNLAGo .task.clickable{cursor:pointer}#mermaid-svg-0mXN2TwjyTBNLAGo .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-0mXN2TwjyTBNLAGo .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-0mXN2TwjyTBNLAGo .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-0mXN2TwjyTBNLAGo .taskText0,#mermaid-svg-0mXN2TwjyTBNLAGo .taskText1,#mermaid-svg-0mXN2TwjyTBNLAGo .taskText2,#mermaid-svg-0mXN2TwjyTBNLAGo .taskText3{fill:#fff}#mermaid-svg-0mXN2TwjyTBNLAGo .task0,#mermaid-svg-0mXN2TwjyTBNLAGo .task1,#mermaid-svg-0mXN2TwjyTBNLAGo .task2,#mermaid-svg-0mXN2TwjyTBNLAGo .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-0mXN2TwjyTBNLAGo .taskTextOutside0,#mermaid-svg-0mXN2TwjyTBNLAGo .taskTextOutside2{fill:#000}#mermaid-svg-0mXN2TwjyTBNLAGo .taskTextOutside1,#mermaid-svg-0mXN2TwjyTBNLAGo .taskTextOutside3{fill:#000}#mermaid-svg-0mXN2TwjyTBNLAGo .active0,#mermaid-svg-0mXN2TwjyTBNLAGo .active1,#mermaid-svg-0mXN2TwjyTBNLAGo .active2,#mermaid-svg-0mXN2TwjyTBNLAGo .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-0mXN2TwjyTBNLAGo .activeText0,#mermaid-svg-0mXN2TwjyTBNLAGo .activeText1,#mermaid-svg-0mXN2TwjyTBNLAGo .activeText2,#mermaid-svg-0mXN2TwjyTBNLAGo .activeText3{fill:#000 !important}#mermaid-svg-0mXN2TwjyTBNLAGo .done0,#mermaid-svg-0mXN2TwjyTBNLAGo .done1,#mermaid-svg-0mXN2TwjyTBNLAGo .done2,#mermaid-svg-0mXN2TwjyTBNLAGo .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-0mXN2TwjyTBNLAGo .doneText0,#mermaid-svg-0mXN2TwjyTBNLAGo .doneText1,#mermaid-svg-0mXN2TwjyTBNLAGo .doneText2,#mermaid-svg-0mXN2TwjyTBNLAGo .doneText3{fill:#000 !important}#mermaid-svg-0mXN2TwjyTBNLAGo .crit0,#mermaid-svg-0mXN2TwjyTBNLAGo .crit1,#mermaid-svg-0mXN2TwjyTBNLAGo .crit2,#mermaid-svg-0mXN2TwjyTBNLAGo .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-0mXN2TwjyTBNLAGo .activeCrit0,#mermaid-svg-0mXN2TwjyTBNLAGo .activeCrit1,#mermaid-svg-0mXN2TwjyTBNLAGo .activeCrit2,#mermaid-svg-0mXN2TwjyTBNLAGo .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-0mXN2TwjyTBNLAGo .doneCrit0,#mermaid-svg-0mXN2TwjyTBNLAGo .doneCrit1,#mermaid-svg-0mXN2TwjyTBNLAGo .doneCrit2,#mermaid-svg-0mXN2TwjyTBNLAGo .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-0mXN2TwjyTBNLAGo .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-0mXN2TwjyTBNLAGo .milestoneText{font-style:italic}#mermaid-svg-0mXN2TwjyTBNLAGo .doneCritText0,#mermaid-svg-0mXN2TwjyTBNLAGo .doneCritText1,#mermaid-svg-0mXN2TwjyTBNLAGo .doneCritText2,#mermaid-svg-0mXN2TwjyTBNLAGo .doneCritText3{fill:#000 !important}#mermaid-svg-0mXN2TwjyTBNLAGo .activeCritText0,#mermaid-svg-0mXN2TwjyTBNLAGo .activeCritText1,#mermaid-svg-0mXN2TwjyTBNLAGo .activeCritText2,#mermaid-svg-0mXN2TwjyTBNLAGo .activeCritText3{fill:#000 !important}#mermaid-svg-0mXN2TwjyTBNLAGo .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0mXN2TwjyTBNLAGo g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-0mXN2TwjyTBNLAGo g.classGroup text .title{font-weight:bolder}#mermaid-svg-0mXN2TwjyTBNLAGo g.clickable{cursor:pointer}#mermaid-svg-0mXN2TwjyTBNLAGo g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-0mXN2TwjyTBNLAGo g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-0mXN2TwjyTBNLAGo .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-0mXN2TwjyTBNLAGo .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-0mXN2TwjyTBNLAGo .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-0mXN2TwjyTBNLAGo .dashed-line{stroke-dasharray:3}#mermaid-svg-0mXN2TwjyTBNLAGo #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-0mXN2TwjyTBNLAGo #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-0mXN2TwjyTBNLAGo #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-0mXN2TwjyTBNLAGo #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-0mXN2TwjyTBNLAGo #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-0mXN2TwjyTBNLAGo #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-0mXN2TwjyTBNLAGo #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-0mXN2TwjyTBNLAGo #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-0mXN2TwjyTBNLAGo .commit-id,#mermaid-svg-0mXN2TwjyTBNLAGo .commit-msg,#mermaid-svg-0mXN2TwjyTBNLAGo .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0mXN2TwjyTBNLAGo .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0mXN2TwjyTBNLAGo .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0mXN2TwjyTBNLAGo g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0mXN2TwjyTBNLAGo g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-0mXN2TwjyTBNLAGo g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-0mXN2TwjyTBNLAGo g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-0mXN2TwjyTBNLAGo g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-0mXN2TwjyTBNLAGo g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-0mXN2TwjyTBNLAGo .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-0mXN2TwjyTBNLAGo .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-0mXN2TwjyTBNLAGo .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-0mXN2TwjyTBNLAGo .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-0mXN2TwjyTBNLAGo .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-0mXN2TwjyTBNLAGo .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-0mXN2TwjyTBNLAGo .edgeLabel text{fill:#333}#mermaid-svg-0mXN2TwjyTBNLAGo .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0mXN2TwjyTBNLAGo .node circle.state-start{fill:black;stroke:black}#mermaid-svg-0mXN2TwjyTBNLAGo .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-0mXN2TwjyTBNLAGo #statediagram-barbEnd{fill:#9370db}#mermaid-svg-0mXN2TwjyTBNLAGo .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-0mXN2TwjyTBNLAGo .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-0mXN2TwjyTBNLAGo .statediagram-state .divider{stroke:#9370db}#mermaid-svg-0mXN2TwjyTBNLAGo .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-0mXN2TwjyTBNLAGo .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-0mXN2TwjyTBNLAGo .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-0mXN2TwjyTBNLAGo .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-0mXN2TwjyTBNLAGo .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-0mXN2TwjyTBNLAGo .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-0mXN2TwjyTBNLAGo .note-edge{stroke-dasharray:5}#mermaid-svg-0mXN2TwjyTBNLAGo .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-0mXN2TwjyTBNLAGo .error-icon{fill:#522}#mermaid-svg-0mXN2TwjyTBNLAGo .error-text{fill:#522;stroke:#522}#mermaid-svg-0mXN2TwjyTBNLAGo .edge-thickness-normal{stroke-width:2px}#mermaid-svg-0mXN2TwjyTBNLAGo .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-0mXN2TwjyTBNLAGo .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-0mXN2TwjyTBNLAGo .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-0mXN2TwjyTBNLAGo .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-0mXN2TwjyTBNLAGo .marker{fill:#333}#mermaid-svg-0mXN2TwjyTBNLAGo .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-0mXN2TwjyTBNLAGo {color: rgba(0, 0, 0, 0.75);font: ;}MemIfFeeFlsFee_CancelFls_17_Dmu_CancelFls_17_Dmu_CancelFee_CancelMemIfFeeFls
Fee_GetStatus
MemIf_StatusType Fee_GetStatus (void)
|
- 返回Fee模块的Module Status
- 同步job,立即执行
Fee_GetJobResult
MemIf_StatusType Fee_GetJobResult (void)
|
- 返回最近或当前处理的Job Result
- 同步job,立即执行
Fee_SetMode
void Fee_SetMode (MemIf_ModeType Mode )
|
#mermaid-svg-9r5TMPHLOEuqNjV6 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-9r5TMPHLOEuqNjV6 .label text{fill:#333}#mermaid-svg-9r5TMPHLOEuqNjV6 .node rect,#mermaid-svg-9r5TMPHLOEuqNjV6 .node circle,#mermaid-svg-9r5TMPHLOEuqNjV6 .node ellipse,#mermaid-svg-9r5TMPHLOEuqNjV6 .node polygon,#mermaid-svg-9r5TMPHLOEuqNjV6 .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-9r5TMPHLOEuqNjV6 .node .label{text-align:center;fill:#333}#mermaid-svg-9r5TMPHLOEuqNjV6 .node.clickable{cursor:pointer}#mermaid-svg-9r5TMPHLOEuqNjV6 .arrowheadPath{fill:#333}#mermaid-svg-9r5TMPHLOEuqNjV6 .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-9r5TMPHLOEuqNjV6 .flowchart-link{stroke:#333;fill:none}#mermaid-svg-9r5TMPHLOEuqNjV6 .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-9r5TMPHLOEuqNjV6 .edgeLabel rect{opacity:0.9}#mermaid-svg-9r5TMPHLOEuqNjV6 .edgeLabel span{color:#333}#mermaid-svg-9r5TMPHLOEuqNjV6 .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-9r5TMPHLOEuqNjV6 .cluster text{fill:#333}#mermaid-svg-9r5TMPHLOEuqNjV6 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-9r5TMPHLOEuqNjV6 .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-9r5TMPHLOEuqNjV6 text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-9r5TMPHLOEuqNjV6 .actor-line{stroke:grey}#mermaid-svg-9r5TMPHLOEuqNjV6 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-9r5TMPHLOEuqNjV6 .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-9r5TMPHLOEuqNjV6 #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-9r5TMPHLOEuqNjV6 .sequenceNumber{fill:#fff}#mermaid-svg-9r5TMPHLOEuqNjV6 #sequencenumber{fill:#333}#mermaid-svg-9r5TMPHLOEuqNjV6 #crosshead path{fill:#333;stroke:#333}#mermaid-svg-9r5TMPHLOEuqNjV6 .messageText{fill:#333;stroke:#333}#mermaid-svg-9r5TMPHLOEuqNjV6 .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-9r5TMPHLOEuqNjV6 .labelText,#mermaid-svg-9r5TMPHLOEuqNjV6 .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-9r5TMPHLOEuqNjV6 .loopText,#mermaid-svg-9r5TMPHLOEuqNjV6 .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-9r5TMPHLOEuqNjV6 .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-9r5TMPHLOEuqNjV6 .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-9r5TMPHLOEuqNjV6 .noteText,#mermaid-svg-9r5TMPHLOEuqNjV6 .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-9r5TMPHLOEuqNjV6 .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-9r5TMPHLOEuqNjV6 .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-9r5TMPHLOEuqNjV6 .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-9r5TMPHLOEuqNjV6 .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-9r5TMPHLOEuqNjV6 .section{stroke:none;opacity:0.2}#mermaid-svg-9r5TMPHLOEuqNjV6 .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-9r5TMPHLOEuqNjV6 .section2{fill:#fff400}#mermaid-svg-9r5TMPHLOEuqNjV6 .section1,#mermaid-svg-9r5TMPHLOEuqNjV6 .section3{fill:#fff;opacity:0.2}#mermaid-svg-9r5TMPHLOEuqNjV6 .sectionTitle0{fill:#333}#mermaid-svg-9r5TMPHLOEuqNjV6 .sectionTitle1{fill:#333}#mermaid-svg-9r5TMPHLOEuqNjV6 .sectionTitle2{fill:#333}#mermaid-svg-9r5TMPHLOEuqNjV6 .sectionTitle3{fill:#333}#mermaid-svg-9r5TMPHLOEuqNjV6 .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-9r5TMPHLOEuqNjV6 .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-9r5TMPHLOEuqNjV6 .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-9r5TMPHLOEuqNjV6 .grid path{stroke-width:0}#mermaid-svg-9r5TMPHLOEuqNjV6 .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-9r5TMPHLOEuqNjV6 .task{stroke-width:2}#mermaid-svg-9r5TMPHLOEuqNjV6 .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-9r5TMPHLOEuqNjV6 .taskText:not([font-size]){font-size:11px}#mermaid-svg-9r5TMPHLOEuqNjV6 .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-9r5TMPHLOEuqNjV6 .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-9r5TMPHLOEuqNjV6 .task.clickable{cursor:pointer}#mermaid-svg-9r5TMPHLOEuqNjV6 .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-9r5TMPHLOEuqNjV6 .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-9r5TMPHLOEuqNjV6 .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-9r5TMPHLOEuqNjV6 .taskText0,#mermaid-svg-9r5TMPHLOEuqNjV6 .taskText1,#mermaid-svg-9r5TMPHLOEuqNjV6 .taskText2,#mermaid-svg-9r5TMPHLOEuqNjV6 .taskText3{fill:#fff}#mermaid-svg-9r5TMPHLOEuqNjV6 .task0,#mermaid-svg-9r5TMPHLOEuqNjV6 .task1,#mermaid-svg-9r5TMPHLOEuqNjV6 .task2,#mermaid-svg-9r5TMPHLOEuqNjV6 .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-9r5TMPHLOEuqNjV6 .taskTextOutside0,#mermaid-svg-9r5TMPHLOEuqNjV6 .taskTextOutside2{fill:#000}#mermaid-svg-9r5TMPHLOEuqNjV6 .taskTextOutside1,#mermaid-svg-9r5TMPHLOEuqNjV6 .taskTextOutside3{fill:#000}#mermaid-svg-9r5TMPHLOEuqNjV6 .active0,#mermaid-svg-9r5TMPHLOEuqNjV6 .active1,#mermaid-svg-9r5TMPHLOEuqNjV6 .active2,#mermaid-svg-9r5TMPHLOEuqNjV6 .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-9r5TMPHLOEuqNjV6 .activeText0,#mermaid-svg-9r5TMPHLOEuqNjV6 .activeText1,#mermaid-svg-9r5TMPHLOEuqNjV6 .activeText2,#mermaid-svg-9r5TMPHLOEuqNjV6 .activeText3{fill:#000 !important}#mermaid-svg-9r5TMPHLOEuqNjV6 .done0,#mermaid-svg-9r5TMPHLOEuqNjV6 .done1,#mermaid-svg-9r5TMPHLOEuqNjV6 .done2,#mermaid-svg-9r5TMPHLOEuqNjV6 .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-9r5TMPHLOEuqNjV6 .doneText0,#mermaid-svg-9r5TMPHLOEuqNjV6 .doneText1,#mermaid-svg-9r5TMPHLOEuqNjV6 .doneText2,#mermaid-svg-9r5TMPHLOEuqNjV6 .doneText3{fill:#000 !important}#mermaid-svg-9r5TMPHLOEuqNjV6 .crit0,#mermaid-svg-9r5TMPHLOEuqNjV6 .crit1,#mermaid-svg-9r5TMPHLOEuqNjV6 .crit2,#mermaid-svg-9r5TMPHLOEuqNjV6 .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-9r5TMPHLOEuqNjV6 .activeCrit0,#mermaid-svg-9r5TMPHLOEuqNjV6 .activeCrit1,#mermaid-svg-9r5TMPHLOEuqNjV6 .activeCrit2,#mermaid-svg-9r5TMPHLOEuqNjV6 .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-9r5TMPHLOEuqNjV6 .doneCrit0,#mermaid-svg-9r5TMPHLOEuqNjV6 .doneCrit1,#mermaid-svg-9r5TMPHLOEuqNjV6 .doneCrit2,#mermaid-svg-9r5TMPHLOEuqNjV6 .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-9r5TMPHLOEuqNjV6 .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-9r5TMPHLOEuqNjV6 .milestoneText{font-style:italic}#mermaid-svg-9r5TMPHLOEuqNjV6 .doneCritText0,#mermaid-svg-9r5TMPHLOEuqNjV6 .doneCritText1,#mermaid-svg-9r5TMPHLOEuqNjV6 .doneCritText2,#mermaid-svg-9r5TMPHLOEuqNjV6 .doneCritText3{fill:#000 !important}#mermaid-svg-9r5TMPHLOEuqNjV6 .activeCritText0,#mermaid-svg-9r5TMPHLOEuqNjV6 .activeCritText1,#mermaid-svg-9r5TMPHLOEuqNjV6 .activeCritText2,#mermaid-svg-9r5TMPHLOEuqNjV6 .activeCritText3{fill:#000 !important}#mermaid-svg-9r5TMPHLOEuqNjV6 .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-9r5TMPHLOEuqNjV6 g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-9r5TMPHLOEuqNjV6 g.classGroup text .title{font-weight:bolder}#mermaid-svg-9r5TMPHLOEuqNjV6 g.clickable{cursor:pointer}#mermaid-svg-9r5TMPHLOEuqNjV6 g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-9r5TMPHLOEuqNjV6 g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-9r5TMPHLOEuqNjV6 .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-9r5TMPHLOEuqNjV6 .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-9r5TMPHLOEuqNjV6 .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-9r5TMPHLOEuqNjV6 .dashed-line{stroke-dasharray:3}#mermaid-svg-9r5TMPHLOEuqNjV6 #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-9r5TMPHLOEuqNjV6 #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-9r5TMPHLOEuqNjV6 #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-9r5TMPHLOEuqNjV6 #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-9r5TMPHLOEuqNjV6 #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-9r5TMPHLOEuqNjV6 #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-9r5TMPHLOEuqNjV6 #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-9r5TMPHLOEuqNjV6 #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-9r5TMPHLOEuqNjV6 .commit-id,#mermaid-svg-9r5TMPHLOEuqNjV6 .commit-msg,#mermaid-svg-9r5TMPHLOEuqNjV6 .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-9r5TMPHLOEuqNjV6 .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-9r5TMPHLOEuqNjV6 .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-9r5TMPHLOEuqNjV6 g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-9r5TMPHLOEuqNjV6 g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-9r5TMPHLOEuqNjV6 g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-9r5TMPHLOEuqNjV6 g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-9r5TMPHLOEuqNjV6 g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-9r5TMPHLOEuqNjV6 g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-9r5TMPHLOEuqNjV6 .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-9r5TMPHLOEuqNjV6 .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-9r5TMPHLOEuqNjV6 .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-9r5TMPHLOEuqNjV6 .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-9r5TMPHLOEuqNjV6 .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-9r5TMPHLOEuqNjV6 .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-9r5TMPHLOEuqNjV6 .edgeLabel text{fill:#333}#mermaid-svg-9r5TMPHLOEuqNjV6 .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-9r5TMPHLOEuqNjV6 .node circle.state-start{fill:black;stroke:black}#mermaid-svg-9r5TMPHLOEuqNjV6 .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-9r5TMPHLOEuqNjV6 #statediagram-barbEnd{fill:#9370db}#mermaid-svg-9r5TMPHLOEuqNjV6 .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-9r5TMPHLOEuqNjV6 .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-9r5TMPHLOEuqNjV6 .statediagram-state .divider{stroke:#9370db}#mermaid-svg-9r5TMPHLOEuqNjV6 .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-9r5TMPHLOEuqNjV6 .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-9r5TMPHLOEuqNjV6 .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-9r5TMPHLOEuqNjV6 .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-9r5TMPHLOEuqNjV6 .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-9r5TMPHLOEuqNjV6 .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-9r5TMPHLOEuqNjV6 .note-edge{stroke-dasharray:5}#mermaid-svg-9r5TMPHLOEuqNjV6 .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-9r5TMPHLOEuqNjV6 .error-icon{fill:#522}#mermaid-svg-9r5TMPHLOEuqNjV6 .error-text{fill:#522;stroke:#522}#mermaid-svg-9r5TMPHLOEuqNjV6 .edge-thickness-normal{stroke-width:2px}#mermaid-svg-9r5TMPHLOEuqNjV6 .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-9r5TMPHLOEuqNjV6 .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-9r5TMPHLOEuqNjV6 .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-9r5TMPHLOEuqNjV6 .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-9r5TMPHLOEuqNjV6 .marker{fill:#333}#mermaid-svg-9r5TMPHLOEuqNjV6 .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-9r5TMPHLOEuqNjV6 {color: rgba(0, 0, 0, 0.75);font: ;}MemIfFeeFlsFee_SetModeFls_17_Dmu_SetModeFls_17_Dmu_SetModeFee_SetModeMemIfFeeFls
- 调用
Fls_SetMode
- 同步job,立即执行
- 此job只有在Module Status==
MEMIF_IDLE
才能请求
- Set Mode supported决定是否启用API
2.5 Fee模块提供的Callback
Fee_JobEndNotification
void Fee_JobEndNotification (void)
|
#mermaid-svg-0YdPWoSrtM2Oy2UZ .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-0YdPWoSrtM2Oy2UZ .label text{fill:#333}#mermaid-svg-0YdPWoSrtM2Oy2UZ .node rect,#mermaid-svg-0YdPWoSrtM2Oy2UZ .node circle,#mermaid-svg-0YdPWoSrtM2Oy2UZ .node ellipse,#mermaid-svg-0YdPWoSrtM2Oy2UZ .node polygon,#mermaid-svg-0YdPWoSrtM2Oy2UZ .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-0YdPWoSrtM2Oy2UZ .node .label{text-align:center;fill:#333}#mermaid-svg-0YdPWoSrtM2Oy2UZ .node.clickable{cursor:pointer}#mermaid-svg-0YdPWoSrtM2Oy2UZ .arrowheadPath{fill:#333}#mermaid-svg-0YdPWoSrtM2Oy2UZ .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-0YdPWoSrtM2Oy2UZ .flowchart-link{stroke:#333;fill:none}#mermaid-svg-0YdPWoSrtM2Oy2UZ .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-0YdPWoSrtM2Oy2UZ .edgeLabel rect{opacity:0.9}#mermaid-svg-0YdPWoSrtM2Oy2UZ .edgeLabel span{color:#333}#mermaid-svg-0YdPWoSrtM2Oy2UZ .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-0YdPWoSrtM2Oy2UZ .cluster text{fill:#333}#mermaid-svg-0YdPWoSrtM2Oy2UZ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-0YdPWoSrtM2Oy2UZ .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-0YdPWoSrtM2Oy2UZ text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-0YdPWoSrtM2Oy2UZ .actor-line{stroke:grey}#mermaid-svg-0YdPWoSrtM2Oy2UZ .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-0YdPWoSrtM2Oy2UZ .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-0YdPWoSrtM2Oy2UZ #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-0YdPWoSrtM2Oy2UZ .sequenceNumber{fill:#fff}#mermaid-svg-0YdPWoSrtM2Oy2UZ #sequencenumber{fill:#333}#mermaid-svg-0YdPWoSrtM2Oy2UZ #crosshead path{fill:#333;stroke:#333}#mermaid-svg-0YdPWoSrtM2Oy2UZ .messageText{fill:#333;stroke:#333}#mermaid-svg-0YdPWoSrtM2Oy2UZ .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-0YdPWoSrtM2Oy2UZ .labelText,#mermaid-svg-0YdPWoSrtM2Oy2UZ .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-0YdPWoSrtM2Oy2UZ .loopText,#mermaid-svg-0YdPWoSrtM2Oy2UZ .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-0YdPWoSrtM2Oy2UZ .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-0YdPWoSrtM2Oy2UZ .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-0YdPWoSrtM2Oy2UZ .noteText,#mermaid-svg-0YdPWoSrtM2Oy2UZ .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-0YdPWoSrtM2Oy2UZ .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-0YdPWoSrtM2Oy2UZ .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-0YdPWoSrtM2Oy2UZ .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-0YdPWoSrtM2Oy2UZ .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0YdPWoSrtM2Oy2UZ .section{stroke:none;opacity:0.2}#mermaid-svg-0YdPWoSrtM2Oy2UZ .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-0YdPWoSrtM2Oy2UZ .section2{fill:#fff400}#mermaid-svg-0YdPWoSrtM2Oy2UZ .section1,#mermaid-svg-0YdPWoSrtM2Oy2UZ .section3{fill:#fff;opacity:0.2}#mermaid-svg-0YdPWoSrtM2Oy2UZ .sectionTitle0{fill:#333}#mermaid-svg-0YdPWoSrtM2Oy2UZ .sectionTitle1{fill:#333}#mermaid-svg-0YdPWoSrtM2Oy2UZ .sectionTitle2{fill:#333}#mermaid-svg-0YdPWoSrtM2Oy2UZ .sectionTitle3{fill:#333}#mermaid-svg-0YdPWoSrtM2Oy2UZ .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0YdPWoSrtM2Oy2UZ .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-0YdPWoSrtM2Oy2UZ .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0YdPWoSrtM2Oy2UZ .grid path{stroke-width:0}#mermaid-svg-0YdPWoSrtM2Oy2UZ .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-0YdPWoSrtM2Oy2UZ .task{stroke-width:2}#mermaid-svg-0YdPWoSrtM2Oy2UZ .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0YdPWoSrtM2Oy2UZ .taskText:not([font-size]){font-size:11px}#mermaid-svg-0YdPWoSrtM2Oy2UZ .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0YdPWoSrtM2Oy2UZ .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-0YdPWoSrtM2Oy2UZ .task.clickable{cursor:pointer}#mermaid-svg-0YdPWoSrtM2Oy2UZ .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-0YdPWoSrtM2Oy2UZ .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-0YdPWoSrtM2Oy2UZ .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-0YdPWoSrtM2Oy2UZ .taskText0,#mermaid-svg-0YdPWoSrtM2Oy2UZ .taskText1,#mermaid-svg-0YdPWoSrtM2Oy2UZ .taskText2,#mermaid-svg-0YdPWoSrtM2Oy2UZ .taskText3{fill:#fff}#mermaid-svg-0YdPWoSrtM2Oy2UZ .task0,#mermaid-svg-0YdPWoSrtM2Oy2UZ .task1,#mermaid-svg-0YdPWoSrtM2Oy2UZ .task2,#mermaid-svg-0YdPWoSrtM2Oy2UZ .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-0YdPWoSrtM2Oy2UZ .taskTextOutside0,#mermaid-svg-0YdPWoSrtM2Oy2UZ .taskTextOutside2{fill:#000}#mermaid-svg-0YdPWoSrtM2Oy2UZ .taskTextOutside1,#mermaid-svg-0YdPWoSrtM2Oy2UZ .taskTextOutside3{fill:#000}#mermaid-svg-0YdPWoSrtM2Oy2UZ .active0,#mermaid-svg-0YdPWoSrtM2Oy2UZ .active1,#mermaid-svg-0YdPWoSrtM2Oy2UZ .active2,#mermaid-svg-0YdPWoSrtM2Oy2UZ .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-0YdPWoSrtM2Oy2UZ .activeText0,#mermaid-svg-0YdPWoSrtM2Oy2UZ .activeText1,#mermaid-svg-0YdPWoSrtM2Oy2UZ .activeText2,#mermaid-svg-0YdPWoSrtM2Oy2UZ .activeText3{fill:#000 !important}#mermaid-svg-0YdPWoSrtM2Oy2UZ .done0,#mermaid-svg-0YdPWoSrtM2Oy2UZ .done1,#mermaid-svg-0YdPWoSrtM2Oy2UZ .done2,#mermaid-svg-0YdPWoSrtM2Oy2UZ .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-0YdPWoSrtM2Oy2UZ .doneText0,#mermaid-svg-0YdPWoSrtM2Oy2UZ .doneText1,#mermaid-svg-0YdPWoSrtM2Oy2UZ .doneText2,#mermaid-svg-0YdPWoSrtM2Oy2UZ .doneText3{fill:#000 !important}#mermaid-svg-0YdPWoSrtM2Oy2UZ .crit0,#mermaid-svg-0YdPWoSrtM2Oy2UZ .crit1,#mermaid-svg-0YdPWoSrtM2Oy2UZ .crit2,#mermaid-svg-0YdPWoSrtM2Oy2UZ .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-0YdPWoSrtM2Oy2UZ .activeCrit0,#mermaid-svg-0YdPWoSrtM2Oy2UZ .activeCrit1,#mermaid-svg-0YdPWoSrtM2Oy2UZ .activeCrit2,#mermaid-svg-0YdPWoSrtM2Oy2UZ .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-0YdPWoSrtM2Oy2UZ .doneCrit0,#mermaid-svg-0YdPWoSrtM2Oy2UZ .doneCrit1,#mermaid-svg-0YdPWoSrtM2Oy2UZ .doneCrit2,#mermaid-svg-0YdPWoSrtM2Oy2UZ .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-0YdPWoSrtM2Oy2UZ .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-0YdPWoSrtM2Oy2UZ .milestoneText{font-style:italic}#mermaid-svg-0YdPWoSrtM2Oy2UZ .doneCritText0,#mermaid-svg-0YdPWoSrtM2Oy2UZ .doneCritText1,#mermaid-svg-0YdPWoSrtM2Oy2UZ .doneCritText2,#mermaid-svg-0YdPWoSrtM2Oy2UZ .doneCritText3{fill:#000 !important}#mermaid-svg-0YdPWoSrtM2Oy2UZ .activeCritText0,#mermaid-svg-0YdPWoSrtM2Oy2UZ .activeCritText1,#mermaid-svg-0YdPWoSrtM2Oy2UZ .activeCritText2,#mermaid-svg-0YdPWoSrtM2Oy2UZ .activeCritText3{fill:#000 !important}#mermaid-svg-0YdPWoSrtM2Oy2UZ .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0YdPWoSrtM2Oy2UZ g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-0YdPWoSrtM2Oy2UZ g.classGroup text .title{font-weight:bolder}#mermaid-svg-0YdPWoSrtM2Oy2UZ g.clickable{cursor:pointer}#mermaid-svg-0YdPWoSrtM2Oy2UZ g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-0YdPWoSrtM2Oy2UZ g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-0YdPWoSrtM2Oy2UZ .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-0YdPWoSrtM2Oy2UZ .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-0YdPWoSrtM2Oy2UZ .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-0YdPWoSrtM2Oy2UZ .dashed-line{stroke-dasharray:3}#mermaid-svg-0YdPWoSrtM2Oy2UZ #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-0YdPWoSrtM2Oy2UZ #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-0YdPWoSrtM2Oy2UZ #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-0YdPWoSrtM2Oy2UZ #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-0YdPWoSrtM2Oy2UZ #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-0YdPWoSrtM2Oy2UZ #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-0YdPWoSrtM2Oy2UZ #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-0YdPWoSrtM2Oy2UZ #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-0YdPWoSrtM2Oy2UZ .commit-id,#mermaid-svg-0YdPWoSrtM2Oy2UZ .commit-msg,#mermaid-svg-0YdPWoSrtM2Oy2UZ .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0YdPWoSrtM2Oy2UZ .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0YdPWoSrtM2Oy2UZ .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0YdPWoSrtM2Oy2UZ g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0YdPWoSrtM2Oy2UZ g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-0YdPWoSrtM2Oy2UZ g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-0YdPWoSrtM2Oy2UZ g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-0YdPWoSrtM2Oy2UZ g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-0YdPWoSrtM2Oy2UZ g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-0YdPWoSrtM2Oy2UZ .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-0YdPWoSrtM2Oy2UZ .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-0YdPWoSrtM2Oy2UZ .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-0YdPWoSrtM2Oy2UZ .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-0YdPWoSrtM2Oy2UZ .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-0YdPWoSrtM2Oy2UZ .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-0YdPWoSrtM2Oy2UZ .edgeLabel text{fill:#333}#mermaid-svg-0YdPWoSrtM2Oy2UZ .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-0YdPWoSrtM2Oy2UZ .node circle.state-start{fill:black;stroke:black}#mermaid-svg-0YdPWoSrtM2Oy2UZ .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-0YdPWoSrtM2Oy2UZ #statediagram-barbEnd{fill:#9370db}#mermaid-svg-0YdPWoSrtM2Oy2UZ .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-0YdPWoSrtM2Oy2UZ .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-0YdPWoSrtM2Oy2UZ .statediagram-state .divider{stroke:#9370db}#mermaid-svg-0YdPWoSrtM2Oy2UZ .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-0YdPWoSrtM2Oy2UZ .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-0YdPWoSrtM2Oy2UZ .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-0YdPWoSrtM2Oy2UZ .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-0YdPWoSrtM2Oy2UZ .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-0YdPWoSrtM2Oy2UZ .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-0YdPWoSrtM2Oy2UZ .note-edge{stroke-dasharray:5}#mermaid-svg-0YdPWoSrtM2Oy2UZ .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-0YdPWoSrtM2Oy2UZ .error-icon{fill:#522}#mermaid-svg-0YdPWoSrtM2Oy2UZ .error-text{fill:#522;stroke:#522}#mermaid-svg-0YdPWoSrtM2Oy2UZ .edge-thickness-normal{stroke-width:2px}#mermaid-svg-0YdPWoSrtM2Oy2UZ .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-0YdPWoSrtM2Oy2UZ .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-0YdPWoSrtM2Oy2UZ .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-0YdPWoSrtM2Oy2UZ .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-0YdPWoSrtM2Oy2UZ .marker{fill:#333}#mermaid-svg-0YdPWoSrtM2Oy2UZ .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-0YdPWoSrtM2Oy2UZ {color: rgba(0, 0, 0, 0.75);font: ;}FeeFlsFee_JobEndNotificationFls_17_Dmu_GetNotifCallerFls_17_Dmu_GetNotifCallerFee_JobEndNotificationFeeFls
- 当Fls模块成功处理一个Job时,向Fee模块返回此回调函数
Fee_JobEndNotification
会调用Fls_17_Dmu_GetNotifCaller
,获取状态&FlsStateVar->NotifCaller
,从而知道哪个Job返回此Callback Function
Fee_JobErrorNotification
void Fee_JobErrorNotification (void)
|
#mermaid-svg-PA0vax9qGxA0uNLP .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-PA0vax9qGxA0uNLP .label text{fill:#333}#mermaid-svg-PA0vax9qGxA0uNLP .node rect,#mermaid-svg-PA0vax9qGxA0uNLP .node circle,#mermaid-svg-PA0vax9qGxA0uNLP .node ellipse,#mermaid-svg-PA0vax9qGxA0uNLP .node polygon,#mermaid-svg-PA0vax9qGxA0uNLP .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-PA0vax9qGxA0uNLP .node .label{text-align:center;fill:#333}#mermaid-svg-PA0vax9qGxA0uNLP .node.clickable{cursor:pointer}#mermaid-svg-PA0vax9qGxA0uNLP .arrowheadPath{fill:#333}#mermaid-svg-PA0vax9qGxA0uNLP .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-PA0vax9qGxA0uNLP .flowchart-link{stroke:#333;fill:none}#mermaid-svg-PA0vax9qGxA0uNLP .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-PA0vax9qGxA0uNLP .edgeLabel rect{opacity:0.9}#mermaid-svg-PA0vax9qGxA0uNLP .edgeLabel span{color:#333}#mermaid-svg-PA0vax9qGxA0uNLP .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-PA0vax9qGxA0uNLP .cluster text{fill:#333}#mermaid-svg-PA0vax9qGxA0uNLP div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-PA0vax9qGxA0uNLP .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-PA0vax9qGxA0uNLP text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-PA0vax9qGxA0uNLP .actor-line{stroke:grey}#mermaid-svg-PA0vax9qGxA0uNLP .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-PA0vax9qGxA0uNLP .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-PA0vax9qGxA0uNLP #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-PA0vax9qGxA0uNLP .sequenceNumber{fill:#fff}#mermaid-svg-PA0vax9qGxA0uNLP #sequencenumber{fill:#333}#mermaid-svg-PA0vax9qGxA0uNLP #crosshead path{fill:#333;stroke:#333}#mermaid-svg-PA0vax9qGxA0uNLP .messageText{fill:#333;stroke:#333}#mermaid-svg-PA0vax9qGxA0uNLP .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-PA0vax9qGxA0uNLP .labelText,#mermaid-svg-PA0vax9qGxA0uNLP .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-PA0vax9qGxA0uNLP .loopText,#mermaid-svg-PA0vax9qGxA0uNLP .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-PA0vax9qGxA0uNLP .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-PA0vax9qGxA0uNLP .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-PA0vax9qGxA0uNLP .noteText,#mermaid-svg-PA0vax9qGxA0uNLP .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-PA0vax9qGxA0uNLP .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-PA0vax9qGxA0uNLP .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-PA0vax9qGxA0uNLP .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-PA0vax9qGxA0uNLP .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PA0vax9qGxA0uNLP .section{stroke:none;opacity:0.2}#mermaid-svg-PA0vax9qGxA0uNLP .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-PA0vax9qGxA0uNLP .section2{fill:#fff400}#mermaid-svg-PA0vax9qGxA0uNLP .section1,#mermaid-svg-PA0vax9qGxA0uNLP .section3{fill:#fff;opacity:0.2}#mermaid-svg-PA0vax9qGxA0uNLP .sectionTitle0{fill:#333}#mermaid-svg-PA0vax9qGxA0uNLP .sectionTitle1{fill:#333}#mermaid-svg-PA0vax9qGxA0uNLP .sectionTitle2{fill:#333}#mermaid-svg-PA0vax9qGxA0uNLP .sectionTitle3{fill:#333}#mermaid-svg-PA0vax9qGxA0uNLP .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PA0vax9qGxA0uNLP .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-PA0vax9qGxA0uNLP .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PA0vax9qGxA0uNLP .grid path{stroke-width:0}#mermaid-svg-PA0vax9qGxA0uNLP .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-PA0vax9qGxA0uNLP .task{stroke-width:2}#mermaid-svg-PA0vax9qGxA0uNLP .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PA0vax9qGxA0uNLP .taskText:not([font-size]){font-size:11px}#mermaid-svg-PA0vax9qGxA0uNLP .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PA0vax9qGxA0uNLP .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-PA0vax9qGxA0uNLP .task.clickable{cursor:pointer}#mermaid-svg-PA0vax9qGxA0uNLP .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-PA0vax9qGxA0uNLP .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-PA0vax9qGxA0uNLP .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-PA0vax9qGxA0uNLP .taskText0,#mermaid-svg-PA0vax9qGxA0uNLP .taskText1,#mermaid-svg-PA0vax9qGxA0uNLP .taskText2,#mermaid-svg-PA0vax9qGxA0uNLP .taskText3{fill:#fff}#mermaid-svg-PA0vax9qGxA0uNLP .task0,#mermaid-svg-PA0vax9qGxA0uNLP .task1,#mermaid-svg-PA0vax9qGxA0uNLP .task2,#mermaid-svg-PA0vax9qGxA0uNLP .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-PA0vax9qGxA0uNLP .taskTextOutside0,#mermaid-svg-PA0vax9qGxA0uNLP .taskTextOutside2{fill:#000}#mermaid-svg-PA0vax9qGxA0uNLP .taskTextOutside1,#mermaid-svg-PA0vax9qGxA0uNLP .taskTextOutside3{fill:#000}#mermaid-svg-PA0vax9qGxA0uNLP .active0,#mermaid-svg-PA0vax9qGxA0uNLP .active1,#mermaid-svg-PA0vax9qGxA0uNLP .active2,#mermaid-svg-PA0vax9qGxA0uNLP .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-PA0vax9qGxA0uNLP .activeText0,#mermaid-svg-PA0vax9qGxA0uNLP .activeText1,#mermaid-svg-PA0vax9qGxA0uNLP .activeText2,#mermaid-svg-PA0vax9qGxA0uNLP .activeText3{fill:#000 !important}#mermaid-svg-PA0vax9qGxA0uNLP .done0,#mermaid-svg-PA0vax9qGxA0uNLP .done1,#mermaid-svg-PA0vax9qGxA0uNLP .done2,#mermaid-svg-PA0vax9qGxA0uNLP .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-PA0vax9qGxA0uNLP .doneText0,#mermaid-svg-PA0vax9qGxA0uNLP .doneText1,#mermaid-svg-PA0vax9qGxA0uNLP .doneText2,#mermaid-svg-PA0vax9qGxA0uNLP .doneText3{fill:#000 !important}#mermaid-svg-PA0vax9qGxA0uNLP .crit0,#mermaid-svg-PA0vax9qGxA0uNLP .crit1,#mermaid-svg-PA0vax9qGxA0uNLP .crit2,#mermaid-svg-PA0vax9qGxA0uNLP .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-PA0vax9qGxA0uNLP .activeCrit0,#mermaid-svg-PA0vax9qGxA0uNLP .activeCrit1,#mermaid-svg-PA0vax9qGxA0uNLP .activeCrit2,#mermaid-svg-PA0vax9qGxA0uNLP .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-PA0vax9qGxA0uNLP .doneCrit0,#mermaid-svg-PA0vax9qGxA0uNLP .doneCrit1,#mermaid-svg-PA0vax9qGxA0uNLP .doneCrit2,#mermaid-svg-PA0vax9qGxA0uNLP .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-PA0vax9qGxA0uNLP .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-PA0vax9qGxA0uNLP .milestoneText{font-style:italic}#mermaid-svg-PA0vax9qGxA0uNLP .doneCritText0,#mermaid-svg-PA0vax9qGxA0uNLP .doneCritText1,#mermaid-svg-PA0vax9qGxA0uNLP .doneCritText2,#mermaid-svg-PA0vax9qGxA0uNLP .doneCritText3{fill:#000 !important}#mermaid-svg-PA0vax9qGxA0uNLP .activeCritText0,#mermaid-svg-PA0vax9qGxA0uNLP .activeCritText1,#mermaid-svg-PA0vax9qGxA0uNLP .activeCritText2,#mermaid-svg-PA0vax9qGxA0uNLP .activeCritText3{fill:#000 !important}#mermaid-svg-PA0vax9qGxA0uNLP .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PA0vax9qGxA0uNLP g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-PA0vax9qGxA0uNLP g.classGroup text .title{font-weight:bolder}#mermaid-svg-PA0vax9qGxA0uNLP g.clickable{cursor:pointer}#mermaid-svg-PA0vax9qGxA0uNLP g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-PA0vax9qGxA0uNLP g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-PA0vax9qGxA0uNLP .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-PA0vax9qGxA0uNLP .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-PA0vax9qGxA0uNLP .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-PA0vax9qGxA0uNLP .dashed-line{stroke-dasharray:3}#mermaid-svg-PA0vax9qGxA0uNLP #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-PA0vax9qGxA0uNLP #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-PA0vax9qGxA0uNLP #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-PA0vax9qGxA0uNLP #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-PA0vax9qGxA0uNLP #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-PA0vax9qGxA0uNLP #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-PA0vax9qGxA0uNLP #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-PA0vax9qGxA0uNLP #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-PA0vax9qGxA0uNLP .commit-id,#mermaid-svg-PA0vax9qGxA0uNLP .commit-msg,#mermaid-svg-PA0vax9qGxA0uNLP .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PA0vax9qGxA0uNLP .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PA0vax9qGxA0uNLP .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PA0vax9qGxA0uNLP g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PA0vax9qGxA0uNLP g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-PA0vax9qGxA0uNLP g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-PA0vax9qGxA0uNLP g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-PA0vax9qGxA0uNLP g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-PA0vax9qGxA0uNLP g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-PA0vax9qGxA0uNLP .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-PA0vax9qGxA0uNLP .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-PA0vax9qGxA0uNLP .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-PA0vax9qGxA0uNLP .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-PA0vax9qGxA0uNLP .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-PA0vax9qGxA0uNLP .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-PA0vax9qGxA0uNLP .edgeLabel text{fill:#333}#mermaid-svg-PA0vax9qGxA0uNLP .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PA0vax9qGxA0uNLP .node circle.state-start{fill:black;stroke:black}#mermaid-svg-PA0vax9qGxA0uNLP .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-PA0vax9qGxA0uNLP #statediagram-barbEnd{fill:#9370db}#mermaid-svg-PA0vax9qGxA0uNLP .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-PA0vax9qGxA0uNLP .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-PA0vax9qGxA0uNLP .statediagram-state .divider{stroke:#9370db}#mermaid-svg-PA0vax9qGxA0uNLP .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-PA0vax9qGxA0uNLP .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-PA0vax9qGxA0uNLP .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-PA0vax9qGxA0uNLP .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-PA0vax9qGxA0uNLP .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-PA0vax9qGxA0uNLP .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-PA0vax9qGxA0uNLP .note-edge{stroke-dasharray:5}#mermaid-svg-PA0vax9qGxA0uNLP .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-PA0vax9qGxA0uNLP .error-icon{fill:#522}#mermaid-svg-PA0vax9qGxA0uNLP .error-text{fill:#522;stroke:#522}#mermaid-svg-PA0vax9qGxA0uNLP .edge-thickness-normal{stroke-width:2px}#mermaid-svg-PA0vax9qGxA0uNLP .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-PA0vax9qGxA0uNLP .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-PA0vax9qGxA0uNLP .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-PA0vax9qGxA0uNLP .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-PA0vax9qGxA0uNLP .marker{fill:#333}#mermaid-svg-PA0vax9qGxA0uNLP .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-PA0vax9qGxA0uNLP {color: rgba(0, 0, 0, 0.75);font: ;}FeeFlsFee_JobErrorNotificationFls_17_Dmu_GetNotifCallerFls_17_Dmu_GetNotifCallerFee_JobErrorNotificationFeeFls
- 当Fls模块处理一个Job失败时,向Fee模块返回此回调函数
Fee_JobErrorNotification
会调用Fls_17_Dmu_GetNotifCaller
,获取状态&FlsStateVar->NotifCaller
,从而知道哪个Job返回此Callback Function
2.6 Fee模块使用的外部API
Det_ReportError
Std_ReturnType Det_ReportError
(
uint16 ModuleId ,
uint8 InstanceId ,
uint8 ApiId ,
uint8 ErrorId
)
|
来自Det模块的API,检测并报告开发错误,由Dev Error Detect启用
ModuleId
==FEE_MODULE_ID
或21
InstanceId
=0
ApiId
如下
ErrorId
有7个,示例如下
FEE_E_UNINIT
FEE_E_INVALID_BLOCK_NO
Mcal_ReportSafetyError
Std_ReturnType Mcal_ReportSafetyError
(
uint16 ModuleId ,
uint8 InstanceId ,
uint8 ApiId ,
uint8 ErrorId
)
|
- 来自MCAL的API,检测并报告安全错误,由Safety Enable启用
- 安全错误是指DMU寄存器中记录的错误,由内联函数读取,其中部分错误和开发错误相同
ModuleId
,InstanceId
,ApiId
同 Det_ReportError
ErrorId
有8个,示例如下
FEE_SE_UNINIT
FEE_SE_INVALID_BLOCK_NO
2.7 Fee模块使用的外部Callback
NvM_JobEndNotification
void NvM_JobEndNotification (void)
|
#mermaid-svg-BAUewPQTxcdNO4RL .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-BAUewPQTxcdNO4RL .label text{fill:#333}#mermaid-svg-BAUewPQTxcdNO4RL .node rect,#mermaid-svg-BAUewPQTxcdNO4RL .node circle,#mermaid-svg-BAUewPQTxcdNO4RL .node ellipse,#mermaid-svg-BAUewPQTxcdNO4RL .node polygon,#mermaid-svg-BAUewPQTxcdNO4RL .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-BAUewPQTxcdNO4RL .node .label{text-align:center;fill:#333}#mermaid-svg-BAUewPQTxcdNO4RL .node.clickable{cursor:pointer}#mermaid-svg-BAUewPQTxcdNO4RL .arrowheadPath{fill:#333}#mermaid-svg-BAUewPQTxcdNO4RL .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-BAUewPQTxcdNO4RL .flowchart-link{stroke:#333;fill:none}#mermaid-svg-BAUewPQTxcdNO4RL .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-BAUewPQTxcdNO4RL .edgeLabel rect{opacity:0.9}#mermaid-svg-BAUewPQTxcdNO4RL .edgeLabel span{color:#333}#mermaid-svg-BAUewPQTxcdNO4RL .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-BAUewPQTxcdNO4RL .cluster text{fill:#333}#mermaid-svg-BAUewPQTxcdNO4RL div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-BAUewPQTxcdNO4RL .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-BAUewPQTxcdNO4RL text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-BAUewPQTxcdNO4RL .actor-line{stroke:grey}#mermaid-svg-BAUewPQTxcdNO4RL .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-BAUewPQTxcdNO4RL .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-BAUewPQTxcdNO4RL #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-BAUewPQTxcdNO4RL .sequenceNumber{fill:#fff}#mermaid-svg-BAUewPQTxcdNO4RL #sequencenumber{fill:#333}#mermaid-svg-BAUewPQTxcdNO4RL #crosshead path{fill:#333;stroke:#333}#mermaid-svg-BAUewPQTxcdNO4RL .messageText{fill:#333;stroke:#333}#mermaid-svg-BAUewPQTxcdNO4RL .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-BAUewPQTxcdNO4RL .labelText,#mermaid-svg-BAUewPQTxcdNO4RL .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-BAUewPQTxcdNO4RL .loopText,#mermaid-svg-BAUewPQTxcdNO4RL .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-BAUewPQTxcdNO4RL .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-BAUewPQTxcdNO4RL .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-BAUewPQTxcdNO4RL .noteText,#mermaid-svg-BAUewPQTxcdNO4RL .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-BAUewPQTxcdNO4RL .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-BAUewPQTxcdNO4RL .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-BAUewPQTxcdNO4RL .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-BAUewPQTxcdNO4RL .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BAUewPQTxcdNO4RL .section{stroke:none;opacity:0.2}#mermaid-svg-BAUewPQTxcdNO4RL .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-BAUewPQTxcdNO4RL .section2{fill:#fff400}#mermaid-svg-BAUewPQTxcdNO4RL .section1,#mermaid-svg-BAUewPQTxcdNO4RL .section3{fill:#fff;opacity:0.2}#mermaid-svg-BAUewPQTxcdNO4RL .sectionTitle0{fill:#333}#mermaid-svg-BAUewPQTxcdNO4RL .sectionTitle1{fill:#333}#mermaid-svg-BAUewPQTxcdNO4RL .sectionTitle2{fill:#333}#mermaid-svg-BAUewPQTxcdNO4RL .sectionTitle3{fill:#333}#mermaid-svg-BAUewPQTxcdNO4RL .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BAUewPQTxcdNO4RL .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-BAUewPQTxcdNO4RL .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BAUewPQTxcdNO4RL .grid path{stroke-width:0}#mermaid-svg-BAUewPQTxcdNO4RL .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-BAUewPQTxcdNO4RL .task{stroke-width:2}#mermaid-svg-BAUewPQTxcdNO4RL .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BAUewPQTxcdNO4RL .taskText:not([font-size]){font-size:11px}#mermaid-svg-BAUewPQTxcdNO4RL .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BAUewPQTxcdNO4RL .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-BAUewPQTxcdNO4RL .task.clickable{cursor:pointer}#mermaid-svg-BAUewPQTxcdNO4RL .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-BAUewPQTxcdNO4RL .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-BAUewPQTxcdNO4RL .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-BAUewPQTxcdNO4RL .taskText0,#mermaid-svg-BAUewPQTxcdNO4RL .taskText1,#mermaid-svg-BAUewPQTxcdNO4RL .taskText2,#mermaid-svg-BAUewPQTxcdNO4RL .taskText3{fill:#fff}#mermaid-svg-BAUewPQTxcdNO4RL .task0,#mermaid-svg-BAUewPQTxcdNO4RL .task1,#mermaid-svg-BAUewPQTxcdNO4RL .task2,#mermaid-svg-BAUewPQTxcdNO4RL .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-BAUewPQTxcdNO4RL .taskTextOutside0,#mermaid-svg-BAUewPQTxcdNO4RL .taskTextOutside2{fill:#000}#mermaid-svg-BAUewPQTxcdNO4RL .taskTextOutside1,#mermaid-svg-BAUewPQTxcdNO4RL .taskTextOutside3{fill:#000}#mermaid-svg-BAUewPQTxcdNO4RL .active0,#mermaid-svg-BAUewPQTxcdNO4RL .active1,#mermaid-svg-BAUewPQTxcdNO4RL .active2,#mermaid-svg-BAUewPQTxcdNO4RL .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-BAUewPQTxcdNO4RL .activeText0,#mermaid-svg-BAUewPQTxcdNO4RL .activeText1,#mermaid-svg-BAUewPQTxcdNO4RL .activeText2,#mermaid-svg-BAUewPQTxcdNO4RL .activeText3{fill:#000 !important}#mermaid-svg-BAUewPQTxcdNO4RL .done0,#mermaid-svg-BAUewPQTxcdNO4RL .done1,#mermaid-svg-BAUewPQTxcdNO4RL .done2,#mermaid-svg-BAUewPQTxcdNO4RL .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-BAUewPQTxcdNO4RL .doneText0,#mermaid-svg-BAUewPQTxcdNO4RL .doneText1,#mermaid-svg-BAUewPQTxcdNO4RL .doneText2,#mermaid-svg-BAUewPQTxcdNO4RL .doneText3{fill:#000 !important}#mermaid-svg-BAUewPQTxcdNO4RL .crit0,#mermaid-svg-BAUewPQTxcdNO4RL .crit1,#mermaid-svg-BAUewPQTxcdNO4RL .crit2,#mermaid-svg-BAUewPQTxcdNO4RL .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-BAUewPQTxcdNO4RL .activeCrit0,#mermaid-svg-BAUewPQTxcdNO4RL .activeCrit1,#mermaid-svg-BAUewPQTxcdNO4RL .activeCrit2,#mermaid-svg-BAUewPQTxcdNO4RL .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-BAUewPQTxcdNO4RL .doneCrit0,#mermaid-svg-BAUewPQTxcdNO4RL .doneCrit1,#mermaid-svg-BAUewPQTxcdNO4RL .doneCrit2,#mermaid-svg-BAUewPQTxcdNO4RL .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-BAUewPQTxcdNO4RL .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-BAUewPQTxcdNO4RL .milestoneText{font-style:italic}#mermaid-svg-BAUewPQTxcdNO4RL .doneCritText0,#mermaid-svg-BAUewPQTxcdNO4RL .doneCritText1,#mermaid-svg-BAUewPQTxcdNO4RL .doneCritText2,#mermaid-svg-BAUewPQTxcdNO4RL .doneCritText3{fill:#000 !important}#mermaid-svg-BAUewPQTxcdNO4RL .activeCritText0,#mermaid-svg-BAUewPQTxcdNO4RL .activeCritText1,#mermaid-svg-BAUewPQTxcdNO4RL .activeCritText2,#mermaid-svg-BAUewPQTxcdNO4RL .activeCritText3{fill:#000 !important}#mermaid-svg-BAUewPQTxcdNO4RL .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BAUewPQTxcdNO4RL g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-BAUewPQTxcdNO4RL g.classGroup text .title{font-weight:bolder}#mermaid-svg-BAUewPQTxcdNO4RL g.clickable{cursor:pointer}#mermaid-svg-BAUewPQTxcdNO4RL g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-BAUewPQTxcdNO4RL g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-BAUewPQTxcdNO4RL .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-BAUewPQTxcdNO4RL .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-BAUewPQTxcdNO4RL .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-BAUewPQTxcdNO4RL .dashed-line{stroke-dasharray:3}#mermaid-svg-BAUewPQTxcdNO4RL #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-BAUewPQTxcdNO4RL #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-BAUewPQTxcdNO4RL #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-BAUewPQTxcdNO4RL #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-BAUewPQTxcdNO4RL #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-BAUewPQTxcdNO4RL #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-BAUewPQTxcdNO4RL #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-BAUewPQTxcdNO4RL #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-BAUewPQTxcdNO4RL .commit-id,#mermaid-svg-BAUewPQTxcdNO4RL .commit-msg,#mermaid-svg-BAUewPQTxcdNO4RL .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BAUewPQTxcdNO4RL .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BAUewPQTxcdNO4RL .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BAUewPQTxcdNO4RL g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BAUewPQTxcdNO4RL g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-BAUewPQTxcdNO4RL g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-BAUewPQTxcdNO4RL g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-BAUewPQTxcdNO4RL g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-BAUewPQTxcdNO4RL g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-BAUewPQTxcdNO4RL .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-BAUewPQTxcdNO4RL .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-BAUewPQTxcdNO4RL .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-BAUewPQTxcdNO4RL .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-BAUewPQTxcdNO4RL .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-BAUewPQTxcdNO4RL .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-BAUewPQTxcdNO4RL .edgeLabel text{fill:#333}#mermaid-svg-BAUewPQTxcdNO4RL .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BAUewPQTxcdNO4RL .node circle.state-start{fill:black;stroke:black}#mermaid-svg-BAUewPQTxcdNO4RL .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-BAUewPQTxcdNO4RL #statediagram-barbEnd{fill:#9370db}#mermaid-svg-BAUewPQTxcdNO4RL .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-BAUewPQTxcdNO4RL .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-BAUewPQTxcdNO4RL .statediagram-state .divider{stroke:#9370db}#mermaid-svg-BAUewPQTxcdNO4RL .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-BAUewPQTxcdNO4RL .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-BAUewPQTxcdNO4RL .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-BAUewPQTxcdNO4RL .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-BAUewPQTxcdNO4RL .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-BAUewPQTxcdNO4RL .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-BAUewPQTxcdNO4RL .note-edge{stroke-dasharray:5}#mermaid-svg-BAUewPQTxcdNO4RL .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-BAUewPQTxcdNO4RL .error-icon{fill:#522}#mermaid-svg-BAUewPQTxcdNO4RL .error-text{fill:#522;stroke:#522}#mermaid-svg-BAUewPQTxcdNO4RL .edge-thickness-normal{stroke-width:2px}#mermaid-svg-BAUewPQTxcdNO4RL .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-BAUewPQTxcdNO4RL .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-BAUewPQTxcdNO4RL .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-BAUewPQTxcdNO4RL .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-BAUewPQTxcdNO4RL .marker{fill:#333}#mermaid-svg-BAUewPQTxcdNO4RL .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-BAUewPQTxcdNO4RL {color: rgba(0, 0, 0, 0.75);font: ;}NvMFeeFlsFee_JobEndNotificationFls_17_Dmu_GetNotifCallerFls_17_Dmu_GetNotifCallerNvM_JobEndNotificationNvM_JobEndNotificationFee_JobEndNotificationNvMFeeFls
- Fee模块接收到Fls模块发送的
Fee_JobEndNotification
后,向NvM模块返回此回调函数
NvM_JobEndNotification
会在当前NVRAM块信息中写入NVM_REQ_OK
NvM_JobErrorNotification
void NvM_JobErrorNotification (void)
|
#mermaid-svg-lat5yJnZgJsCH4Ls .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-lat5yJnZgJsCH4Ls .label text{fill:#333}#mermaid-svg-lat5yJnZgJsCH4Ls .node rect,#mermaid-svg-lat5yJnZgJsCH4Ls .node circle,#mermaid-svg-lat5yJnZgJsCH4Ls .node ellipse,#mermaid-svg-lat5yJnZgJsCH4Ls .node polygon,#mermaid-svg-lat5yJnZgJsCH4Ls .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-lat5yJnZgJsCH4Ls .node .label{text-align:center;fill:#333}#mermaid-svg-lat5yJnZgJsCH4Ls .node.clickable{cursor:pointer}#mermaid-svg-lat5yJnZgJsCH4Ls .arrowheadPath{fill:#333}#mermaid-svg-lat5yJnZgJsCH4Ls .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-lat5yJnZgJsCH4Ls .flowchart-link{stroke:#333;fill:none}#mermaid-svg-lat5yJnZgJsCH4Ls .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-lat5yJnZgJsCH4Ls .edgeLabel rect{opacity:0.9}#mermaid-svg-lat5yJnZgJsCH4Ls .edgeLabel span{color:#333}#mermaid-svg-lat5yJnZgJsCH4Ls .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-lat5yJnZgJsCH4Ls .cluster text{fill:#333}#mermaid-svg-lat5yJnZgJsCH4Ls div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-lat5yJnZgJsCH4Ls .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-lat5yJnZgJsCH4Ls text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-lat5yJnZgJsCH4Ls .actor-line{stroke:grey}#mermaid-svg-lat5yJnZgJsCH4Ls .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-lat5yJnZgJsCH4Ls .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-lat5yJnZgJsCH4Ls #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-lat5yJnZgJsCH4Ls .sequenceNumber{fill:#fff}#mermaid-svg-lat5yJnZgJsCH4Ls #sequencenumber{fill:#333}#mermaid-svg-lat5yJnZgJsCH4Ls #crosshead path{fill:#333;stroke:#333}#mermaid-svg-lat5yJnZgJsCH4Ls .messageText{fill:#333;stroke:#333}#mermaid-svg-lat5yJnZgJsCH4Ls .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-lat5yJnZgJsCH4Ls .labelText,#mermaid-svg-lat5yJnZgJsCH4Ls .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-lat5yJnZgJsCH4Ls .loopText,#mermaid-svg-lat5yJnZgJsCH4Ls .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-lat5yJnZgJsCH4Ls .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-lat5yJnZgJsCH4Ls .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-lat5yJnZgJsCH4Ls .noteText,#mermaid-svg-lat5yJnZgJsCH4Ls .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-lat5yJnZgJsCH4Ls .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-lat5yJnZgJsCH4Ls .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-lat5yJnZgJsCH4Ls .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-lat5yJnZgJsCH4Ls .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-lat5yJnZgJsCH4Ls .section{stroke:none;opacity:0.2}#mermaid-svg-lat5yJnZgJsCH4Ls .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-lat5yJnZgJsCH4Ls .section2{fill:#fff400}#mermaid-svg-lat5yJnZgJsCH4Ls .section1,#mermaid-svg-lat5yJnZgJsCH4Ls .section3{fill:#fff;opacity:0.2}#mermaid-svg-lat5yJnZgJsCH4Ls .sectionTitle0{fill:#333}#mermaid-svg-lat5yJnZgJsCH4Ls .sectionTitle1{fill:#333}#mermaid-svg-lat5yJnZgJsCH4Ls .sectionTitle2{fill:#333}#mermaid-svg-lat5yJnZgJsCH4Ls .sectionTitle3{fill:#333}#mermaid-svg-lat5yJnZgJsCH4Ls .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-lat5yJnZgJsCH4Ls .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-lat5yJnZgJsCH4Ls .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-lat5yJnZgJsCH4Ls .grid path{stroke-width:0}#mermaid-svg-lat5yJnZgJsCH4Ls .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-lat5yJnZgJsCH4Ls .task{stroke-width:2}#mermaid-svg-lat5yJnZgJsCH4Ls .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-lat5yJnZgJsCH4Ls .taskText:not([font-size]){font-size:11px}#mermaid-svg-lat5yJnZgJsCH4Ls .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-lat5yJnZgJsCH4Ls .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-lat5yJnZgJsCH4Ls .task.clickable{cursor:pointer}#mermaid-svg-lat5yJnZgJsCH4Ls .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-lat5yJnZgJsCH4Ls .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-lat5yJnZgJsCH4Ls .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-lat5yJnZgJsCH4Ls .taskText0,#mermaid-svg-lat5yJnZgJsCH4Ls .taskText1,#mermaid-svg-lat5yJnZgJsCH4Ls .taskText2,#mermaid-svg-lat5yJnZgJsCH4Ls .taskText3{fill:#fff}#mermaid-svg-lat5yJnZgJsCH4Ls .task0,#mermaid-svg-lat5yJnZgJsCH4Ls .task1,#mermaid-svg-lat5yJnZgJsCH4Ls .task2,#mermaid-svg-lat5yJnZgJsCH4Ls .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-lat5yJnZgJsCH4Ls .taskTextOutside0,#mermaid-svg-lat5yJnZgJsCH4Ls .taskTextOutside2{fill:#000}#mermaid-svg-lat5yJnZgJsCH4Ls .taskTextOutside1,#mermaid-svg-lat5yJnZgJsCH4Ls .taskTextOutside3{fill:#000}#mermaid-svg-lat5yJnZgJsCH4Ls .active0,#mermaid-svg-lat5yJnZgJsCH4Ls .active1,#mermaid-svg-lat5yJnZgJsCH4Ls .active2,#mermaid-svg-lat5yJnZgJsCH4Ls .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-lat5yJnZgJsCH4Ls .activeText0,#mermaid-svg-lat5yJnZgJsCH4Ls .activeText1,#mermaid-svg-lat5yJnZgJsCH4Ls .activeText2,#mermaid-svg-lat5yJnZgJsCH4Ls .activeText3{fill:#000 !important}#mermaid-svg-lat5yJnZgJsCH4Ls .done0,#mermaid-svg-lat5yJnZgJsCH4Ls .done1,#mermaid-svg-lat5yJnZgJsCH4Ls .done2,#mermaid-svg-lat5yJnZgJsCH4Ls .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-lat5yJnZgJsCH4Ls .doneText0,#mermaid-svg-lat5yJnZgJsCH4Ls .doneText1,#mermaid-svg-lat5yJnZgJsCH4Ls .doneText2,#mermaid-svg-lat5yJnZgJsCH4Ls .doneText3{fill:#000 !important}#mermaid-svg-lat5yJnZgJsCH4Ls .crit0,#mermaid-svg-lat5yJnZgJsCH4Ls .crit1,#mermaid-svg-lat5yJnZgJsCH4Ls .crit2,#mermaid-svg-lat5yJnZgJsCH4Ls .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-lat5yJnZgJsCH4Ls .activeCrit0,#mermaid-svg-lat5yJnZgJsCH4Ls .activeCrit1,#mermaid-svg-lat5yJnZgJsCH4Ls .activeCrit2,#mermaid-svg-lat5yJnZgJsCH4Ls .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-lat5yJnZgJsCH4Ls .doneCrit0,#mermaid-svg-lat5yJnZgJsCH4Ls .doneCrit1,#mermaid-svg-lat5yJnZgJsCH4Ls .doneCrit2,#mermaid-svg-lat5yJnZgJsCH4Ls .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-lat5yJnZgJsCH4Ls .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-lat5yJnZgJsCH4Ls .milestoneText{font-style:italic}#mermaid-svg-lat5yJnZgJsCH4Ls .doneCritText0,#mermaid-svg-lat5yJnZgJsCH4Ls .doneCritText1,#mermaid-svg-lat5yJnZgJsCH4Ls .doneCritText2,#mermaid-svg-lat5yJnZgJsCH4Ls .doneCritText3{fill:#000 !important}#mermaid-svg-lat5yJnZgJsCH4Ls .activeCritText0,#mermaid-svg-lat5yJnZgJsCH4Ls .activeCritText1,#mermaid-svg-lat5yJnZgJsCH4Ls .activeCritText2,#mermaid-svg-lat5yJnZgJsCH4Ls .activeCritText3{fill:#000 !important}#mermaid-svg-lat5yJnZgJsCH4Ls .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-lat5yJnZgJsCH4Ls g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-lat5yJnZgJsCH4Ls g.classGroup text .title{font-weight:bolder}#mermaid-svg-lat5yJnZgJsCH4Ls g.clickable{cursor:pointer}#mermaid-svg-lat5yJnZgJsCH4Ls g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-lat5yJnZgJsCH4Ls g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-lat5yJnZgJsCH4Ls .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-lat5yJnZgJsCH4Ls .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-lat5yJnZgJsCH4Ls .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-lat5yJnZgJsCH4Ls .dashed-line{stroke-dasharray:3}#mermaid-svg-lat5yJnZgJsCH4Ls #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-lat5yJnZgJsCH4Ls #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-lat5yJnZgJsCH4Ls #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-lat5yJnZgJsCH4Ls #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-lat5yJnZgJsCH4Ls #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-lat5yJnZgJsCH4Ls #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-lat5yJnZgJsCH4Ls #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-lat5yJnZgJsCH4Ls #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-lat5yJnZgJsCH4Ls .commit-id,#mermaid-svg-lat5yJnZgJsCH4Ls .commit-msg,#mermaid-svg-lat5yJnZgJsCH4Ls .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-lat5yJnZgJsCH4Ls .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-lat5yJnZgJsCH4Ls .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-lat5yJnZgJsCH4Ls g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-lat5yJnZgJsCH4Ls g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-lat5yJnZgJsCH4Ls g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-lat5yJnZgJsCH4Ls g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-lat5yJnZgJsCH4Ls g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-lat5yJnZgJsCH4Ls g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-lat5yJnZgJsCH4Ls .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-lat5yJnZgJsCH4Ls .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-lat5yJnZgJsCH4Ls .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-lat5yJnZgJsCH4Ls .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-lat5yJnZgJsCH4Ls .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-lat5yJnZgJsCH4Ls .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-lat5yJnZgJsCH4Ls .edgeLabel text{fill:#333}#mermaid-svg-lat5yJnZgJsCH4Ls .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-lat5yJnZgJsCH4Ls .node circle.state-start{fill:black;stroke:black}#mermaid-svg-lat5yJnZgJsCH4Ls .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-lat5yJnZgJsCH4Ls #statediagram-barbEnd{fill:#9370db}#mermaid-svg-lat5yJnZgJsCH4Ls .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-lat5yJnZgJsCH4Ls .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-lat5yJnZgJsCH4Ls .statediagram-state .divider{stroke:#9370db}#mermaid-svg-lat5yJnZgJsCH4Ls .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-lat5yJnZgJsCH4Ls .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-lat5yJnZgJsCH4Ls .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-lat5yJnZgJsCH4Ls .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-lat5yJnZgJsCH4Ls .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-lat5yJnZgJsCH4Ls .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-lat5yJnZgJsCH4Ls .note-edge{stroke-dasharray:5}#mermaid-svg-lat5yJnZgJsCH4Ls .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-lat5yJnZgJsCH4Ls .error-icon{fill:#522}#mermaid-svg-lat5yJnZgJsCH4Ls .error-text{fill:#522;stroke:#522}#mermaid-svg-lat5yJnZgJsCH4Ls .edge-thickness-normal{stroke-width:2px}#mermaid-svg-lat5yJnZgJsCH4Ls .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-lat5yJnZgJsCH4Ls .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-lat5yJnZgJsCH4Ls .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-lat5yJnZgJsCH4Ls .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-lat5yJnZgJsCH4Ls .marker{fill:#333}#mermaid-svg-lat5yJnZgJsCH4Ls .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-lat5yJnZgJsCH4Ls {color: rgba(0, 0, 0, 0.75);font: ;}NvMFeeFlsFee_JobErrorNotificationFls_17_Dmu_GetNotifCallerFls_17_Dmu_GetNotifCallerNvM_JobErrorNotificationNvM_JobErrorNotificationFee_JobErrorNotificationNvMFeeFls
- Fee模块接收到Fls模块发送的
Fee_JobErrorNotification
后,向NvM模块返回此回调函数
NvM_JobErrorNotification
会在当前NVRAM块信息中写入NVM_REQ_NOT_OK
、NVM_REQ_NV_INVALIDATE
或NVM_REQ_INTEGRITY_FAILED
>>返回AUTOSAR系列文章目录<<
3 Fee模块的DaVinci Configurator配制
3.1 Fee\FeeBlockConfigurations
每个Logical Block都有一个FeeBlockConfiguration页面,配制Logical Block的基本属性
Device Index
配制
|
Configurator选项
|
Device Index -> referrence
|
- 将当前Block关联到Fls\FlsGeneral
Blcok Number
配制
|
Configurator选项
|
Blcok Number -> [1, 65535]
|
影响
|
Fee_PBcfg.c
|
static const Fee_BlockType Fee_BlockConfig []
{
.BlockNumber=
}
|
Blcok Size
配制
|
Configurator选项
|
Blcok Size -> [1, 65535]
|
影响
|
Fee_PBcfg.c
|
static const Fee_BlockType Fee_BlockConfig []
{
.Size=
}
|
- 自动生成,系统在NvM模块定义的Block Length基础上加CRC长度(32位CRC则加4byte)
- CRC长度取决于NvM模块的Crc Type
Immediate Data
配制
|
Configurator选项
|
Immediate Data -> True/False
|
影响
|
Fee_PBcfg.c
|
static const Fee_BlockType Fee_BlockConfig []
{
.FeeImmdiateData=
}
|
- Immediate Data开启表明Block包含Immediate Data
- 依据NvM模块自动生成
Number Of Write Cycles
配制
|
Configurator选项
|
Number Of Write Cycles -> [1, :]
|
影响
|
Fee_PBcfg.c
|
static const Fee_BlockType Fee_BlockConfig []
{
.CycleCountLimit=
}
|
- Block的最大Write寿命
- 选择
1200000
Quasi Static Manager
配制
|
Configurator选项
|
Quasi Static Manager -> True/False
|
- Block Type Configured选择
FEE_SECTOR_AND_QUASI_STATIC_DATA
或者FEE_QUASI_STATIC_DATA_ONLY
才有意义
Qs Block Address
配制
|
Configurator选项
|
Qs Block Address -> [0, :]
|
- Block Type Configured选择
FEE_SECTOR_AND_QUASI_STATIC_DATA
或者FEE_QUASI_STATIC_DATA_ONLY
才有意义
Qs Block Instances
配制
|
Configurator选项
|
Qs Block Instances -> [0, 128]
|
- Block Type Configured选择
FEE_SECTOR_AND_QUASI_STATIC_DATA
或者FEE_QUASI_STATIC_DATA_ONLY
才有意义
4.2 Fee\FeeGeneral
FeeGeneral部分主要对应Fee_Cfg.h文件中的常量宏定义和开关宏定义
Main Function Period [s]
配制
|
Configurator选项
|
Main Function Period [s] -> [0.001, 1]
|
Fee_MainFunction
调用周期,要和NvM_MainFunction
一致,通常为0.01
Virtual Page Size
配制
|
Configurator选项
|
Virtual Page Size -> [8]
|
影响
|
Fee_Cfg.h
|
#define FEE_VIRTUAL_PAGE_SIZE
|
- Virtual Page Size必须是Flash Page的整数倍
- 在AUTOSAR中已经被限制只能填
8
Polling Mode
配制
|
Configurator选项
|
Polling Mode -> True/False
|
- 开启则选择Polling Mode,关闭则选择Callback Mode
- 选择
False
Block Type Configured
配制
|
Configurator选项
|
Block Type Configured -> enum:
FEE_DOUBLE_SECTOR_DATA_ONLY
FEE_DOUBLE_SECTOR_AND_QUASI_STATIC_DATA
FEE_QUASI_STATIC_DATA_ONLY
|
影响
|
Fee_Cfg.h
|
#define FEE_DATA_BLOCK_SUPPORTED
|
- 使用NvM模块则必须选择
FEE_DOUBLE_SECTOR_DATA_ONLY
Nvm Job End Notification
配制
|
Configurator选项
|
Nvm Job End Notification -> NvM_JobEndNotification 或 不填
|
影响
|
Fee_PBcfg.c
|
const Fee_ConfigType Fee_Config
{
.FeeNvMJobEndNotificationPtr =
}
|
- NvM模块提供
NvM_JobEndNotification
回调函数
- 不填则给
Fee_Config.FeeNvMJobEndNotification
赋值NULL_PTR
Nvm Job Error Notification
配制
|
Configurator选项
|
Nvm Job Error Notification -> NvM_JobErrorNotification 或 不填
|
影响
|
Fee_PBcfg.c
|
const Fee_ConfigType Fee_Config
{
.FeeNvMJobErrorNotificationPtr =
}
|
- NvM模块提供
NvM_JobErrorNotification
回调函数
- 不填则给
Fee_Config.FeeNvMJobErrorNotification
赋值NULL_PTR
Qs Job End Notification
配制
|
Configurator选项
|
Qs Job End Notification -> Qs_JobEndNotification 或 不填
|
影响
|
Fee_PBcfg.c
|
const Fee_ConfigType Fee_Config
{
.FeeQsJobEndNotificationPtr =
}
|
- Block Type Configured选择
FEE_SECTOR_AND_QUASI_STATIC_DATA
或者FEE_QUASI_STATIC_DATA_ONLY
才有意义
Qs Job Error Notification
配制
|
Configurator选项
|
Qs Job Error Notification -> Qs_JobErrorNotification 或 不填
|
影响
|
Fee_PBcfg.c
|
const Fee_ConfigType Fee_Config
{
.FeeQaJobErrorNotificationPtr =
}
|
- Block Type Configured选择
FEE_SECTOR_AND_QUASI_STATIC_DATA
或者FEE_QUASI_STATIC_DATA_ONLY
才有意义
Dev Error Detect
配制
|
Configurator选项
|
Dev Error Detect -> True/False
|
影响
|
Fee_Cfg.h
|
#define FEE_DEV_ERROR_DETECT
|
- 宏定义开关,是否启用Det模块检测开发错误
- 如果启用Dev Error Detect,则添加
#include Det.h
并启用APIDet_ReportError
- 选择
False
Safety Enable
配制
|
Configurator选项
|
Safety Enable -> True/False
|
影响
|
Fee_Cfg.h
|
#define FEE_SAFETY_ENABLE
|
- 宏定义开关,是否启用MCAL层检测安全错误
- 如果使用Safety Enable,则模块添加
#include Mcal_SafetyError.h
,启用APIMcal_ReportSafetyError
- 选择
False
Init Check Api
配制
|
Configurator选项
|
Init Check Api -> True/False
|
影响
|
Fee_Cfg.h
|
#define FEE_INITCHECK_API
|
- 宏定义开关,是否启用API
Fee_InitCheck
,返回Fee模块是否完成初始化
- 选择
False
Set Mode supported
配制
|
Configurator选项
|
Set Mode supported -> True/False
|
影响
|
Fee_Cfg.h
|
#define FEE_SET_MODE_SUPPORTED
|
- 宏定义开关,是否启用API
Fee_SetMode
- 选择
False
Version Info Api
配制
|
Configurator选项
|
Version Info Api -> True/False
|
影响
|
Fee_Cfg.h
|
#define FEE_VERSION_INFO_API
|
- 宏定义开关,是否启用API
Fee_GetVersionInfo
- 选择
False
3.3 Fee\FeeIfxSpecificConfig
此页操作英飞凌特有的配制信息
Cancel All Api
配制
|
Configurator选项
|
Cancel All Api -> True/False
|
影响
|
Fee_Cfg.h
|
#define FEE_CANCEL_ALL_API
|
- 宏定义开关,是否启用API
Fee_17_CancelAll
- 开启则允许取消所有当前任务,优先Write high priority quasi static data
- Block Type Configured选择
FEE_SECTOR_AND_QUASI_STATIC_DATA
才有意义
- 选择
False
Erase All Enable
配制
|
Configurator选项
|
Erase All Enable -> True/False
|
影响
|
Fee_PBcfg.c
|
const Fee_ConfigType Fee_Config
{
.FeeEraseAllEnable=
}
|
- 给
Fee_Config->FeeEraseAllEnable
赋值
True
:当Sector处于illegal state时,将DF0_EEPROM格式化然后恢复之前的数据
False
:当Sector处于illegal state时无法恢复,陷入死循环
- 选择
True
Gc Restart
配制
|
Configurator选项
|
Gc Restart -> enum:
FEE_GC_RESTART_INIT
FEE_GC_RESTART_WRITE
|
影响
|
Fee_PBcfg.c
|
const Fee_ConfigType Fee_Config
{
.FeeGCConfigSetting
{
.FeeGcResertPoint=
}
}
|
- 给
Fee_Config->FeeGCConfigSetting->FeeGcResertPoint
赋值
FEE_GC_RESTART_INIT
:当Fee模块初始化后,restart GC
FEE_GC_RESTART_WRITE
:当Fee模块初始化且第一个Read/Write/Invalidate请求后,restart GC
- 选择
FEE_GC_RESTART_INIT
Get Cycle Count Api
配制
|
Configurator选项
|
Get Cycle Count Api -> True/False
|
影响
|
Fee_Cfg.h
|
#define FEE_GET_CYCLE_COUNT_API
|
- 宏定义开关,是否启用API
Fee_17_GetCycleCount
获取block cycle和erase cycle
- 选择
True
Get Prev Data Api
配制
|
Configurator选项
|
Get Cycle Count Api -> True/False
|
影响
|
Fee_Cfg.h
|
#define FEE_GET_PREV_DATA_API
|
- 宏定义开关,是否启用API
Fee_17_GetPrevData
获取上一个Block Instance数据
- 选择
False
Max Block Count
配制
|
Configurator选项
|
Max Block Count -> [1, :]
|
影响
|
Fee_Cfg.h
|
#define FEE_MAX_BLOCK_COUNT
|
Max Bytes Per Cycle
配制
|
Configurator选项
|
Max Bytes Per Cycle -> enum:
FEE_MAX_BYTES_64
FEE_MAX_BYTES_128
FEE_MAX_BYTES_256
FEE_MAX_BYTES_512
|
影响
|
Fee_Cfg.h
|
#define FEE_MAX_BYTES_PER_CYCLE
|
- 一个
Fee_MainFunction
周期内最大数据处理量
- 选择
FEE_MAX_BYTES_512
Nvm Illegal State Notification
配制
|
Configurator选项
|
Nvm Illegal State Notification -> NvM_IllegalStateNotification 或 不填
|
影响
|
Fee_PBcfg.c
|
const Fee_ConfigType Fee_Config
{
…
}
|
- Fee模块提供
Fee_NvMIllegalStateNotification
回调函数
- 不填则给
Fee_Config.NvMIllegalStateNotification
赋值NULL_PTR
- 一般不填
Qs Harden Error Notification
配制
|
Configurator选项
|
Qs Harden Error Notification -> 不填
|
影响
|
Fee_PBcfg.c
|
const Fee_ConfigType Fee_Config
{
…
}
|
- Block Type Configured选择
FEE_SECTOR_AND_QUASI_STATIC_DATA
或者FEE_QUASI_STATIC_DATA_ONLY
才有意义
Qs Illegal State Notification
配制
|
Configurator选项
|
Qs Illegal State Notification -> 不填
|
影响
|
Fee_PBcfg.c
|
const Fee_ConfigType Fee_Config
{
…
}
|
- Block Type Configured选择
FEE_SECTOR_AND_QUASI_STATIC_DATA
或者FEE_QUASI_STATIC_DATA_ONLY
才有意义
State Var Struct
配制
|
Configurator选项
|
State Var Struct -> FeeStateVar
|
影响
|
Fee_PBcfg.c
|
static Fee_StateDataType FeeStateVar
|
Threshold Value
配制
|
Configurator选项
|
Threshold Value -> [0, :]
|
影响
|
Fee_PBcfg.c
|
const Fee_ConfigType Fee_Config
{
…
}
|
- Sector中剩余内存小于Threshold Value时触发garbage collect和sector change
Um Config Blk Overflow Handler
配制
|
Configurator选项
|
Um Config Blk Overflow Handler -> enum:
FEE_CONTINUE
FEE_STOP_AT_GC
|
影响
|
Fee_PBcfg.c
|
const Fee_ConfigType Fee_Config
{
…
}
|
FEE_CONTINUE
: GC时遇到unconfigurated block直接跳过
FEE_STOP_AT_GC
: GC时遇到unconfigurated block短暂进入只读状态
- 选
FEE_CONTINUE
Um Config Block
配制
|
Configurator选项
|
Um Config Blk Overflow Handler -> enum:
FEE_UNCONFIG_BLOCK_IGNORE
FEE_UNCONFIG_BLOCK_KEEP
|
影响
|
Fee_PBcfg.c
|
const Fee_ConfigType Fee_Config
{
…
}
|
FEE_UNCONFIG_BLOCK_IGNORE
: GC时不复制unconfigurated block
FEE_UNCONFIG_BLOCK_KEEP
: GC时赋值unconfigurated block
- 选
FEE_UNCONFIG_BLOCK_IGNORE
Use Erase Suspend
配制
|
Configurator选项
|
Use Erase Suspend -> True/False
|
影响
|
Fee_PBcfg.c
|
const Fee_ConfigType Fee_Config
{
…
}
|
- 启用时,Fee模块可以中断GC操作,优先进行Read/Write请求
- 这是TC389的硬件功能
- 选择
False
Virgin Flash Illegal State
配制
|
Configurator选项
|
Virgin Flash Illegal State -> True/False
|
影响
|
Fee_Cfg.h
|
#define FEE_VIRGIN_FLASH_ILLEGAL_STATE
|
3.4 Fee\FeeDemEventParamterRefs
本页是Error后Dem模块对应的Action,不填代表FEE_DISABLE_DEM_REPORT
E GC ERASE
配制
|
Configurator选项
|
E GC ERASE -> 不填
|
影响
|
Fee_Cfg.h
|
#define FEE_GC_ERASE_DEM_REPORT
|
E GC INIT
配制
|
Configurator选项
|
E GC INIT -> 不填
|
影响
|
Fee_Cfg.h
|
#define FEE_GC_INIT_DEM_REPORT
|
E GC READ
配制
|
Configurator选项
|
E GC READ -> 不填
|
影响
|
Fee_Cfg.h
|
#define FEE_GC_READ_DEM_REPORT
|
E GC TRIG
配制
|
Configurator选项
|
E GC TRIG -> 不填
|
影响
|
Fee_Cfg.h
|
#define FEE_GC_TRIG_DEM_REPORT
|
E GC WRITE
配制
|
Configurator选项
|
E GC WRITE -> 不填
|
影响
|
Fee_Cfg.h
|
#define FEE_GC_WRITE_DEM_REPORT
|
E INVALIDATE
配制
|
Configurator选项
|
E INVALIDATE -> 不填
|
影响
|
Fee_Cfg.h
|
#define FEE_INVALIDATE_DEM_REPORT
|
E READ
配制
|
Configurator选项
|
E READ -> 不填
|
影响
|
Fee_Cfg.h
|
#define FEE_READ_DEM_REPORT
|
E UNCONFIG BLK EXCEEDED
配制
|
Configurator选项
|
E UNCONFIG BLK EXCEEDED -> 不填
|
影响
|
Fee_Cfg.h
|
#define FEE_UNCFG_BLK_DEM_REPORT
|
E WRITE
配制
|
Configurator选项
|
E WRITE -> 不填
|
影响
|
Fee_Cfg.h
|
#define FEE_WRITE_DEM_REPORT
|
E WRITE CYCLES EXHAUSTED
配制
|
Configurator选项
|
E WRITE CUCLES EXHAUSTED -> 不填
|
影响
|
Fee_Cfg.h
|
#define FEE_WRITE_CYCLES_DEM_REPORT
|
>>返回AUTOSAR系列文章目录<<
AUTOSAR-Fee模块相关推荐
- 基于Vector 的AUTOSAR NvM 模块使用
本文主要讲述Vector的两款工具configurator和Developer关于NvM的配置流程,包括如何新建NvM SWC以及添加和修改NvM block,Developer主要涉及NvM SWC ...
- AUTOSAR FEE 评估策略分析
在前面提到的基于相同的Mcu. 可能有不同的供应商提供Fee模块(或者可以给Fee Suppiler提要求),他们的对于换页机制,存储结构,读写速度等相关功能可能存在差异 因此在选择Fee Suppl ...
- 搞一下CP AUTOSAR 入门 | 02 CP AUTOSAR 基础模块功能描述
前言 本系列请点击:<搞一下CP AUTOSAR入门> 所有系列请点击:<汽车电子系列分享> 在上一篇介绍了CP AUTOSAR的分层结构,对于多数使用AUTOSAR架构开发汽 ...
- AUTOSAR从入门到精通100讲(二十四)-AUTOSAR通信篇—AUTOSAR COM模块
AUTOSAR COM是AUTOSAR通讯的重要组成部分,它是从OSEK COM标准的基础上发展而来的.它提出了一个不同速率的总线网络之间进行数据交换的方法,为汽车控制单元应用软件提供了统一的通信环境 ...
- Autosar Dcm模块之Vector Configurator Pro配置(DSP子模块)
背景 之前简单介绍了Autosar Dcm模块,接下来我们直接切入主题,如何通过Vector Configurator Pro工具配置DSD子模块,并实现客户的需求. DSP子模块配置 1.DSP子模 ...
- AUTOSAR ComM模块介绍
AUTOSAR ComM模块介绍 Autosar ComM概述 Autosar ComM 全称是 Autosar Communication Manager,顾名思义就是用来管理通讯的,ComM 模块 ...
- AUTOSAR DET模块解析
作者:Stephen Du 免责声明: 本文为个人学习笔记及总结,仅代表个人观点,尽可能保证内容准确性.复制/转发请注明来源/作者. 欢迎添加微信交流学习. AUTOSAR DET模块解析 参考文档: ...
- AUTOSAR Fee Fls 换页策略与读写的分析与设计
在正式说起FEE/FLS 换页策略和读写流程之前,我们先介绍了FLS 的一些基本概念 在MCU 中有一块非易失性存储器我们称之为Data Flash , 在AUTOSAR FEE/FLS 规范中,通过 ...
- Autosar Dcm模块介绍
DCM模块介绍 诊断通信管理(Diagnostic Communication Manager, DCM)模块作为AutoSar诊断模块的重要组成部分,主要负责诊断数据流和管理诊断状态,包括诊断会话. ...
- autosar中com模块_详细介绍AUTOSAR各个模块作用PART1(OS,SYS)
这片文章中我们详细讲解下每个模块的功能,上图是vector的autosar方案,每个模块的详细介绍后续会有单独文章进行讲解,请关注.以下是各个模块的简介 1.VHSM hardware Securit ...
最新文章
- JavaScript DOM编程艺术 - 读书笔记1-3章
- 影响视频会议效果的因素及案例分析
- [云炬创业基础笔记]第五章创业机会评估测试4
- 掌握 Ajax,第 11 部分: 服务器端的 JSON
- 基于JAVA+SpringMVC+Mybatis+MYSQL的铁路售票系统
- 被坑的过来人告诉你,为什么数据中台永远都搞不成?
- 3-4 创建一个新的项目
- No package ‘libmate-menu‘ found
- 第一章 语料库语言学基本知识
- [转]富人的28个理财习惯
- vmware卸载不干净,重装不了问题;装了虚拟机上不了网问题;装了虚拟机发现windows在cmd中ping不了虚拟机,虚拟机能ping的了windows;secureCRT或者filezilla连接
- JavaBean的前世晋升程序员如何提升领导力
- R语言入门(1)时间序列分析
- Java 学习API(一)
- Windows下快速获取一个文件夹下所有文件的名称列表
- kubernetes节点维护命令——cordon, drain, uncordon
- CISSP 第十一章 安全运营
- ssd(Single Shot MultiBox Detector)解读之(一)原理解析
- 5种快速查找容器文件系统中文件的方法
- poco新增对cocos c++项目的支持~
热门文章
- React Native布局实践:开发京东客户端首页(四)——首页功能按钮及控件封装
- 终端溯源图构建工具SPADE专题-1 SPADE工具安装
- keras+卷积神经网络HWDB手写汉字识别
- 蘑菇街商家登录php源码,蘑菇街
- 洛谷刷题C语言:CRNE、CETIRI、PRASE
- Entry name ‘META-INF/xxxxxxxx‘ collided 解决方法
- docker语句及SQL查询
- PCF8591 A/D转换模块
- 计算机上怎么计算x的n次方,计算x的n次方(用函数)
- 电子邮件注册网站哪个好:四大邮箱客户端的对比