Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: only initialized variables can be placed into program memory area!
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
777777
Этот варнинг выдается на такую строчку:

static const BT_PROC BtProc[] PROGMEM = { BtSetZero, BtUp, BtDown, BtRes1, BtMode, BtDigit, BtExit, BtRes2 };

причем только при наличии ключа -xc++. Нельзя ли как-нибудь от него избавиться? Код генерируется правильный.
Сергей Борщ
Цитата(777777 @ Apr 25 2008, 10:53) *
причем только при наличии ключа -xc++. Нельзя ли как-нибудь от него избавиться? Код генерируется правильный.
Бага!. Там же написано, что не ругается на определенные в progmem.h типы. Думаю, надо посмотреть, как они там объявлены и объявить BT_PROC по аналогии. Не проверял.
YKonstantin
Цитата(777777 @ Apr 25 2008, 10:53) *
Этот варнинг выдается на такую строчку:

static const BT_PROC BtProc[] PROGMEM = { BtSetZero, BtUp, BtDown, BtRes1, BtMode, BtDigit, BtExit, BtRes2 };

причем только при наличии ключа -xc++. Нельзя ли как-нибудь от него избавиться? Код генерируется правильный.


Рабочий пример :

extern const u8 KeyboardMap[KEYBOARD_ROW_COUNT][KEYBOARD_COL_COUNT] PROGMEM;
const u8 KeyboardMap[KEYBOARD_ROW_COUNT][KEYBOARD_COL_COUNT] = {
{KEY_UNKNOWN, KEY_IDX_ENTER},
{KEY_IDX_UP, KEY_UNKNOWN},
{KEY_IDX_DOWN, KEY_UNKNOWN}
};

Как видите, лечится предварительным обьявлением как "extern".
koluna
Вообще плохо, конечно sad.gif
Кто знает, поправили или нет в последних версиях?

С extern некрасиво получается.
Так же лечится заменой __attribute__((__progmem__)) на __attribute__((section(".progmem.data"))).
Сергей Борщ
QUOTE (n_bogoyavlensky @ Dec 6 2011, 17:38) *
Кто знает, поправили или нет в последних версиях?
В самой последней идет работа над адресными пространствами. Там этого шаманства с PROGMEM и pgm_read_xxx уже не будет. В предпоследней вроде бы убрали.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.