Нравится? Делимся информацией!

четверг, 29 ноября 2012 г.

Debugging. TMS320F28335 виснет при отладке простого проекта

     Если Вам во время Ваших начальных экспериментов с процессорами Texas Instruments любого семейства захочется быстро стартануть и поэкспериментировать, то Вы не должны наступать на мои грабли! В чем суть?!


     Во время отладки простой программы было замечено, что поработав какое-то время (минута-две), процессор сваливался в непонятное состояние, отладка как будто прекращалась:  Graph Tool не обновлялся, когда держишь мышкой окно Graph tool;  не появлялась в строке состояния CCS буква G :

и когда останавливал процессор (halt) и затем нажимал F10 ( Step Over ) - желтая стрелка пропадала ( зеленая в Дизассемблерном окне также исчезала). 
     Возникла мысль о том, что это watchDog timer. Да, действительно! Происходил сброс в непонятное место (видимо, из-за того, что не делаю в программе вообще никаких настроек).
Решение: для ваших экспериментов нужно отключать полностью WatchDog timer!
    Вставлять следующий код до функции main() : 
#define WDCR        *((volatile int *)0x7029)    /* WD Control reg */
#define DISABLE_WD  0x0068

void Disable_WD(void)
{
    asm(" eallow");
    WDCR |= DISABLE_WD;
    asm(" edis");
}


     В самой функции main() добавить: 
    Disable_WD();

     Полностью пример можно посмотреть здесь

Комментариев нет:

Отправить комментарий