Перейти к содержанию
    

F2809. Программа улетает в тарары.

Добрый день!

 

Делаю некое устройство на 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;    
            
}

Причем, данная процедура стандартно используется мною уже давно и без нареканий, никогда проблем не возникало. Скелет программы давно отлажен и используется в нескольких разработках без нареканий. Куда смотреть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На самом деле оказалось, что программа может улетать с произвольного момента в режиме отладки. После прошивки флешки на половине выходов присутствует сигнал с частотой 126Гц. Сброс реализован соединением входа reset на землю через резистор 100Ом. При нажатии кнопки сброса на ноге reset присутствует напряжение 2В. В общем, мистика.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Начал было грешить на брак. Перепаяли на процессор на другой из заведомо рабочей партии - та же картина. Путем выпаивания микросхем удалось обнаружить, что проблему создавал нерабочий CAN-трансивер ISO1050, только пока непонятно как именно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашел причину всех бед - некачественно изготовленная печать: микроскопическое замыкание между Reset процессора и CanRx. Процессор и трансивер оказались непричем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...