Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Может ли меняться логика откомпилированной программы при использовании разных режимов оптимизации?

Непрочитано 23.06.2010, 00:43  
291066
Прописка
 
Регистрация: 05.03.2010
Сообщений: 144
Сказал спасибо: 47
Сказали Спасибо 195 раз(а) в 19 сообщении(ях)
291066 на пути к лучшему
По умолчанию Может ли меняться логика откомпилированной программы при использовании разных режимов оптимизации?

Всем доброго дня.
Столкнулся со следующей непоняткой - при изменении режимов оптимизации компилятора нарушается работоспособность программы. Если компилится без оптимизации - все работает нормально. Но только стоит включить оптимизацию - гаплык, часть функций отрабатывает неверно. Ничего кроме режима оптимизации не меняется.
Использую AVR Studio 4.18 bild 692.
Может кто подскажет где собаке порыться?

Я.
Реклама:
291066 вне форума  
Непрочитано 23.06.2010, 01:05  
OlegNZH
Почётный гражданин KAZUS.RUN
 
Регистрация: 28.02.2010
Сообщений: 2,294
Сказал спасибо: 52
Сказали Спасибо 460 раз(а) в 391 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Может ли меняться логика откомпилированной программы при использовании разных режимов оптимизации?

На другой ветке недавно ссылка проходила - Вам может подойти http://chipenable.ru/index.php/progr...e-keyword.html

Последний раз редактировалось OlegNZH; 23.06.2010 в 01:07.
OlegNZH вне форума  
Сказали "Спасибо" OlegNZH
291066 (23.06.2010)
Непрочитано 23.06.2010, 01:06  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,102
Сказал спасибо: 113
Сказали Спасибо 860 раз(а) в 610 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Может ли меняться логика откомпилированной программы при использовании разных режимов оптимизации?

Читаем про volatile.
volatile_for_chainiks.pdf
И здесь
st_1 вне форума  
Эти 3 пользователя(ей) сказали Спасибо st_1 за это сообщение:
291066 (23.06.2010), MiklScherbak (25.06.2010), nml (23.06.2010)
Непрочитано 23.06.2010, 01:42  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,357 раз(а) в 591 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Может ли меняться логика откомпилированной программы при использовании разных режимов оптимизации?

В таком случае стОит поизучать листинги.

Ну или хотя бы - показать программу и указать, что собственно меняется при различных оптимизациях.

Вообще, корректно написанная программа логику свою изменить, IMHO, не может.
А глюки... Они разные бывают
__________________
[ жизнь приятна и красива, если выпить литр пива ]
nml вне форума  
Непрочитано 23.06.2010, 02:05  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,102
Сказал спасибо: 113
Сказали Спасибо 860 раз(а) в 610 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Может ли меняться логика откомпилированной программы при использовании разных режимов оптимизации?

Сообщение от nml Посмотреть сообщение
что собственно меняется при различных оптимизациях.
ИМХО нет особого смысла.
Как правило всё разваливается на первом уровне оптимизации.
А вот листинги посмотреть стоит.

Последний раз редактировалось st_1; 23.06.2010 в 02:07.
st_1 вне форума  
Непрочитано 23.06.2010, 12:21  
291066
Прописка
 
Регистрация: 05.03.2010
Сообщений: 144
Сказал спасибо: 47
Сказали Спасибо 195 раз(а) в 19 сообщении(ях)
291066 на пути к лучшему
По умолчанию Re: Может ли меняться логика откомпилированной программы при использовании разных режимов оптимизации?

Благодарю всех за советы. Теперь понятно в каком направлении копать. Расстановка volatile на тех переменных которые могут меняться в прерываниях не привела к работоспособности программы. Сегодня займусь анализом листинга. Пограмма вроде простая, но впервые за много лет вернулся к программированию, да еще и на совершенно незнакомом процессоре.
По результатам копания обязательно отпишусь.

И еще один вопрос - можно ли получить на тине2313 четыре аппаратных выхода ШИМ с таймера? У меня нет ШИМа на 0C0B (все остальные работают нормально). я подозреваю что накосячил в инициализации, но пока не могу найти где.

Я.
291066 вне форума  
Непрочитано 23.06.2010, 13:00  
kittec
Гражданин KAZUS.RUN
 
Регистрация: 14.11.2008
Сообщений: 701
Сказал спасибо: 298
Сказали Спасибо 283 раз(а) в 193 сообщении(ях)
kittec на пути к лучшему
По умолчанию Re: Может ли меняться логика откомпилированной программы при использовании разных режимов оптимизации?

На ATtiny2313 получить четыре аппаратных ШИМа легко, но только от двух таймеров.
kittec вне форума  
Непрочитано 23.06.2010, 14:52  
291066
Прописка
 
Регистрация: 05.03.2010
Сообщений: 144
Сказал спасибо: 47
Сказали Спасибо 195 раз(а) в 19 сообщении(ях)
291066 на пути к лучшему
По умолчанию Re: Может ли меняться логика откомпилированной программы при использовании разных режимов оптимизации?

Я тоже так понимаю. Три выхода работают нормально а четвертый молчит. Значит где то ишибся в инициализации. один ШИМ с этого таймера работает нормально. Буду копать.

Последний раз редактировалось 291066; 23.06.2010 в 16:59.
291066 вне форума  
Непрочитано 23.06.2010, 15:00  
MisterDi
Почётный гражданин KAZUS.RUN
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,284
Сказал спасибо: 441
Сказали Спасибо 1,040 раз(а) в 701 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию Re: Может ли меняться логика откомпилированной программы при использовании разных режимов оптимизации?

Сталкивался с тем, что компилятор выбрасывал "лишние" по его мнению команды, что приводило к изменению временнЫх параметров импульсов. Присоединяюсь к мнению nml о необходимости изучения листинга.
__________________
misterdi<@>i.ua
MisterDi вне форума  
Непрочитано 24.06.2010, 09:27  
wowlw
Частый гость
 
Регистрация: 26.08.2008
Сообщений: 23
Сказал спасибо: 10
Сказали Спасибо 8 раз(а) в 5 сообщении(ях)
wowlw на пути к лучшему
По умолчанию Re: Может ли меняться логика откомпилированной программы при использовании разных режимов оптимизации?

Оптимизацию по скорости лучше не применять, а критичные ко времени процедуры
писать на ассемблере. Особенно прерывания.
wowlw вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 21:12.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.