#ifndef _UDS_SERVICEAPI_H_ #define _UDS_SERVICEAPI_H_ #include "stdint.h" #define DID_BOOTLOADER_VERSION 0 #define DID_PROGRAM_COUNT 1 #define DID_FINGERPRINTF 2 #define DID_FAA_27_FAIL_FLAG 3 #define DID_SUPPORT_MAX 4 #define ReadSysSupplierIdLen 0x07 #define ReadECUHWVerNumDataIdLen 0x0F #define ReadECUSWVerNumDataIdLen 0x0F #define ReadHWPartNumberLen 0x15 #define ReadSWPartNumberLen 0x14 #define ReadFBLVerLen 0x04 #define ReadFBLReqSpecVerLen 0x04 #define ReadFBLSwapAreaLen 0x18 #define BOOTLOADER_VERSION_ADDRESS 0x01018000 #define PROGRAM_COUNT_ADDRESS 0x01018000 #define FINGERPRINTF_ADDRESS 0x01018000 #define FAA_27_FAIL_FLAG_ADDRESS 0x01018000 #define DFLASH_RAMSIZE_TEMP 0x10 #define DATAFLASH_VALID_VALUE 0x55AA55AA #define MAX_DATA_LEN 116 #define MAX_BLOCK_NUMBER 8 #define MAX_COUNTER_WRITE_VALUE 0xFFFFFFF0 #ifndef TRUE #define TRUE (uint8_t)1 #endif typedef struct { uint8_t FBLVersionRAM[DFLASH_RAMSIZE_TEMP]; uint8_t ProgramCntRAM[DFLASH_RAMSIZE_TEMP]; uint8_t FingerPrintRAM[DFLASH_RAMSIZE_TEMP]; uint8_t FAA_27_FailFlagRAM[DFLASH_RAMSIZE_TEMP]; }DFlash_RAMBuf_t; uint8_t Dataflash_Common_Write(uint8_t did, _Bool multi_did); uint8_t Dataflash_Common_WriteToRAM(uint8_t did,uint8_t *data); uint8_t Dataflash_Common_Read(uint8_t did ,uint8_t *data); uint8_t Dataflash_Data_Init(void); #endif