基础响应功能的实现

This commit is contained in:
cbb
2025-12-27 19:20:23 +08:00
parent 26e73f451e
commit a25ec5f029
762 changed files with 1165 additions and 3750 deletions
+19 -14
View File
@@ -1,21 +1,26 @@
#pragma once
#ifndef __CONFIG_H__
#define __CONFIG_H__
#include "stdint.h"
// Flash分区配置
constexpr uint32_t BOOTLOADER_SIZE = 0x4000; // 16KB
constexpr uint32_t APP_START_ADDR = 0x08004000; // APP起始地址
constexpr uint32_t APP_MAX_SIZE = 0x0001C000; // 112KB
constexpr uint32_t FMC_PAGE_SIZE = 0x400;
constexpr u32 BOOTLOADER_SIZE = 0x4000; // 16KB
constexpr u32 APP_START_ADDR = 0x08004000; // APP起始地址
constexpr u32 APP2_START_ADDR = 0x08010000; // APP2起始地址
constexpr u32 APP_MAX_SIZE = 0xC000; // 48KB
constexpr u32 FMC_PAGE_SIZE = 0x400; // 1KB
// CANFD配置
constexpr uint32_t CANFD_OTA_REQ_ID = 0x00000100;
constexpr uint32_t CANFD_OTA_DATA_ID = 0x00000101;
constexpr uint32_t CANFD_OTA_ACK_ID = 0x00000102;
constexpr u32 CANFD_OTA_REQ_ID = 0x00000100;
constexpr u32 CANFD_OTA_DATA_ID = 0x00000101;
constexpr u32 CANFD_OTA_ACK_ID = 0x00000102;
constexpr u32 CANFD_OTA_WAIT_ID = 0x00000103;
// CANFD数据段最大64字节,我们用32字节数据 + 4字节头部
constexpr uint32_t OTA_PACKET_SIZE = 32;
// CANFD数据段最大64字节,我们用1字节序号 + 48字节数据 + 1字节CRC校验
constexpr u32 OTA_PACKET_SIZE = 48;
typedef struct {
uint32_t packet_num; // 包序号
uint8_t data[OTA_PACKET_SIZE]; // 32字节有效数据
uint32_t crc32; // 简单校验
} canfd_ota_packet_t;
u32 packet_num; // 包序号
u8 data[OTA_PACKET_SIZE]; // 48字节有效数据
u32 crc32; // 简单校验
} canfd_ota_packet_t;
#endif