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

 
 
 
Reply to this topicStart new topic
> оптимизация в WinAVR
Oleg Victorovich
сообщение Nov 28 2010, 20:13
Сообщение #1


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

Группа: Участник
Сообщений: 114
Регистрация: 9-10-08
Из: Ставрополь
Пользователь №: 40 790



Программирую в WinAVR. Пока выбрана оптимизация -O0 все работает и отлаживается нормально, как только выбираю оптимизацию -01...Os все перестает нормально работать. Читал, что необходимо объявлять глобальные переменные через Volatile, но не помогает, все равно глючит. Вообще возможна работа в WinAVR при оптимизации -01...Os, и если да, то, что почитать?

Go to the top of the page
 
+Quote Post
Savrik
сообщение Nov 28 2010, 20:15
Сообщение #2


наблюдаю..
***

Группа: Свой
Сообщений: 291
Регистрация: 11-12-06
Из: Украина
Пользователь №: 23 369



Что именно перестает работать? Отладчик есть, или дебаг в ком-порт? Покажите код...
Go to the top of the page
 
+Quote Post
Oleg Victorovich
сообщение Nov 28 2010, 20:25
Сообщение #3


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

Группа: Участник
Сообщений: 114
Регистрация: 9-10-08
Из: Ставрополь
Пользователь №: 40 790



Во-первых перестает нормально отлаживаться программа, часть кода просто проскакивает. Во-вторых если при оптимизации -O0 - на ЖКИ выводит то, что нужно, то при оптимизации -O1 уже выводит всякую ерунду. Код смогу привести только завтра(на работе).
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 28 2010, 22:25
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



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 в той же папке.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Oleg Victorovich
сообщение Nov 29 2010, 05:12
Сообщение #5


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

Группа: Участник
Сообщений: 114
Регистрация: 9-10-08
Из: Ставрополь
Пользователь №: 40 790



спасибо
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 21:51
Рейтинг@Mail.ru


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