Помогите решить заморочку с XLINK IAR для AVR
(«Телесистемы»: «Конференция «Микроконтроллеры и их применение»»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Лёнич 13 апреля 2003 г. 11:48

Привет, корифеи железного программирования!
Помогите пожалуйста чайнику разобраться с линковщиком IAR для AVR.
Ситуация следующая: переписываю на IAR 2.7. прогу для 4433. Программа была написана на Code Vision AVR
и отлично работала. Теперь прогу надо дополнить а т.к. CVAVR имеет ограничение по размеру кода пришлось
сменить инструмент. Код переношу функциями или небольшими кусками и после того как вставляю функцию опроса
кнопок на основе конструкции switch линкер вываливает такую ошибку:
Linking...
Error[e133]: The output format intel-extended cannot handle multiple address spaces. Use format variants (-y -O) to specify which address space is wanted
Раскопал в хелпе эти самые Use...которые он предлагает...нихрена не понял какая тут связь... испоганил пару-тройку
xlc файлов...
Причем Debug версия линкуется нормально.
Посмотрел в отладчике на ассемблерный код а там по каждому case: переход короткий(по команде BREQ).Переписал
функцию - вместо switch воткнул if-else if,теперь вместо BREQ он поставил RCALL.Ошибка та-же..
Если в опциях проекта выставить конфигурацию не конкретного контроллера(4433 в моём случае) а просто минимум
возможного т.е -v0, Max 256 byte data, 8 Kbyte code. то ошибка становится такой:
Linking...
Error[e72]: Segment EEPROM_I must be defined in a segment definition option (-Z, -b or -P)
В EEPROM лежат 5 массивов общим весом 145 байт....
Буду безмерно благодарен за помощь.

Составить ответ ||| Конференция ||| Архив

Ответы



Перейти к списку ответов ||| Конференция ||| Архив ||| Главная страница ||| Содержание

E-mail: info@telesys.ru