21 lines
758 B
C++
21 lines
758 B
C++
#pragma once
|
|||
|
|
#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;
|
||
|
|
|
||
|
|
// 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;
|
||
|
|
|
||
|
|
// CANFD数据段最大64字节,我们用32字节数据 + 4字节头部
|
||
|
|
constexpr uint32_t OTA_PACKET_SIZE = 32;
|
||
|
|
typedef struct {
|
||
|
|
uint32_t packet_num; // 包序号
|
||
|
|
uint8_t data[OTA_PACKET_SIZE]; // 32字节有效数据
|
||
|
|
uint32_t crc32; // 简单校验
|
||
|
|
} canfd_ota_packet_t;
|