Обновление
This commit is contained in:
parent
03233e644e
commit
58bfb47bf9
|
|
@ -14,46 +14,46 @@
|
|||
|
||||
SECT_SRAM_XCP tXCP_DAQ DAQ[MAX_DAO];
|
||||
|
||||
char strPrintfDebug[80];
|
||||
static char strPrintfDebug_XCP[80];
|
||||
|
||||
void PrintfDebug(uint8_t *data, uint8_t dlc) {
|
||||
static void PrintfDebug(uint8_t *data, uint8_t dlc) {
|
||||
|
||||
switch (dlc) {
|
||||
|
||||
case 0:
|
||||
sprintf(strPrintfDebug, " ");
|
||||
sprintf(strPrintfDebug_XCP, " ");
|
||||
break;
|
||||
case 1:
|
||||
sprintf(strPrintfDebug, "0x%02X", data[0]);
|
||||
sprintf(strPrintfDebug_XCP, "0x%02X", data[0]);
|
||||
break;
|
||||
case 2:
|
||||
sprintf(strPrintfDebug, "0x%02X:0x%02X", data[0], data[1]);
|
||||
sprintf(strPrintfDebug_XCP, "0x%02X:0x%02X", data[0], data[1]);
|
||||
break;
|
||||
case 3:
|
||||
sprintf(strPrintfDebug, "0x%02X:0x%02X:0x%02X", data[0], data[1], data[2]);
|
||||
sprintf(strPrintfDebug_XCP, "0x%02X:0x%02X:0x%02X", data[0], data[1], data[2]);
|
||||
break;
|
||||
case 4:
|
||||
sprintf(strPrintfDebug, "0x%02X:0x%02X:0x%02X:0x%02X", data[0], data[1], data[2], data[3]);
|
||||
sprintf(strPrintfDebug_XCP, "0x%02X:0x%02X:0x%02X:0x%02X", data[0], data[1], data[2], data[3]);
|
||||
break;
|
||||
case 5:
|
||||
sprintf(strPrintfDebug, "0x%02X:0x%02X:0x%02X:0x%02X:0x%02X", data[0], data[1], data[2], data[3], data[4]);
|
||||
sprintf(strPrintfDebug_XCP, "0x%02X:0x%02X:0x%02X:0x%02X:0x%02X", data[0], data[1], data[2], data[3], data[4]);
|
||||
break;
|
||||
case 6:
|
||||
sprintf(strPrintfDebug, "0x%02X:0x%02X:0x%02X:0x%02X:0x%02X:0x%02X", data[0], data[1], data[2], data[3],
|
||||
sprintf(strPrintfDebug_XCP, "0x%02X:0x%02X:0x%02X:0x%02X:0x%02X:0x%02X", data[0], data[1], data[2], data[3],
|
||||
data[4], data[5]);
|
||||
break;
|
||||
case 7:
|
||||
sprintf(strPrintfDebug, "0x%02X:0x%02X:0x%02X:0x%02X:0x%02X:0x%02X:0x%02X", data[0], data[1], data[2],
|
||||
sprintf(strPrintfDebug_XCP, "0x%02X:0x%02X:0x%02X:0x%02X:0x%02X:0x%02X:0x%02X", data[0], data[1], data[2],
|
||||
data[3], data[4],
|
||||
data[5], data[6]);
|
||||
break;
|
||||
case 8:
|
||||
sprintf(strPrintfDebug, "0x%02X:0x%02X:0x%02X:0x%02X:0x%02X:0x%02X:0x%02X:0x%02X", data[0], data[1],
|
||||
sprintf(strPrintfDebug_XCP, "0x%02X:0x%02X:0x%02X:0x%02X:0x%02X:0x%02X:0x%02X:0x%02X", data[0], data[1],
|
||||
data[2], data[3], data[4],
|
||||
data[5], data[6], data[7]);
|
||||
break;
|
||||
default:
|
||||
sprintf(strPrintfDebug, " ");
|
||||
sprintf(strPrintfDebug_XCP, " ");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -78,7 +78,7 @@ static bool isUNLOCK(tCanSerialPortFrameXCP *env, eTypeProtect RESOURCE) {
|
|||
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
static unsigned long SeedToKeyHVAC_NAMI(unsigned char rnd, unsigned long dwSeedInfo) {
|
||||
#define Mask 0x55F388A6UL
|
||||
|
||||
|
|
@ -97,6 +97,8 @@ static unsigned long SeedToKeyHVAC_NAMI(unsigned char rnd, unsigned long dwSeedI
|
|||
|
||||
return key;
|
||||
}
|
||||
*/
|
||||
extern uint32_t generate_key(uint32_t seed);
|
||||
|
||||
void CanSerialPortFrameXcpInit(
|
||||
tCanSerialPortFrameXCP *env,
|
||||
|
|
@ -268,7 +270,7 @@ static uint8_t XCP_GET_SEED_F8(tCanSerialPortFrameXCP *env) {
|
|||
eXcpCommand_GET_SEED *xcpCommand_GET_SEED = (eXcpCommand_GET_SEED *) env->response;
|
||||
xcpCommand_GET_SEED->COM = XCP_COMMAND_CONNECT;
|
||||
xcpCommand_GET_SEED->LEN = 4;
|
||||
xcpCommand_GET_SEED->KEY = 0x11223344;
|
||||
xcpCommand_GET_SEED->KEY = 0x853A08FB;
|
||||
env->RESOURCE = request->RESOURCE;
|
||||
|
||||
return 6;
|
||||
|
|
@ -277,7 +279,7 @@ static uint8_t XCP_GET_SEED_F8(tCanSerialPortFrameXCP *env) {
|
|||
static uint8_t XCP_UNLOCK_F7(tCanSerialPortFrameXCP *env) {
|
||||
eXcpCommand_REQ_UNLOCK *request = (eXcpCommand_REQ_UNLOCK *) env->canFrame.data;
|
||||
|
||||
uint32_t securitySeedMy = SeedToKeyHVAC_NAMI(0, 0x11223344);
|
||||
uint32_t securitySeedMy = generate_key(0x853A08FB);//SeedToKeyHVAC_NAMI(0, 0x11223344);
|
||||
|
||||
if (securitySeedMy != request->KEY) {
|
||||
env->response[0] = XCP_COMMAND_DISCONNECT;
|
||||
|
|
@ -362,7 +364,7 @@ static uint8_t XCP_COMMAND_UPLOAD_F5(tCanSerialPortFrameXCP *env) {
|
|||
|
||||
#if (LOG_XCP == 1)
|
||||
PrintfDebug(env->response, 1);
|
||||
LoggerFormatInfo(LOGGER, LOG_SIGN, "< [%d] %s", 1, strPrintfDebug)
|
||||
LoggerFormatInfo(LOGGER, LOG_SIGN, "< [%d] %s", 1, strPrintfDebug_XCP)
|
||||
#endif
|
||||
env->ioCanFrame->transmit(env->ioCanFrame->env, env->response, 1, PROTOCOL_CAN_ADR_XCP,
|
||||
PROTOCOL_CAN_TYPE_XCP,
|
||||
|
|
@ -380,7 +382,7 @@ static uint8_t XCP_COMMAND_UPLOAD_F5(tCanSerialPortFrameXCP *env) {
|
|||
env->ADR_MTA += 7;
|
||||
#if (LOG_XCP == 1)
|
||||
PrintfDebug(env->response, 7 + 1);
|
||||
LoggerFormatInfo(LOGGER, LOG_SIGN, "< [%d] %s", 7 + 1, strPrintfDebug)
|
||||
LoggerFormatInfo(LOGGER, LOG_SIGN, "< [%d] %s", 7 + 1, strPrintfDebug_XCP)
|
||||
#endif
|
||||
env->ioCanFrame->transmit(env->ioCanFrame->env, env->response, 7 + 1, PROTOCOL_CAN_ADR_XCP,
|
||||
PROTOCOL_CAN_TYPE_XCP,
|
||||
|
|
@ -393,7 +395,7 @@ static uint8_t XCP_COMMAND_UPLOAD_F5(tCanSerialPortFrameXCP *env) {
|
|||
|
||||
#if (LOG_XCP == 1)
|
||||
PrintfDebug(env->response, tailBlock + 1);
|
||||
LoggerFormatInfo(LOGGER, LOG_SIGN, "< [%d] %s", tailBlock + 1, strPrintfDebug)
|
||||
LoggerFormatInfo(LOGGER, LOG_SIGN, "< [%d] %s", tailBlock + 1, strPrintfDebug_XCP)
|
||||
#endif
|
||||
env->ioCanFrame->transmit(env->ioCanFrame->env, env->response, tailBlock + 1, PROTOCOL_CAN_ADR_XCP,
|
||||
PROTOCOL_CAN_TYPE_XCP, 1000);
|
||||
|
|
@ -1621,7 +1623,7 @@ uint8_t vCanSerialPortFrameXcpReceive(tCanSerialPortFrameXCP *env, uint32 timeou
|
|||
#if (LOG_XCP == 1)
|
||||
if ((com != 0xD0) && (com != 0xF5)) {
|
||||
PrintfDebug(env->canFrame.data, env->canFrame.dlc);
|
||||
LoggerFormatInfo(LOGGER, LOG_SIGN, "> %s [%d] %s", xcp_com[com].desc, env->canFrame.dlc, strPrintfDebug)
|
||||
LoggerFormatInfo(LOGGER, LOG_SIGN, "> %s [%d] %s", xcp_com[com].desc, env->canFrame.dlc, strPrintfDebug_XCP)
|
||||
}
|
||||
#endif
|
||||
if (xcp_com[com].func != NULL) {
|
||||
|
|
@ -1633,7 +1635,7 @@ uint8_t vCanSerialPortFrameXcpReceive(tCanSerialPortFrameXCP *env, uint32 timeou
|
|||
#if (LOG_XCP == 1)
|
||||
if ((com != 0xD0) && (com != 0xF5)) {
|
||||
PrintfDebug(env->response, response_size);
|
||||
LoggerFormatInfo(LOGGER, LOG_SIGN, "< [%d] %s", response_size, strPrintfDebug)
|
||||
LoggerFormatInfo(LOGGER, LOG_SIGN, "< [%d] %s", response_size, strPrintfDebug_XCP)
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue