YazawaKenichi / murakumo_ws

0 stars 0 forks source link

[ Task ] タイマの優先順位を変えていろいろ変化を見てみる #22

Closed YazawaKenichi closed 1 year ago

YazawaKenichi commented 1 year ago

変更する内容

変更する場所

murakumo_v5.ioc > Pinout & Configuration > System Core > NVIC

具体的な実装コード

実装する際の注意点

表の見方

優先度の考え方

初期状態

image

参考になりそうなサイト

YazawaKenichi commented 1 year ago

安直な訳

image

YazawaKenichi commented 1 year ago

でも多分だけど、Enabled が無効になっているものは結局 NVIC をパクらないと思うので、優先度の設定はチェックボックスがついたやつに対してやれば良いのでは?

YazawaKenichi commented 1 year ago

Non maskable interrupt

システムに致命的な障害などが発生したときに使用される

参考:NMI(ノンマスカブル割り込み)って何? - EDN Japan

Hard fault interrupt, Memory management fault

マイコンが正常に動作できない状態に陥った場合に発生する例外処理

Hard fault interrupt : ハードウェア的に正常動作できない Memory management fault : メモリ的に正常動作できない

参考:フォールト(Fault)って何? ~ 種類と解析方法 - EDN Japan

YazawaKenichi commented 1 year ago

なんか片っ端から調べようと思ったけど、結局チェックマークを外せないようになってるやつはめちゃくちゃ重要( Debug 以外 ) なのでチェックできる奴でチェックマークいじって遊ぶ

YazawaKenichi commented 1 year ago

NVIC ってなんなん?

Nested vectored interrupt controller (NVIC)

The STM32F405xx and STM32F407xx embed a nested vectored interrupt controller able to manage 16 priority levels, and handle up to 82 maskable interrupt channels plus the 16 interrupt lines of the Cortex®-M4 with FPU core.

• Closely coupled NVIC gives low-latency interrupt processing

• Interrupt entry vector table address passed directly to the core

• Allows early processing of interrupts

• Processing of late arriving, higher-priority interrupts

• Support tail chaining

• Processor state automatically saved

• Interrupt entry restored on interrupt exit with no instruction overhead

This hardware block provides flexible interrupt management features 
with minimum interrupt latency
YazawaKenichi commented 1 year ago

NVIC を有効化してないタイマがいくつかあったから有効化して、優先順位をつけてみた

具体的には以下の通り

image

YazawaKenichi commented 1 year ago

しかしいまいち変化がわかりにくかった(というか自分にはわからなかった)

YazawaKenichi commented 1 year ago

音が小さくなるとか、そんなこともなかった

YazawaKenichi commented 1 year ago

とりあえず閉じる