4

これが話です。

これは安全性が重要なプロジェクトであり、タイム クリティカルな機能ルーチンを 20KHz で実行する必要があります。現在、機能ルーチンを 20KHz FIQ 割り込みに配置し、安全割り込みも FIQ に配置するように設計されています。システム内の FIQ は 2 つだけです。(確かに、MCU で有効になっている IRQ がいくつかあります)

タスク コンテキストを割り込み ISR に配置するのは良くないことはわかっています。これは、OS タスクでマークを設定して実行するための適切な方法です。しかし、現在の設計は誰にも害を及ぼさないようです。

このルーチンは約 10us (メイン クロック 300MHz) かかるため、基本的に、許容できない時間に対して IRQ/FIQ をブロックしません。OSタスクを使用して機能ルーチンを実行する場合と比較して、余分なコンテキストスイッチの時間を節約できます. 私にとって、現在のデザインは大学の教科書に書かれているすべての原則に反しているように感じますが、それを否定する理由が見つかりません.

機能ルーチンを ISR から OS に移行するにはどうすればよいでしょうか? するべきか?

4

3 に答える 3