|
XMEGA и IAR5.11B, оптимизатор |
|
|
|
Aug 11 2009, 10:11
|
Частый гость
 
Группа: Участник
Сообщений: 108
Регистрация: 14-07-09
Из: Украина, Киев
Пользователь №: 51 248

|
Добрый день, всем! Есть один вопрос. Сейчас занимаюсь оптимизацией кода под ATXMEGA128A1, и вот на что я наткнулся. Внешняя память у меня не подключена, все находится внутри. Следовательно регистры RAMPD,RAMPX,RAMPZ,RAMPY у меня всегда равны нулю. Но компилер упорно их все время обнуляет и в фоне, и в прерываниях. При этом для сохранения в прерываниях он использует обычные регистры, которые он перед этим сохраняет, а потом восстанавливает. Т.к. прерываний у меня дофига, хотелось как-то убрать лишние действия. Вопрос, кто-нить делал это? В стартапе я их обнулю, и дальше компилятор забывает об их существовании. У компилятора есть предопределенные символы __HAS_RAMPX__, ..., но отенить их #undef нельзя, к сожалению. Или на винавр переходить, как там дела с этим обстоят?
|
|
|
|
|
 |
Ответов
|
Aug 11 2009, 10:15
|
Знающий
   
Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484

|
Цитата(koljakh @ Aug 11 2009, 14:11)  сожалению. Или на винавр переходить, как там дела с этим обстоят? Точно также. Анатолий.
|
|
|
|
|
Aug 11 2009, 10:28
|
Частый гость
 
Группа: Участник
Сообщений: 108
Регистрация: 14-07-09
Из: Украина, Киев
Пользователь №: 51 248

|
Цитата(aesok @ Aug 11 2009, 12:15)  Точно также.
Анатолий. Спасибо, остается ИАР и АСМ, а жаль  Цитата(Rst7 @ Aug 11 2009, 12:22)  Более того, вывод в эти регистры он не оптимизирует совершенно. Ждем новых версий. Да уж, смотрю на дизассемблер и плачу  Ща качну ДШ на более мелкие чипы, мож у них этих регистров вообще нет, там где нет возможности подключать внешнюю память. Если да, то может это решит проблему. Или у них у всех одинаковое ядро?
|
|
|
|
|
Aug 11 2009, 10:37
|
Частый гость
 
Группа: Участник
Сообщений: 108
Регистрация: 14-07-09
Из: Украина, Киев
Пользователь №: 51 248

|
Ядро одинаковое Цитата(Xenia @ Aug 11 2009, 12:34)  Дык вышли давно такие версии: 5.20 и 5.30. Только последняя из них за прошлый месяц претерпела 4 патча. Последняя полная версия 5.30 со всеми своими 4-мя патчами лежит на FTP (upload/MCs/AVR/IAR-EWAVR-530-full/). Вот только исправлен ли там этот баг, я не знаю, т.к. с XMEGA дела не имела. Спасибо, только у меня доступа к фтп нет
|
|
|
|
Сообщений в этой теме
koljakh XMEGA и IAR5.11B Aug 11 2009, 10:11   Xenia Цитата(koljakh @ Aug 11 2009, 13:37) Ядро... Aug 11 2009, 10:48    koljakh Цитата(Xenia @ Aug 11 2009, 12:48) Трудно... Aug 11 2009, 11:08 Rst7 ЦитатаНо компилер упорно их все время обнуляет и в... Aug 11 2009, 10:22 Xenia Цитата(Rst7 @ Aug 11 2009, 13:22) Ждем но... Aug 11 2009, 10:34 Rst7 ЦитатаВот только исправлен ли там этот баг, я не з... Aug 11 2009, 10:55 Xenia Цитата(Rst7 @ Aug 11 2009, 13:55) Я, кста... Aug 11 2009, 11:02 koljakh Цитата(Rst7 @ Aug 11 2009, 12:55) Это не ... Aug 11 2009, 11:25  aesok Цитата(koljakh @ Aug 11 2009, 15:18) Спас... Aug 11 2009, 11:27 Rst7 ЦитатаА какая версия еще новее, чем EWAVR-5.30 ?
... Aug 11 2009, 11:05 Rst7 ЦитатаОгромное спасибо, буду качать
Можете не тор... Aug 11 2009, 11:11 Rst7 ЦитатаВыкинте в корзину этот совет, вы получите не... Aug 11 2009, 11:29 aesok Цитата(Rst7 @ Aug 11 2009, 15:29) Да ну? ... Aug 11 2009, 11:31 Rst7 ЦитатаЩа попробую, получается что все-таки тип про... Aug 11 2009, 11:31 koljakh Цитата(Rst7 @ Aug 11 2009, 13:31) Не тип ... Aug 11 2009, 11:46 Rst7 ЦитатаС RAMPZ сложнее, он используеться для адреса... Aug 11 2009, 11:56 koljakh Цитата(Rst7 @ Aug 11 2009, 13:56) Либо хр... Aug 11 2009, 12:08
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|