Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: оптимизация в WinAVR
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Oleg Victorovich
Программирую в WinAVR. Пока выбрана оптимизация -O0 все работает и отлаживается нормально, как только выбираю оптимизацию -01...Os все перестает нормально работать. Читал, что необходимо объявлять глобальные переменные через Volatile, но не помогает, все равно глючит. Вообще возможна работа в WinAVR при оптимизации -01...Os, и если да, то, что почитать?

Savrik
Что именно перестает работать? Отладчик есть, или дебаг в ком-порт? Покажите код...
Oleg Victorovich
Во-первых перестает нормально отлаживаться программа, часть кода просто проскакивает. Во-вторых если при оптимизации -O0 - на ЖКИ выводит то, что нужно, то при оптимизации -O1 уже выводит всякую ерунду. Код смогу привести только завтра(на работе).
Сергей Борщ
QUOTE (Oleg Victorovich @ Nov 28 2010, 22:13) *
Читал, что необходимо объявлять глобальные переменные через Volatile
Глупость, или вы неправильно поняли. Объявлять через volatile надо только те переменные, которые совместно используются в разных потоках управления (например и в прерывании и в основном коде).
QUOTE (Oleg Victorovich @ Nov 28 2010, 22:13) *
Вообще возможна работа в WinAVR при оптимизации -01...Os, и если да, то, что почитать?
Работа возможна, почитать как минимум:
1)Керниган и Ритчи "Язык программирования C", второе или третье издание.
2)avr-libc-faq в папке doc вашего компилятора.
3)документацию на avr-libc в той же папке.
Oleg Victorovich
спасибо
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.