реклама на сайте
подробности

 
 
> stm32 Keil
Kenshin
сообщение Apr 8 2013, 10:43
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 8-06-06
Из: Тула
Пользователь №: 17 887



микроконтроллер 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 память мк?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 17:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01376 секунд с 7
ELECTRONIX ©2004-2016