Forum: Mikrocontroller und Digitale Elektronik Keil MDK4 - ULinkpro - SWD Trace


von ULpro (Gast)


Lesenswert?

Guten Tag,

bisher verwende ich in meiner Keil MDK4 einen ULink pro um einen 
Cortex-M3 zu debuggen und tracen. Im Debuggermenü ist die Einstellung 
Sync Trace Port with 4-bit Data eingestellt.

Wisst ihr, ob es bei einem Cortex M4 - STM32F4 möglich ist, mit dem 
ULink pro und den drei Port Pins für SWD and Asynchronous Trace den 
gleichen Trace Funktionsumfang zu erhalten, wie mit Sync Trace Port with 
4-bit Data auf dem M3 ? Der Systemtakt beträgt 168 MHz.

Ich hätte auch noch einen J-Link zur Wahl, falls sich dieser besser 
eignet.

Ich würde im Keil gerne den Performance Analyser und Code Coverage 
verwenden.

von dasoffensichtliche (Gast)


Lesenswert?

der STM32F401C hat nur SWDIO/SWO
der STM32F446Z hat SWDIO/SWO mit 4-bit Trace

für alle STM32F4xx dazwischen einfach mal ins Datasheet-Pinout oder 
ST-Cube schauen

Fröhliches RTFM

von ULpro (Gast)


Lesenswert?

Es handelt sich um den STM32F439 laut Cube ist die Möglichkeit für SWD 
and Asynchronous Trace gegeben. Hierfür werden 3 Port Pins verwendet.

Kann ich dann bei einem 168 MHz Systemtakt mit der SWD and Asynchronous 
Trace Einstellung auch den vollen Funktionsumfang von Code Coverage und 
dem Performance Analyser verenden, wie bei meinem derzeitigen Cortex M3 
mit Sync Trace Port with 4-bit Data ?

Über den Performance Analyser kann ich im Moment genau sehen, welche 
Funktion wie oft aufgerufen wird und über Trace Data auch messen, wie 
lange die einzelnen Aufrufe gedauert haben.  Auf diese Funktionalität 
würde ich beim SWD Asynchonous Trance nur sehr ungerne verzichten.

von dasoffensichtliche (Gast)


Angehängte Dateien:

Lesenswert?

>Sync Trace Port with 4-bit Data -> Hierfür werden 3 Port Pins verwendet.

Da ist STmicro anderer Meinung. Bitte Handbuch lesen oder Schaltplan vom 
benutzten Board. Nur weil der uC es kann mus es das Board nicht 
automatisch hergeben.

von Martin K. (martinko)


Lesenswert?

Hi,

MIt dem 1 Bit async. Trace kannst Du keine Coverage und auch keine 
Performance Analyse betreiben. Überlege einmal welche Datenrate Du 
brächtest um jede einzelne Instruction mit zeitstempel in Echtzeit 
übertragen zu können. Das reicht dann noch für Debug Ausgaben oder einen 
Interrupt Event Zähler.
Selbst im 4 Bit Modus schaffe ich die Analysen hier nur mit einem 
verringerten Systemtakt von um die 72 MHz, dann macht meine USB 
Anbindung an den Debug Adapter bereits schlapp.

Gruß Martin

von ULpro (Gast)


Lesenswert?

Auf einem Cortex-M3 LPC1778 schaffe ich bei einem Systemtakt von 120 MHz 
mit einem ULink Pro problemlos alle Analysen. Ich muss hier nichts 
verringern.
Der Modus ist Sync Trace Port with 4-bit Data.

Das würde ich gerne auch beim STM32F439 schaffen. Der Systemtakt hier 
liegt aber bei 168 MHz und ich kann leider nur noch die SWD and 
Asynchronous Trace Methode auswählen. Für 4-bit Data habe ich keine 
freien Pins mehr.

Laut StCube wird SWD and Asynchronous Trace bei dem Controller 
unterstützt.
Drei Pins werden hierfür benötigt.

von ULpro (Gast)


Lesenswert?

Kennt ihr Debuggmöglichkeiten, die 168 MHz über SWD and Asynchronous 
Trace ermöglichen ?

von Matthias (Gast)


Lesenswert?

ULpro schrieb:
> Kennt ihr Debuggmöglichkeiten, die 168 MHz über SWD and
> Asynchronous
> Trace ermöglichen ?

Gibt es nicht. Instruction Trace gibt es nur über das 4-bit Interface.

von Matthias (Gast)


Lesenswert?

Matthias schrieb:
> ULpro schrieb:
>> Kennt ihr Debuggmöglichkeiten, die 168 MHz über SWD and
>> Asynchronous
>> Trace ermöglichen ?
>
> Gibt es nicht. Instruction Trace gibt es nur über das 4-bit Interface.

Achso, 168Mhz mit 4-bit ETM habe ich auf einem STM32F407 schon am laufen 
gehabt. Ist aber sehr sehr anfällig für unsaubere Signalführung auf der 
PCB.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.