Компиляторы иногда преподносят совершенно неожиданные сюрпризы.
Пару месяцев назад, столкнулся с таким, что вообще на голову не наденешь.
Проц 867А, компилирую ХайТечем 9.50 (без апдейта).
Плата - макетка, на ней 7805, проц, ЖКИ, кнопки и прочее, питаю от лабораторного БП.
Все работает гуд, с отключенной оптимизацией.
Включаю полную оптимизацию, и начинаются кренделя:
- при включении питания БП - все глючит неимоверно!
- если при включенном БП просто втыкаю плюсовой штекер от платы в него - все работает зашибись!
- оключаю оптимизацию - все ОК.
Откатываюсь на предыдущую версию копилятра, 8.02PL3 - все ОК, и с оптимизацией тоже.
Говорят в апдейтах к 9.50 много глюков устранили, но у меня легальная только 8-ка, а 9ка - кракнутая, без апдейтов.
P.S. Скопом +5в и MCLR смотрел, никаких "кренделей" не заметил.
С ПИКами работаю почти полтора десятка лет, но ТАКОГО - не видел. Как может включение оптимизации, и вообще сфт так влиять на старт процессора - уму не постижимо. Что-то они там в стартапе лихо написали...
Да, когда вместо проца втыкаю в панельку головку эмулятора (Айс-2000) - никаких глюков нет, т.е. проявляется это только в реальном проце.