Cycle counter in VSCode

OP #7986774
Lesenswert?
• ▲
▼

Hallo,

ich steige dieser Tage in das NRF Connect SDK von Nordic ein. Das nutzt Zephyr mit DeviceTree. Steile Lernkurve ist schon mal milde ausgedrückt. Wenn man da nicht täglich mit arbeitet, wird man das Meiste wohl wieder vergessen. Zephyr wimmelt ja wieder von vielfachen defines, so daß ich letztendlich gar nicht mehr weiß, was da im Hintergrund gemacht wird. Hat bei großen und Komplexen Programmen sicherlich auch seinen Vorteil.

Jedenfalls will ich jetzt mal nachschauen, wie viele Takte z.B. eine Funktion benötigt. Bei den allermeisten IDE ist immer irgendwo ein Cyclecounter, der beim Steppen abgelesen werden kann. Sowas habe ich bei VSCode bzw. dem ganzen Nordic-Bundle nicht gefunden. Irgendwelche Funktionen zur Laufzeit kommen wegen Aufwand gar nicht in Frage. Sonst hatte ich mir im ungünstigsten Fall mit DWT->CYCCNT geholfen, nur leider hat mein derzeitiger nrf52810 das nicht implementiert. Kennt jemand eine andere Lösung? VSCode ist ja auch (fast) unendlich konfigurierbar.

OP #7986835
Lesenswert?
• ▲
▼

Genau. Mit einem frei laufenden Timer geht das auch, aber dann muß man schon wieder selber rechnen (bzw. sich einmal eine Meßfunktion schreiben, was ja auch doof ist).

nrf52810, ein Cortex M4 ohne DWT. Sachen gibt's.

Ich habe mir jetzt so beholfen: Da ich ein nRF52DK mit einem nrf52832 habe (emuliert dann einen nrf52810), mache ich einfach eine weitere build configuration für den nrf52832 und nutze da die vorhandene DWT-Einheit für diese Messungen. Es gibt natürlich noch andere Unterschiede (keine FPU bei einem M4...), aber ich nutze ja den selben code.

: Bearbeitet durch User
Persönliche Seite #7986854
Lesenswert?
• ▲
▼

Schwierig schrieb:

Genau. Mit einem frei laufenden Timer geht das auch, aber dann muß man schon wieder selber rechnen

Und der misst halt Echtzeit und zählt auch die Zeit mit, die die CPU im Idle ist...

Schwierig schrieb:

ich einfach eine weitere build configuration für den nrf52832 und nutze da die vorhandene DWT-Einheit für diese Messungen

Klingt nach der besten Lösung...

(Firma: Technischer Bereich) #7990814
Lesenswert?
• ▲
▼

Am Ende ist das vermutlich einer dieser Fälle, wo man mit den Eigenheiten des Controllers leben muss. Die Idee mit dem nrf52832 wirkt zumindest praktikabel und spart Zeit gegenüber einer eigenen Messinfrastruktur. Für gelegentliche Analysen klingt das nach einem vernünftigen Kompromiss.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.