История изменений
Исправление Beewek, (текущая версия) :
Да, дело было в выравнивании. Мне хватило задать длины строк кратные 4, и указать инициализаторы для строк:
struct AppHeader
{
uint32_t signature;
uint32_t hwVersion;
uint32_t flags;
char description[32] {};
uint32_t crc;
};
constexpr AppHeader appHeader __attribute__((section(".app_header"), used)) =
{
0x12345678,
2,
0,
"My cool app",
.crc = compileCrc32(&appHeader, offsetof(AppHeader, crc))
};
Ещё раз спасибо за подсказку.
Исходная версия Beewek, :
Да, дело было в выравнивании. Мне хватило задать длины строк кратные 4, и указать инициализаторы для строк:
struct AppHeader
{
uint32_t signature;
uint32_t hwVersion;
uint32_t flags;
char description[32] {};
uint32_t crc;
};
constexpr AppHeader appHeader __attribute__((section(".app_header"), used)) =
{
sizeof(AppHeader),
0x12345678,
2,
0,
"My cool app",
.crc = compileCrc32(&appHeader, offsetof(AppHeader, crc))
};
Ещё раз спасибо за подсказку.