Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как разместить строки в ПЗУ?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
Olexander V. Paladiy
Добрый день. Столкнулся с такой проблемой. Все строки в С++ проекте размещаются в ОЗУ.

Почему так происходит? И вообще как работать с константами, чтобы их не размещать в ОЗУ.

Компилятор "IAR Embedded Workbench Evaluation for Renesas M16C and R8C 3.21A". Процессор Renesas M16C/28.
prottoss
Цитата(Olexander V. Paladiy @ Feb 12 2008, 16:33) *
В IAR for AVR, к примеру, есть атрибут памяти __flash. Возможно, в Вашем компиляторе есть нечно похожее. Однако, это не есть константный тип данных, поэтому стандартные функции работы со строками из stdio.h. e.t.c работать с __flash не будут, потому как в Си нет такого типа. НО, в том же IAR for AVR есть библа, которая имеет достаточное количество аналогичных функций. К примеру эквивалент printf в ней P_printf... Правда, я не помню, как она зовется.
vesago
Для MSP430 const u8_t[] = "blabla";
CAHTA_1939
привильно ли так писать?

struct msg {
const byte *p1;
}pp;

pp.p1 = "01234567";

по данным линкера строка "01234567" пишется в пзу...
YAM
Во вкладке "Extra Options" категории "C/C++ Compiler" ставите галочку и вставляете
--string_literals_in_flash
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.