История изменений
Исправление kvpfs_2, (текущая версия) :
Не совсем понял в каком месте ошибка, но может дело в этом:
constexpr AppInfo appInfo __attribute__((section(".app_info"), used)) =
{
0x0002,
0x0001,
"My Device",
calcCrc32(&appInfo, offsetof(AppInfo, crc))
};
Какая-то дерьмовая идея инициализировать член структуры функцией от других членов тоё же структуры, при том что инициализация не завершена. Может разнести как-то?
struct AppInfo
{
uint32_t signature;
uint32_t version;
char name[20];
};
constexpr AppInfo app_info_inst_0 {...};
constexpr uint32_t appInfo_crc_inst_0 = ...;
PS: я твой пример со своей calcCrc32() скомпилил, потом заменил bit_cast на __builtin_bit_cast, ошибок не было. Но поля лучше разнести
Исходная версия kvpfs_2, :
Не совсем понял в каком месте ошибка, но может дело в этом:
constexpr AppInfo appInfo __attribute__((section(".app_info"), used)) =
{
0x0002,
0x0001,
"My Device",
calcCrc32(&appInfo, offsetof(AppInfo, crc))
};
Какая-то дерьмовая идея инициализировать член структуры функцией от других членов тоё же структуры, при том что инициализация не завершена. Может разнести как-то?
struct AppInfo
{
uint32_t signature;
uint32_t version;
char name[20];
};
constexpr AppInfo app_info_inst_0 {...};
constexpr uint32_t appInfo_crc_inst_0 = ...;