SysTick Counter

Gast #5707824
Lesenswert?
• ▲
▼
Hallo,

ich habe eine Frage bezüglich des SysTickCounters.
Dieser soll der einzigste prozessorunabhängige Zeitstempel im 
Cortex-Kern sein.

Das Wort prozessorunabhängig bringt mich hier etwas durcheinander.

Was ist damit genau gemeint ?
Ich meine, wenn ich im Code den Counter-Wert auslese, bin ich doch im 
Prinzip schon wieder prozessorabhängig ?

Mike
#5707890
Lesenswert?
• ▲
▼
Mike schrieb:
> Das Wort prozessorunabhängig bringt mich hier etwas durcheinander.

mich auch, wo hast du das denn gefunden?

Sebastian R. schrieb:
> Egal, was die CPU macht und wie ausgelastet sie ist, der SysTick läuft
> unabhängig davon konstant weiter, weil komplett in Hardware gegossen.

Nicht ganz, der systick wird mit dem CPU-Takt getaktet. Wenn du den 
umschaltest, musst du auch den systick-Teiler anpassen. Alles genau so, 
wie bei jedem anderen Timer.

Mike schrieb:
> Ich meine, wenn ich im Code den Counter-Wert auslese, bin ich doch im
> Prinzip schon wieder prozessorabhängig ?

Jein, die Idee von ARM war, dass du auf jedem Cortex-M von jedem 
Hersteller die gleichen Maschinenbefehle und Adressen verwenden kannst. 
Alle anderen Timer "gehören" dem Chip-Hersteller und sind überall 
verschieden, der systick gehört ARM und sollte immer gleich aussehen. 
Ein anderer Vorteil: der systick ist extrem einfach aufgebaut und 
benutzbar.
Gast #5707924
Lesenswert?
• ▲
▼
Hm, da war wahrscheinlich gemeint im Vergleich zu einer for-Schleife im 
Code, die Zeit vertrödelt. So eine Schleife ist natürlich abhängig, 
davon, wie gut der Compiler optimiert und welche Interrupts sie 
unterbrechen.
Oder noch heftiger händisch nachgezählten Zyklen zur Abarbeitung eines 
Stückes Code. Was bei mehreren Verzweigungen des Programmablaufs zu 
einer echten Aufgabe werden kann.

Der einzige Timer ist es auch oft nicht, Aber immerhin der eine, den Arm 
zusammen mit dem Core liefert, so dass er bei eigentlich allen Chips mit 
Arm-Core in dieser Form vorhanden ist.
#5708042
Lesenswert?
• ▲
▼
Mike schrieb:
> ich habe eine Frage bezüglich des SysTickCounters.
> Dieser soll der einzigste prozessorunabhängige Zeitstempel im
> Cortex-Kern sein.

Dieser Satz ist sehr überspezifisch, wegen "im Cortex-Kern". Denn 
natürlich sind alle anderen Timer ebenfalls prozessorunabhäng, werden 
aber als Peripherie angesehen und nicht als Teil des Kerns. Andererseits 
kann man streiten, ob der systick-Zähler nicht auch Peripherie ist.

> Das Wort prozessorunabhängig bringt mich hier etwas durcheinander.
> Was ist damit genau gemeint?

Daß der Zähler zählt, ganz egal was der Prozessor gerade macht. Auch 
dann, wenn der Prozessor gerade schläft (wfi und Freunde), zählt der 
trotzdem weiter.

> Ich meine, wenn ich im Code den Counter-Wert auslese, bin ich doch im
> Prinzip schon wieder prozessorabhängig ?

Das Auslesen ist keine Operation, die den Zähler als solchen irgendwie 
beeinflußt. Der zählt so oder so weiter.
Gast #5708603
Lesenswert?
• ▲
▼
Das bedeutet nur, dass diese Systick-Timer bei allen Cortexen (M0-Mx) 
vorhanden ist. Egal ob ST, NXP, Atmel u.s.w. Alle anderen Timer sind 
herstellerübergreifend nicht vergleichbar da jeder seine eigene Suppe 
kocht.

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.