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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren