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

 
 
> Почему константа не ложится во флэш?
Sirko
сообщение Feb 24 2011, 21:01
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 245
Регистрация: 15-08-07
Пользователь №: 29 795



Вот строчка кода,
Код
const int Var PROGMEM = -628;

а вот к ней матюк.
Цитата
./src/menu.cpp:30: warning: only initialized variables can be placed into program memory area


Причем матюк справедливый, поскольку int x = Var; отрабатывает корректно, значит Var сидит в оперативке.

Вопрос: че компилятору от меня нужно. laughing.gif

AVR GCC
WinAVR-2010.01.10
Makefile взят из примеров scmRTOS.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Sirko
сообщение Feb 25 2011, 01:39
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 245
Регистрация: 15-08-07
Пользователь №: 29 795



Большое спасибо.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 25 2011, 09:32
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Забыл const:
CODE
__attribute__((section(".progmem.filename.variable_name")))
static int const Var  = -628;
То, что avr-gcc пропускает такие косяки - плохо sad.gif На днях, правда, начали исправлять, но начали почему-то с несущественного. Самое главное "still need to be addressed"


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st June 2025 - 10:32
Рейтинг@Mail.ru


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