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

 
 
> Непонятный глюк
wmakc
сообщение Jun 17 2011, 13:22
Сообщение #1


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

Группа: Участник
Сообщений: 111
Регистрация: 2-03-10
Пользователь №: 55 768



Контроллер at91sam9g20, компилятор keil 4.03, загрузчик атмеловский.

Компилирую, зашиваю, все работает.
Меняю значение одной переменной, опять компилирую, зашиваю. Перестает отвечать Usart.
При этом меняется размер бинарного файла, хотя переменная char и за диапазон не выходит.

С чем это может быть связано, с компилятором, с памятью, с загрузчиком?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
wmakc
сообщение Jun 22 2011, 18:56
Сообщение #2


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

Группа: Участник
Сообщений: 111
Регистрация: 2-03-10
Пользователь №: 55 768



на работоспособность usart вроде как влияли кеши, после того как отключил их в загрузчике, все стало работать. Также заметил, что некоторые переменные могут обнуляться, если в настройках компилятора поставить оптимизацию по времени.(Хотя и не понимаю как такое может быть, в программе нигде нет обнуления этих переменных). Если перед их использованием передать их по usart, то все выполняется правильно. Главное что я понял, так это то, что лучше не использовать никакую оптимизацию вообще.
Go to the top of the page
 
+Quote Post
scifi
сообщение Jun 25 2011, 13:52
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(wmakc @ Jun 22 2011, 22:56) *
Главное что я понял, так это то, что лучше не использовать никакую оптимизацию вообще.

Действительно парадоксальный вывод.
Вы просто не умеете их готовить.
Снижать уровень оптимизации в надежде скрыть ошибки в коде - это недальновидная стратегия. Эти же ошибки могут вылезти и по другим причинам. Вообще-то разработчики наоборот стараются сделать так, чтобы на этапе разработки вскрылось как можно больше багов. Для этого включают всякие предупреждения компилятора и даже - о ужас! - устраивают разнообразные стресс-тесты, чтобы отловить изъяны в системе.
Вы же подобно страусу прячете голову в песок в надежде, что баги пройдут стороной. Не пройдут.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 06:48
Рейтинг@Mail.ru


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