前言
本文为NXP S32K144 基于EB Tresos Fls模块的简单代码分析,描述了使用Fls模块写入数据的大致流程。
三个函数分析
Fls_Init
Fls_Init()
{
……
Fls_eJobResult = MEMIF_JOB_OK;
……
}
说明:
Fls_Init函数在正确初始化后,会将Fls_eJobResult 状态切换为 MEMIF_JOB_OK,这是Fls_Erase和Fls_Write正常运行的前提条件。
Fls_ Erase
Fls_Erase()
{
……
if( MEMIF_JOB_PENDING == Fls_eJobResult )
{
u8RetVal = (Std_ReturnType)E_NOT_OK;
}
Else// Fls_eJobResult == MEMIF_JOB_OK;
{
Fls_eJob = FLS_JOB_ERASE;
Fls_u8JobStart = 1U;
Fls_eJobResult = MEMIF_JOB_PENDING;
}
……
}
说明:
Fls_Erase函数主要用于设置ERASE擦除指令,并设置Fls_MainFunction函数会用到的三个参数Fls_eJob, Fls_u8JobStart, Fls_eJobResult。
Fls_MainFunction
Fls_MainFunction()
{
……
if( MEMIF_JOB_PENDI