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

 
 
 
Reply to this topicStart new topic
> Настройка стека данных CSTACK, Проблема с линкером
Д_М
сообщение Feb 13 2018, 08:30
Сообщение #1


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

Группа: Участник
Сообщений: 121
Регистрация: 15-04-05
Из: Краснодар
Пользователь №: 4 185



Приветствую!
Конечная цель - разместить код в загрузчике. Имеется загрузчик AVR230 http://microsin.net/programming/AVR/avr230...bootloader.html
Проект имеет уйму настроек. Если что-то неудачно зацепить, концов не найти. Проект был изначально для IAR 2.28. Вроде бы получилось его адаптировать на IAR 6.40. Загрузчик работает, программы тоже. Проблема началась, когда к проекту загрузчика прицепил ранее отлаженный код. Линкер выдаёт следующее:

Error[e16]: Segment CSTACK (size: 0xfc0 align: 0) is too long for segment definition. At least 0x2 more bytes needed. The problem occurred while processing the segment placement
command "-Z(DATA)CSTACK+(RAM_SIZE-40)=RAM_BASE-(RAM_BASE+RAM_SIZE-1)", where at the moment of placement the available memory ranges were "DATA:142-10ff"
Reserved ranges relevant to this placement:
DATA:100-101 NEAR_Z
DATA:102-141 RSTACK
DATA:142-10ff CSTACK
Error while running Linker

В проекте есть файл .xcl, содержащий следующую строку:
-Z(DATA)CSTACK+(RAM_SIZE-40-APP_SRAM_USAGE)=RAM_BASE-(RAM_BASE+RAM_SIZE-1)
Несколько мудрёное уравнение. И самое главное, в нём есть неизвестное APP_SRAM_USAGE.

Было замечено, что ошибка линкера появляется, когда в обработчике прерывания встречается обращение к структуре через указатель. Когда в теле обычной функции, то всё нормально. И чего линкер прицепился к обработчику прерывания?!

#pragma vector=TIMER0_OVF_vect
__interrupt void T0_mng (void)
{
char from_T0;

from_T0 = TCNT0;
while(from_T0 == TCNT0);
TCNT0 += (255-T0_preload);
//Syst->swe_Time = Syst->qty_SWI_executors++; /* Вызывает ошибку Линкера */
}


В свойствах проекта нет возможности изменить размеры стеков. Получается, что всё определяется файлом .xcl

Кто-то знает, как настроить стек данных?
Заранее благодарен!




Прикрепленные файлы
Прикрепленный файл  bootldr.rar ( 654 байт ) Кол-во скачиваний: 8
 
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 14th August 2018 - 08:07
Рейтинг@Mail.ru


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