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

 
 
> 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
 
Start new topic
Ответов
DASM
сообщение Apr 10 2013, 03:43
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Все равно не понимаю, зачем мудрить с полиморфизом когда речь идет о ножках.Получать тормоза? Да и ножка — это не объект, который создается динамически, зачем тут классы (зачем они вообще в embedded, сурцы линукса нв голом С, но все понятно и расширямо, и концепции ооп видны, без жуткого ++ синтаксиса. И ваша библиотека окромя кейла нигде больше работать не будет без напильника.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Apr 10 2013, 07:10
Сообщение #3


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



ИМХО это всё через шаблоны стоит делать...
Более того Антоха уже это всё сделал и демонстрировал.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post



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

 


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


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