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

 
 
> Размещение переменной по адресу и задание начальных значений в IAR, IAR v 5.30.2
Sanya_kv
сообщение Jun 23 2009, 07:33
Сообщение #1


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

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Разбираясь с данной темой, перелопатил весь форум, первую часть вопроса решил. Со второй возникают проблемы.
Есть несколько способов объявить сегмент по адресу и разместить в нем переменные, но как задать им начальные значения?
Есть способ:
#pragma location=0x1004
__no_init const int beta;

или
__no_init volatile char alpha @ 0x1000;
, но с __no_init все понятно.
Пробую дальше:
Определяю секцию во flash.icf (можно добавить в конце файла):
/* определяем секцию конфигурации размер 4096*/
define block CONF_DATA with size = 0x1000, alignment = 512 {};
place in ROM_region { block CONF_DATA };


далее в *.с объявляем:
#pragma section = "CONF_DATA"
const char fff[4096]@"CONF_DATA" = {"Начальные значения smile.gif"};

int main(void)
{
const char *Config = __section_begin("CONF_DATA");//Указатель на секцию конфигурации
const char *fff_Config = fff;

...
return 0;
}

Компилятор все проглатывает, только при отладке адрес fff_Config совсем не лежит в области Config.
Перепробовал множество методов, но в виду не идеальности документации, или плохой прокладки правильного решения найти не могу.
Если у кого есть готовое решение данной проблемы в IAR 5.xx, буду благодарен если прольёт свет на данную проблему.

Сообщение отредактировал Sanya_kv - Jun 23 2009, 07:37
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 14:43
Рейтинг@Mail.ru


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