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

 
 
 
Reply to this topicStart new topic
> Как разместить строки в ПЗУ?, Константные строки в IAR
Olexander V. Pal...
сообщение Feb 12 2008, 09:33
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 4-09-07
Пользователь №: 30 260



Добрый день. Столкнулся с такой проблемой. Все строки в С++ проекте размещаются в ОЗУ.

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

Компилятор "IAR Embedded Workbench Evaluation for Renesas M16C and R8C 3.21A". Процессор Renesas M16C/28.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Feb 12 2008, 11:49
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Olexander V. Paladiy @ Feb 12 2008, 16:33) *
В IAR for AVR, к примеру, есть атрибут памяти __flash. Возможно, в Вашем компиляторе есть нечно похожее. Однако, это не есть константный тип данных, поэтому стандартные функции работы со строками из stdio.h. e.t.c работать с __flash не будут, потому как в Си нет такого типа. НО, в том же IAR for AVR есть библа, которая имеет достаточное количество аналогичных функций. К примеру эквивалент printf в ней P_printf... Правда, я не помню, как она зовется.


--------------------
Go to the top of the page
 
+Quote Post
vesago
сообщение Feb 12 2008, 12:49
Сообщение #3


Тутэйшы
****

Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263



Для MSP430 const u8_t[] = "blabla";
Go to the top of the page
 
+Quote Post
CAHTA_1939
сообщение May 24 2008, 14:07
Сообщение #4


Частый гость
**

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



привильно ли так писать?

struct msg {
const byte *p1;
}pp;

pp.p1 = "01234567";

по данным линкера строка "01234567" пишется в пзу...
Go to the top of the page
 
+Quote Post
YAM
сообщение May 25 2008, 13:00
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 7-07-04
Из: Ukraine
Пользователь №: 291



Во вкладке "Extra Options" категории "C/C++ Compiler" ставите галочку и вставляете
--string_literals_in_flash


--------------------
Go to the top of the page
 
+Quote Post

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

 


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


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