transmash 0 16 марта, 2006 Опубликовано 16 марта, 2006 · Жалоба Попытаюсь описать проблему(мы): - при компиляции проекта в MPLab, получаемый *.cof или *.hex загружаю в протеус все идеально работает, а при прошивке в железо - устройствоработает но не полностью правильно, т.е. в некоторых глобальных переменных оказваются не те значения (при инициализации переменные обнуляются). Что это - бок компилятора (mcc18), бок железа или кривые руки? - при попытке скомпилить проект под IAR (переделал инициализацию таймеров(потому что в IAR нет такого ресурса как в MPLab для работы с таймерами), пока не написал конфигурацию (потому что незнаю как)) в протеусе не пашет. При отладке в протеусе видно что программа стартует не с main(), а из середины одной из процедур и перескакивает в середену другой процедуры и на этом циклится. - как писать конфигурацию в IAR т.е. где правильно писать __set_configuration_bits (в MPLab писалась директива #pragma romdata CONFIG, а как быть в IARе) Выручайте бо хана :maniac: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
transmash 0 17 марта, 2006 Опубликовано 17 марта, 2006 · Жалоба B) Ну в общем то проблема решилась после перехода на IAR-овский компилятор. Конфиг в IAR написал так: #define ... __intrinsic void cofig() { __set_configuration_bits (CONFIG1H, HS_OSC_1); .... __set_configuration_bits (CONFIG7H, 0); } main() { .... } Почему в MPLab получалась фигня, вроде ж производитель компилятора и проца один и тот же? :smile3046: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться