kamil_yaminov 1 10 ноября, 2010 Опубликовано 10 ноября, 2010 · Жалоба Добрый день! Делаю некое устройство на 2809. Пока печатная плата не была изготовлена и запаяна, отлаживался на "отладочном модуле" с этим же процессором. На "отладочном модуле" все работает как положено и задумано. Проблема возникла, когда начал работать с устройством. Заливаю программу в ОЗУ, запускаю, и ноль реакции. Выяснил, что сбой происходит в процедуре void InitPieVectTable(void) { int16 i; Uint32 *Source = (void *) &PieVectTableInit; Uint32 *Dest = (void *) &PieVectTable; EALLOW; for(i=0; i < 128; i++) *Dest++ = *Source++; //после вот этого копирования программа "улетает" EDIS; // Enable the PIE Vector Table PieCtrlRegs.PIECTRL.bit.ENPIE = 1; } Причем, данная процедура стандартно используется мною уже давно и без нареканий, никогда проблем не возникало. Скелет программы давно отлажен и используется в нескольких разработках без нареканий. Куда смотреть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kamil_yaminov 1 11 ноября, 2010 Опубликовано 11 ноября, 2010 · Жалоба На самом деле оказалось, что программа может улетать с произвольного момента в режиме отладки. После прошивки флешки на половине выходов присутствует сигнал с частотой 126Гц. Сброс реализован соединением входа reset на землю через резистор 100Ом. При нажатии кнопки сброса на ноге reset присутствует напряжение 2В. В общем, мистика. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kamil_yaminov 1 12 ноября, 2010 Опубликовано 12 ноября, 2010 · Жалоба Начал было грешить на брак. Перепаяли на процессор на другой из заведомо рабочей партии - та же картина. Путем выпаивания микросхем удалось обнаружить, что проблему создавал нерабочий CAN-трансивер ISO1050, только пока непонятно как именно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kamil_yaminov 1 15 ноября, 2010 Опубликовано 15 ноября, 2010 · Жалоба Нашел причину всех бед - некачественно изготовленная печать: микроскопическое замыкание между Reset процессора и CanRx. Процессор и трансивер оказались непричем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться