Предупреждение: Warning[Pa039]: use of address of unaligned structure member D:\Work\...\Bootloader\Bootloader.c 164
Строка:
if((ret = BL_ExtFlash_Wtite(wr_addr, (uint8_t*)(&(data->firmware_size)), sizeof(data->firmware_size))) != 0)
курсор ^
Определение функции:
static inline int32_t BL_ExtFlash_Wtite(uint32_t addr, uint8_t *buf, uint16_t size)
Определение data:
static int32_t BL_WriteInfo(BL_PackInfo_t* data)
typedef struct __attribute__((packed, aligned(1))) {
union {
uint8_t pack[2 + 4 + BL_BLOCK_SIZE + 4]; //
struct __attribute__((packed, aligned(1))) {
uint8_t version_app[5]; // Версия ПО
uint8_t block_size; // размер блока 128
uint32_t firmware_size; // размер ПО max. 240кБ
uint32_t block_qty; // кол-во блоков max. 1920
uint32_t crc_app; // контрольная приложения
};
};
} BL_PackInfo_t;