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

 
 
 
Reply to this topicStart new topic
> Как поместить char const* во флеш, IAR 6.3 for ARM ; LPC2214
Zlumd
сообщение Jul 6 2012, 01:50
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 12-04-05
Из: Новосибирск
Пользователь №: 4 057



Пытаюсь сделать следующее:
Код
const char a1[]="a1";
const char a2[]="a2";
const char a3[]="a3";
const char*aa[]={a1,a2,a3};
a1, a2, a3 линкер ложит во флеш, а аа линкер ложит в RAM.
Как заставить линкер положить aa во флеш?
Пробовал делать:
Код
const char*aa[]@".rodata"={a1,a2,a3};
Все равно линкер ложит aa в RAM.
Единственный вариант, который работает, это:
Код
const long aa[]={(long)a1,(long)a2,(long)a3};
Но это некрасиво, потом везде в программе приходится пребразовывать long обратно в char*.
Может кто-нибудь подскажет более красивое решение?
Go to the top of the page
 
+Quote Post
shreck
сообщение Jul 6 2012, 02:04
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 24-06-06
Из: Томск
Пользователь №: 18 328



Цитата(Zlumd @ Jul 6 2012, 08:50) *
Как заставить линкер положить aa во флеш?

Код
const char* const aa[] = ...

Оно?
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jul 6 2012, 02:09
Сообщение #3


Гуру
******

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



Цитата(Zlumd @ Jul 6 2012, 07:50) *
Пытаюсь сделать следующее:

Вместо const char* aa[]={a1,a2,a3}; /* указатель на константу */

сделайте const char* const aa[]={a1,a2,a3}; /* константный указатель на константу */


--------------------
Go to the top of the page
 
+Quote Post
Zlumd
сообщение Jul 6 2012, 02:18
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 12-04-05
Из: Новосибирск
Пользователь №: 4 057



Цитата(shreck @ Jul 6 2012, 09:04) *
Код
const char* const aa[] = ...
Оно?
Оно. Спасибо.
Цитата(prottoss @ Jul 6 2012, 09:09) *
сделайте const char* const aa[]={a1,a2,a3}; /* константный указатель на константу */
Действительно работает. Спасибо.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 7th August 2025 - 13:35
Рейтинг@Mail.ru


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