Насколько я понимаю, gcc строки символов помещает в ОЗУ.Например:
Код
puts ("test\n");
превращается в примерно следующее:
Код
unsigned char name[] = "test\n";
puts(name);
где name во второй строке есть указатель на область ОЗУ, где находится строка.
Теперь вопрос: как сделать так, чтобы gcc в местах, подобных первому примеру, помещал строки во FLASH и брал указатели соответственно.
Вариант, когда все строки перечисляются в начале программы с атрибутом __attribute__((section(".flash"))), не годятся, ибо неудобно. Точнее, годятся, но неудобно и потому не годятся.
Есть мнения ?
Спасибо.
Сообщение отредактировал impatt - Nov 8 2006, 06:15