logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[AVR/XMEGA] Jak debugować aplikację USB na Xmega A3U z Dragonem bez zatrzymywania komunikacji?

MrKiel 16 Maj 2014 12:26 1158 0
REKLAMA
  • #1 13606032
    MrKiel
    Poziom 9  
    Od kilku dni "walczę" z dość ciekawym zagadnieniem. Mianowicie, próbuję debugować aplikację używającą interfejsu USB do komunikacji z użytkownikiem. Mikrokontroler to Xmega serii A3U, debugerem jest Dragon a łączę się za pomocą JTAG.
    Problem polega na tym, że kiedy ustawiam pułapkę (breakpoint) i podczas pracy programu trafiam w nią cała komunikacja USB "zamiera". Oczywiście ma to sens, ponieważ praca kontrolera i jego peryferiów jest wstrzymana, więc nie reaguje na pakiety wysyłane przez PC. W instrukcji znalazłem następujący fragment :
    Cytat:
    20.12 On-chip Debug
    When a break point is reached during on-chip debug (OCD) sessions, the CPU clock can be below 12MHz. If this
    happens, the USB module will behave as follows:
    USB OCD break mode disabled: The USB module immediately acknowledges any OCD break request. The USB module
    will not be able to follow up on transactions received from the USB host, and its behaviour from the host point of view is
    not predictable.
    USB OCD break mode enabled: The USB module will immediately acknowledge any OCD break request only if there are
    no ongoing USB transactions. If there is an ongoing USB transaction, the USB module will acknowledge any OCD break
    request only when the ongoing USB transaction has been completed. The USB module will NACK any further
    transactions received from the USB host, whether they are SETUP, IN (ISO, BULK), or OUT (ISO, BULK).

    Czy ktoś z was może wie, jak ten tryb uruchomić ? Być może ma ktoś doświadczenie z debugowaniem tego typu aplikacji i zna jakieś sprytne sztuczki ?
  • REKLAMA
REKLAMA