From 41f087b7183a5730e46b7eaa322b6852d602babf Mon Sep 17 00:00:00 2001
From: tao_z <tzj0429@163.com>
Date: Tue, 31 May 2022 01:04:15 +0800
Subject: [PATCH] 调试更新,非完全体
---
xl6600_flash.ld | 6 +++---
Application/source/main.c | 4 ++--
Application/source/uds_modules/uds.c | 9 +++++++--
Application/source/fbl_ap.c | 2 +-
4 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/Application/source/fbl_ap.c b/Application/source/fbl_ap.c
index d8c94d2..d148ac8 100644
--- a/Application/source/fbl_ap.c
+++ b/Application/source/fbl_ap.c
@@ -2,7 +2,7 @@
#include "fbl_def.h"
#include "xl_nvic.h"
#include <string.h>
-__IO uint8_t ProgramRequest[8] __attribute__((section(".noinit_bootReqFlag_ram")));
+__IO uint8_t ProgramRequest[8] __attribute__((section(".noinit_bootReqFlag")));
// __IO uint32_t VectorTable[99] __attribute__((section(".RAMVectorTable")));
void FblSetFblProgramRequestFlag(void)
diff --git a/Application/source/main.c b/Application/source/main.c
index 1e5a2c3..8932ce5 100644
--- a/Application/source/main.c
+++ b/Application/source/main.c
@@ -75,8 +75,8 @@
}
}
- OSTaskCreate(UDS_Task_1ms, 1, 1, NULL); /*UDS 1ms����*/
- OSTaskCreate(UDS_Task_10ms, 10, 9, NULL); /*UDS 10ms����*/
+ OSTaskCreate(UDS_Task_1ms, 1, 1, NULL);
+ OSTaskCreate(UDS_Task_10ms, 10, 9, NULL);
OSTaskCreate(light_task, 50, 49, NULL);
OSSchedule(&OS_GetTick);
diff --git a/Application/source/uds_modules/uds.c b/Application/source/uds_modules/uds.c
index 7f1040c..f65d787 100644
--- a/Application/source/uds_modules/uds.c
+++ b/Application/source/uds_modules/uds.c
@@ -1773,11 +1773,15 @@
if (transferType == DOWNLOAD_FLASH)
{
UDS_L_CRCCheckFail_b = !MEM_PartitionCRCOK((uint8_t)MEM_PARTITION_CODEFLASH);
+ if (UDS_L_CRCCheckFail_b == false)
+ {
+ NVM_ReInitFlashDriveRam(); // CLEAR FLASH DRIVE IN RAM
+ }
}
else
{
UDS_L_CRCCheckFail_b = !MEM_PartitionCRCOK((uint8_t)MEM_PARTITION_RAM);
- if (UDS_L_CRCCheckFail_b == false)
+ if (UDS_L_CRCCheckFail_b == true)
{
NVM_ReInitFlashDriveRam(); // CLEAR FLASH DRIVE IN RAM
}
@@ -1914,7 +1918,7 @@
UDS_L_tx_msg_buffer[1] = 0x01;
UDS_L_tx_msg_buffer[2] = 0xff;
UDS_L_tx_msg_buffer[3] = 0x00;
- UDS_L_tx_msg_buffer[4] = (uint8_t) true;
+ UDS_L_tx_msg_buffer[4] = 0; // 0:ok 1��error
/* Specify the send payload size */
UDS_L_tx_msg_size = 5;
UDS_RespTxMessage();
@@ -2184,6 +2188,7 @@
operation_write.current_sequenc = expectedSequenceCnt;
operation_write.prev_seqence = currentSequenceCnt;
+ UDS_SendNegResp(NRC_SERVICE_BUSY); // first send busy
write_result = NEM_WriteData(&operation_write); // todo write all data at this function
if (write_result == OP_STATUS_OK)
{
diff --git a/xl6600_flash.ld b/xl6600_flash.ld
index 5f92114..3e75d5f 100644
--- a/xl6600_flash.ld
+++ b/xl6600_flash.ld
@@ -57,14 +57,14 @@
SECTIONS
{
/* no init ram data */
- .RAMNoInitSector :
+ .RAMNoInitSector (NOLOAD):
{
. = ALIGN(8);
- KEEP(*(.noinit_bootReqFlag_ram)) /* Startup code */
+ KEEP(*(.noinit_bootReqFlag)) /* Startup code */
. = ALIGN(8);
} >BOOTFLAG
- .flashdriver_ram : {KEEP(*(.flashdriver_ram))} > FALSH_DRIVER_RAM
+ .flashdriver_ram (NOLOAD) : {KEEP(*(.flashdriver_ram))} > FALSH_DRIVER_RAM
/* file define */
--
Gitblit v1.8.0