Forráskód Böngészése

更新CPU和MCU工程(iram版本和sram-nos版本)驱动代码逻辑:
1.优化CPU工程access module驱动。(错误强制转换)
2.优化CPU工程board.h宏定义错误引用问题。
3.优化MCU工程media update驱动逻辑。(烧录前擦除操作异常)
4.优化MCU工程access module驱动。(宏定义包裹错误)

helen 9 hónapja
szülő
commit
ccd5b87d21

+ 1 - 1
amt630hv160-freertos-beta/ArkmicroFiles/libboard-amt630hv160/include/board.h

@@ -502,7 +502,7 @@ emmc address space( 0 address start)
 #define DDR_MCU_ACCESS_MODULE_ADDR	(DDR_DRV_USE_ADDR)
 #define DDR_CPU_ACCESS_MODULE_ADDR	(DDR_MCU_ACCESS_MODULE_ADDR + DDR_MCU_ACCESS_MODULE_SIZE)
 #define DDR_MEDIA_USE_ADDR			(DDR_CPU_ACCESS_MODULE_ADDR + DDR_CPU_ACCESS_MODULE_SIZE)
-#define DDR_CAN_USE_ADDR			(DDR_MADIA_USE_ADDR + DDR_MEDIA_USE_SIZE)
+#define DDR_CAN_USE_ADDR			(DDR_MEDIA_USE_ADDR + DDR_MEDIA_USE_SIZE)
 /*********************************************************************
 spi nor flash DDR address space
 |----120MB----|------256KB------|------256KB------|----512KB----|-----2MB-----|-----5MB-----|---end

+ 3 - 3
amt630hv160-freertos-beta/ArkmicroFiles/libboard-amt630hv160/source/access_module.c

@@ -99,14 +99,14 @@ static void McuAccessModuleThread(void *para)
 			continue;
 		}
 
-		header = (AccessFlashMsg *)msg.data;
+		header = (AccessModuleHeader *)msg.data;
 		if (header->type == AMT_STATUS) {
 			SendAccessModuleRsp(header->type, 0, AMRMS_NO_ERROR);
 			continue;
 		} else if (header->type == AMT_FLASH) {
-			msg_len = sizeof(AccessFlashMsg);
+			msg_len = f_msg_size;
 		} else if (header->type == AMT_CRC) {
-			msg_len = sizeof(AccessCrcMsg);
+			msg_len = c_msg_size;
 		} else {
 			printf("%s, unknown module type, access not supportd.\n", __func__);
 			//unknown module type, Unable to reply.

+ 1 - 1
amt630hv160-mcu/amt630hv160-mcu-iram/src/App/can_uds.c

@@ -291,7 +291,7 @@ uint8_t CAN_UDS_ServiceProcess(uint8_t SID, uint8_t *pData, uint32_t DataLen)
 			uint8_t res[2] = {SID, 0x78}; //Request Correctly Received Response Pending
 			CAN_UDS_ServiceRespond(0x7F, res, 2);
 #ifndef CAN_UPDATE
-			pData[3] = UPDATE_EraseApp();
+			pData[3] = UPDATE_EraseUpfile(UPFILE_TYPE_MCU_IMAGE);
 #endif
 			CAN_UDS_ServiceRespond(SID | 0x40, pData, 4);
 		} else if (DataLen >= 3 && pData[0] == 0x01 && pData[1] == 0xFF && pData[2]==0x01) { //Check Programming Dependencies,验证APP的合法性

+ 1 - 1
amt630hv160-mcu/amt630hv160-mcu-iram/src/App/mailbox_update/media_update_demo.c

@@ -91,7 +91,7 @@ static void MediaUpdateReceiveHandle(MailboxUpdateFrame *rx_frame)
 	printf("new %s offset: 0x%x.\n", g_upfilename[file_type], UPDATE_GetUpfileAddr(file_type));
 
 	/* burning */
-	UPDATE_EraseApp();
+	UPDATE_EraseUpfile(file_type);
 	alignsize = (rx_frame->TotalSize + 3) & ~3;
 	if (UPDATE_WriteData(UPDATE_GetUpfileAddr(file_type), (void *)rx_frame->DataAddr, alignsize)) {
 		printf("%s burn %s fail.\n", __func__, g_upfilename[file_type]);

+ 3 - 3
amt630hv160-mcu/amt630hv160-mcu-iram/src/App/update.c

@@ -366,11 +366,11 @@ int UPDATE_EraseData(u32 addr, u32 size)
 	return 0;
 }
 
-int UPDATE_EraseApp(void)
+int UPDATE_EraseUpfile(int filetype)
 {
-	u32 imageoff = UPDATE_GetUpfileAddr(UPFILE_TYPE_MCU_IMAGE);
+	u32 offset = UPDATE_GetUpfileAddr(filetype);
 
-	UPDATE_EraseData(imageoff, IMAGE_MAX_SIZE);
+	UPDATE_EraseData(offset, UPDATE_GetUpfileMaxSize(filetype));
 
 	return 0;
 }

+ 1 - 1
amt630hv160-mcu/amt630hv160-mcu-iram/src/App/update.h

@@ -70,7 +70,7 @@ void SaveHeaderOff(void);
 unsigned int UPDATE_GetUpfileMaxSize(int filetype);
 u32 UPDATE_GetUpfileAddr(int filetype);
 int UPDATE_EraseData(u32 addr, u32 size);
