Zeitkritische Interrupts STM32

Gast #5717715
Lesenswert?

Guten Tag,

Hätte eine Frage zu Interrupts. Wenn die Rede von zeitkritischen 
Interrupts ist, bedeutet das doch, dass die Priorität des Interrupts am 
höchsten bzw hoch ist. Bei dem STM32 gibt es einen NVIC, bei dem man die 
Priorität von Interrupts angegeben werden kann. Bin ich da Richtig?

Grüße
Gast #5717848
Lesenswert?

Ich glaube nicht, dass die Bedeutung des Wortes "zeitkritische 
Interrupts" klar definiert ist.

Du meinst damit vielleicht einen Interrupt, der möglichst zeitnah 
ausgeführt werden soll. Ich könnte mich darunter aber auch 
Interrupthandler vorstellen, die Fast 100% der CPU Zeit in Anspruch 
nehmen und deswegen kritisch sind.
#5717901
Lesenswert?

Student schrieb:
> Wenn die Rede von zeitkritischen
> Interrupts ist

... hat der Redner keinen blassen Schimmer von der Materie. Denn 
Interrupts sind immer zeitkritisch - sonst würde man das in der 
Hauptschleife mit erledigen.

Die NVIC Prioritäten braucht man wenn man verschiedene Levels von 
"zeitkritisch" hat.

Beispiel NordicSemi NRF5x: Bluetooth Radio Interrups sind auf wenige us 
kritisch, und müssen dann zum Beipiel den UART Interrupt Handler (100us 
oder mehr) unterbrechen können.
#5717933
Lesenswert?

John P. schrieb:
> Ja, wenn sich der MCU in einem interrupt niedriger Priorität befindet
> kann er von einem weiteren Interrupt mit höhere Priorität unterbrochen
> werden.

Mit der Aussage muss man denk ich vorsichtig sein. Es gibt bei den STM32 
eine "Preemtion Priority" und eine "Sub Priority". Bei ersterem stimmt 
deine Aussage, bei "Sub Priority" meines wissens nicht.

Als Beispiel:

TIM 1: 0, 1
TIM 2: 0, 0

Werden beide gleichzeitig ausgelöst, bekommt TIM 2 den vortritt. Wenn 
der Callback von TIM1 bereits läuft und dann TIM2 triggert, dann muss er 
warten bis der Callback von TIM1 fertig ist.

@Student lies dich am besten erst einmal ein ;-)
https://www.st.com/content/ccc/resource/training/technical/product_training/group0/0e/7d/62/5c/68/35/4c/fe/STM32G0-System-Nested-Vectored-Interrupt-Control-NVIC/files/STM32G0-System-Nested-Vectored-Interrupt-Control-NVIC.pdf/_jcr_content/translations/en.STM32G0-System-Nested-Vectored-Interrupt-Control-NVIC.pdf

VG,
Mathias
(Firma: www.harerod.de) Persönliche Seite #5718360
Lesenswert?

Student schrieb:
> Guten Tag,
>
> Hätte eine Frage zu Interrupts. Wenn die Rede von zeitkritischen
> Interrupts ist, bedeutet das doch, dass die Priorität des Interrupts am
> höchsten bzw hoch ist. Bei dem STM32 gibt es einen NVIC, bei dem man die
> Priorität von Interrupts angegeben werden kann. Bin ich da Richtig?

NVIC ist schonmal ein guter Ansatz. Die verschiedenen Varianten F0/F1/F4 
unterscheiden sich ein wenig in der möglichen Konfiguration, aber das 
Prinzip bleibt ähnlich.

Der NVIC gehört zum CPU-Teil, ist daher Teil der ARM-Core-Doku. Beim M4 
z.B. im Dokument
PM0214
Programming manual
STM32F3 Series, STM32F4 Series, STM32L4 Series and
STM32L4+ Series Cortex ® -M4 programming manual


Oder für die Nuller:
PM0215
Programming manual
STM32F0xxx Cortex-M0 programming Manual

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