#ifndef _UDS_FBL_SERVICE31_INCLUDE_ #define _UDS_FBL_SERVICE31_INCLUDE_ #ifdef __cplusplus extern "C" { #endif /******************************************************************************* ** Include Section ** *******************************************************************************/ #include "stdint.h" #include "stdbool.h" #include "uds_fbl_mgr.h" #include "uds_response_code.h" #include "BootDiagTp.h" #include "uds_vmem.h" /******************************************************************************* ** Version Information ** *******************************************************************************/ /******************************************************************************* ** Version Check ** *******************************************************************************/ /******************************************************************************* ** Global Data ** *******************************************************************************/ #define BACKUP_APP 0x01 #define BACKUP_APP_OK 0x02 #define RECOVERY_APP 0x03 #define RECOVERY_APP_OK 0x04 #define DO_NOTHING 0x05 #define ERASE_APP_M0 0x01 #define ERASE_APP_M4 0x04 #define FLASH_PROGRAM_TYPE 0x02 /******************************************************************************* ** Function Declarations ** *******************************************************************************/ uint8_t ApplDiagStartRoutineByLocaldentifier_31(UDSpacket_t* qUDSpacket); uds_nrc service31_nrc_check(UDSpacket_t* qUDSpacket); uds_nrc UdsFbl_CheckProgrammingIntegrity(UDSpacket_t* qUDSpacket); uds_nrc UdsFbl_checkProgrammingPreconditions(UDSpacket_t* qUDSpacket); uds_nrc UdsFbl_checkProgrammingDependencies(UDSpacket_t* qUDSpacket); uds_nrc UdsFbl_eraseMemory(UDSpacket_t* qUDSpacket); void setBackUpInfo(uint8_t u8_a_backupinfo); uint8_t getBackUpInfo(void); void setEraseAppInfo(uint8_t u8_a_eraseAppInfo); uint8_t getEraseAppInfo(void); void read2KFlash(uint32_t u32_a_addr, uint32_t u32_a_len, uint8_t *u8_a_readBuf); void write2KFlash(uint32_t u32_a_addr, uint32_t u32_a_len, uint8_t *u8_a_writeBuf); void backUpApp(void); void recoveryApp(void); void eraseAppM0(void); void eraseAppM4(void); void eraseCounterCheck(uint16_t* pEraseCounter); void eraseSendPendingRsp(void); void checkRoutineCounterCheck(uint16_t *pcheckRoutineCounter); void checkRoutineSendPendingRsp(void); void checkDependCounterCheck(uint16_t *pcheckDependCounter); void checkDependSendPendingRsp(void); void setCheckRoutineInfo(uint8_t checkroutineinfo); uint8_t getCheckRoutineInfo(void); void setCheckDependInfo(uint8_t checkDependinfo); uint8_t getCheckDependInfo(void); void verifyFlsDrv(void); void CheckDependencies(void); /******************************************************************************* ** End of File ** *******************************************************************************/ #ifdef __cplusplus } #endif #endif /*_UDS_FBL_SERVICE31_INCLUDE_*/