-int UPDATE_EraseApp(void);
+int UPDATE_EraseUpfile(int filetype);
 int UPDATE_WriteData(u32 addr, void *buf, u32 size);
 int UPDATE_ReadData(u32 addr, void *buf, u32 size);
 u32 UPDATE_CalcCrc(u32 addr, u32 size, u32 crc);

+ 1 - 1
amt630hv160-mcu/amt630hv160-mcu-iram/src/Drivers/access_module.h

@@ -77,7 +77,7 @@ typedef struct {
 #ifdef ACCESS_FLASH_SUPPORT
 int AccessFlash(u8 access_type, u32 addr, size_t size, u8 *buf);
 #endif
-#ifdef ACCESS_FLASH_SUPPORT
+#ifdef ACCESS_CRC_SUPPORT
 u32 AccessCRC(const void *buf, u32 size, u32 init, CrcDataWidth widthopt);
 #endif
 #ifdef CPU_ACCESS_MODULE_SUPPORT

+ 1 - 1
amt630hv160-mcu/amt630hv160-mcu-iram/src/main.c

@@ -224,7 +224,7 @@ static int BurnImage(eUpdateMedia umedia)
 		return -1;
 	}
 
-	UPDATE_EraseApp();
+	UPDATE_EraseUpfile(UPFILE_TYPE_MCU_IMAGE);
 	alignsize = (fileinfo.fsize + 3) & ~3;
 	UPDATE_WriteData(UPDATE_GetUpfileAddr(UPFILE_TYPE_MCU_IMAGE), filebuf, alignsize);
 	f_close(&fp);

+ 1 - 1
amt630hv160-mcu/amt630hv160-mcu-sram-nos/src/App/can_uds.c

@@ -271,7 +271,7 @@ uint8_t CAN_UDS_ServiceProcess(uint8_t SID, uint8_t *pData, uint32_t DataLen)
 			printf("Erase Flash Memory...\r\n");
 			uint8_t res[2] = {SID, 0x78}; //Request Correctly Received Response Pending
 			CAN_UDS_ServiceRespond(0x7F, res, 2);
-			pData[3] = UPDATE_EraseApp();
+			pData[3] = UPDATE_EraseUpfile(UPFILE_TYPE_MCU_IMAGE);
 			CAN_UDS_ServiceRespond(SID | 0x40, pData, 4);
 		} else if (DataLen >= 3 && pData[0] == 0x01 && pData[1] == 0xFF && pData[2]==0x01) { //Check Programming Dependencies,验证APP的合法性
 			printf("Check Programming Dependencies...\r\n");

+ 1 - 1
amt630hv160-mcu/amt630hv160-mcu-sram-nos/src/App/mailbox_update/media_update_demo.c

@@ -91,7 +91,7 @@ static void MediaUpdateReceiveHandle(MailboxUpdateFrame *rx_frame)
 	printf("new %s offset: 0x%x.\n", g_upfilename[file_type], UPDATE_GetUpfileAddr(file_type));
 
 	/* burning */
-	UPDATE_EraseApp();
+	UPDATE_EraseUpfile(file_type);
 	alignsize = (rx_frame->TotalSize + 3) & ~3;
 	if (UPDATE_WriteData(UPDATE_GetUpfileAddr(file_type), (void *)rx_frame->DataAddr, alignsize)) {
 		printf("%s burn %s fail.\n", __func__, g_upfilename[file_type]);

+ 3 - 3
amt630hv160-mcu/amt630hv160-mcu-sram-nos/src/App/update.c

@@ -142,11 +142,11 @@ int UPDATE_EraseData(u32 addr, u32 size)
 	return 0;
 }
 
-int UPDATE_EraseApp(void)
+int UPDATE_EraseUpfile(int filetype)
 {
-	u32 imageoff = UPDATE_GetUpfileAddr(UPFILE_TYPE_MCU_IMAGE);
+	u32 offset = UPDATE_GetUpfileAddr(filetype);
 
-	UPDATE_EraseData(imageoff, IMAGE_MAX_SIZE);
+	UPDATE_EraseData(offset, UPDATE_GetUpfileMaxSize(filetype));
 
 	return 0;
 }

+ 1 - 1
amt630hv160-mcu/amt630hv160-mcu-sram-nos/src/App/update.h

@@ -70,7 +70,7 @@ void SaveHeaderOff(void);
 unsigned int UPDATE_GetUpfileMaxSize(int filetype);
 u32 UPDATE_GetUpfileAddr(int filetype);
 int UPDATE_EraseData(u32 addr, u32 size);
-int UPDATE_EraseApp(void);
+int UPDATE_EraseUpfile(int filetype);
 int UPDATE_WriteData(u32 addr, void *buf, u32 size);
 int UPDATE_ReadData(u32 addr, void *buf, u32 size);
 u32 UPDATE_CalcCrc(u32 addr, u32 size, u32 crc);

+ 1 - 1
amt630hv160-mcu/amt630hv160-mcu-sram-nos/src/Drivers/access_module.h

@@ -77,7 +77,7 @@ typedef struct {
 #ifdef ACCESS_FLASH_SUPPORT
 int AccessFlash(u8 access_type, u32 addr, size_t size, u8 *buf);
 #endif
-#ifdef ACCESS_FLASH_SUPPORT
+#ifdef ACCESS_CRC_SUPPORT
 u32 AccessCRC(const void *buf, u32 size, u32 init, CrcDataWidth widthopt);
 #endif
 #ifdef CPU_ACCESS_MODULE_SUPPORT