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

 
 
> IAR AVR - когда вредна оптимизация...
Alechin
сообщение Oct 15 2007, 13:55
Сообщение #1


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

Группа: Свой
Сообщений: 158
Регистрация: 27-06-05
Из: Химки, Моск.обл.
Пользователь №: 6 334



Убил несколько часов на выключение WDT в Mega88 в программе на Си.
Вот такой код
__watchdog_reset();
MCUSR &= ~(1 << WDRF);
WDTCSR |= (1 << WDCE) | (1 << WDE);
WDTCSR = 0x00;
IAR при оптимизации умудрился разбить на процедуры (cross call), в результате чего между последовательными записями в WDTCSR проходило более 4 тактов, и выключенный изначально WDT включался, не давая нормально загрузиться системе.
Побороть смог только вынеся данный код в процедуру с выключением оптимизации для нее (#pragme optimize=none).
Возник вопрос - ни какими ключевыми словами нельзя изменить уровень оптимизации для фрагмента кода С ВОЗВРАТОМ к текущему уровню оптимизации (через #pragma optimize можно только установить требуемый уровень оптимизации, но не вернуться к установленному в свойствах проекта, по крайней мере я не нашел другого)?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Alechin   IAR AVR - когда вредна оптимизация...   Oct 15 2007, 13:55
- - scifi   Мне кажется, тут двух мнений быть не может: если н...   Oct 15 2007, 17:54
- - PSP   И еще не забыть запретить прерывания. Иначе баг из...   Oct 15 2007, 19:56
- - IgorKossak   Цитата(Alechin @ Oct 15 2007, 16:55) Побо...   Oct 16 2007, 09:23
|- - Alechin   ЦитатаВ руководстве сказано: это означает, что дан...   Oct 16 2007, 15:22
- - xemul   Код#pragma optimize=none inline static void foo...   Oct 16 2007, 16:36
|- - Runner   Цитата(xemul @ Oct 16 2007, 18:36) Код#pr...   Apr 23 2009, 15:41
|- - IgorMarx   Цитата(Runner @ Apr 23 2009, 19:41) Вопро...   Apr 23 2009, 20:05
||- - Сергей Борщ   Цитата(IgorMarx @ Apr 23 2009, 23:05) буд...   Apr 24 2009, 06:53
||- - MrYuran   Цитата(Сергей Борщ @ Apr 24 2009, 10:53) ...   Apr 24 2009, 07:06
||- - Сергей Борщ   Цитата(MrYuran @ Apr 24 2009, 10:06) Это ...   Apr 24 2009, 10:00
||- - Dog Pawlowa   Цитата(Сергей Борщ @ Apr 24 2009, 13:00) ...   Apr 24 2009, 10:50
|- - sergeeff   Цитата(Runner @ Apr 23 2009, 18:41) Вопро...   Apr 23 2009, 21:37
|- - Dog Pawlowa   Цитата(Runner @ Apr 23 2009, 18:41) Вопро...   Apr 24 2009, 08:38
- - tourist   Цитата(Dog Pawlowa @ Apr 24 2009, 14:50) ...   Apr 24 2009, 12:08
- - Dog Pawlowa   Вот, наткнулся на свои макросы... Хм, запрета прер...   Apr 29 2009, 16:46
- - Dir   Цитата(tourist @ Apr 24 2009, 15:08) При ...   May 5 2009, 12:01
- - Сергей Борщ   Цитата(Dir @ May 5 2009, 15:01) Т.е. явно...   May 5 2009, 12:03
- - Dog Pawlowa   Я бы сформулировал по другому: Имеет ли право Атме...   May 5 2009, 12:13
- - Dir   Цитата(Сергей Борщ @ May 5 2009, 15:03) В...   May 5 2009, 12:21
- - Сергей Борщ   Цитата(Dir @ May 5 2009, 15:21) но, по па...   May 5 2009, 13:07
- - Dir   Цитата(Сергей Борщ @ May 5 2009, 16:07) О...   May 5 2009, 14:12
- - Сергей Борщ   Цитата(Dir @ May 5 2009, 17:12) Ведь посл...   May 5 2009, 16:12
- - Dir   Цитата(Сергей Борщ @ May 5 2009, 19:12) Н...   May 5 2009, 17:57


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

 


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


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