Тут дело не в конкретной ошибке(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено E'a 19 марта 2004 г. 11:54
В ответ на: Тут, скорее всего, в другом дело. Вы бы сгенерированный код показали. отправлено Bill 19 марта 2004 г. 11:27

Ситуация такова: жила программа под IAR 2.28 и горя не знала, но тут вышел IAR 3.10С, и решил я перекомпилировать программу. Перекомпилировал. Увидел, что размер кода уменьшился на 4,5%, а проценты эти были до зарезу нужны. Но тут пришли они...Глюки.И приходили Глюки только при включенной оптимизации code motion. Вичслил что плодятся эти Глюки в вышеуказанной фуннкции. Заменил ее следующей:
void pause(unsigned int ms)
{
while(ms--){

__delay_cycles(4000);
asm("wdr");

}while(ms--);
}
Все заработало(т.е. ошибка компилятора имела место быть).Однако, остались сомнения не напакостит ли эта самая оптимизация в другом месте. Поэтому я и спросил что она собой представляет?
PS Извиняюсь за многословность.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru