микроконтроллер STM32 компилятор Keil 4.70
Есть два класса t_data и t_data1, отличаются только наличием конструктора. При инициализации класса при отсутствии конструктора данные пишутся во flash, при добавлении конструктора все пишется в оперативную память. Атрибут __attribute__((const)) перед конструктором не помогает, как константу его объявить нельзя.
CODE
class t_data {
public :
const uint32_t value;
uint32_t Get () const {return value;};
void Init (void) const {};
t_data (const uint32_t v) : value(v) {Init();};
};
class t_data1 {
public :
uint32_t value;
uint32_t Get () const {return value;};
void Init (void) const {};
};
const t_data data (0x1234);
const t_data1 data1 = {0x1234};
const t_data * pointer = &data; // 0x2000xxxx - value записалось в RAM
const t_data1 * pointer1 = &data1; // 0x0800xxxx - value записалось во flash
Как записать объект проинициализированный с помощью конструктора в flash память мк?