問題タブ [freertos]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
721 参照

c++ - Cortex-M MPUを使用

新しいソフトウェアを開始し、MPU を使用することを考えます。新しいソフトウェアは FreeRTOS (MPU ポート付き) に基づいています。

MPU とのタスク間通信に関するすべてのセグメンテーションを正しく理解しています。私たちが問題を抱えているのは、動的割り当て保護をどうするかということです。デフォルトでは、すべての RAM がユーザー モードで保護されている必要があります。動的割り当ての処理方法を説明するオンラインのドキュメントはありますか?

コンパイル済みコードが 500K を超える大きなソフトウェアを設計するので、できるだけメモリを保護したいと考えています。

よろしく

ジョナサン

0 投票する
2 に答える
1956 参照

task - FreeRTOS でタスクを再起動する

特定の順序でいくつかの操作を実行する特定のタスク ルーチンがあり、これらの操作はいくつかの揮発性変数を処理します。これらの揮発性変数を非同期的に更新する特定の割り込みがあります。したがって、このような割り込みが発生した場合、タスク ルーチンは再起動する必要があります。通常、FreeRTOS はタスクを再開しますが、これにより誤った派生値が生成されるため、ルーチンを再起動する必要があります。また、割り込みを逃してはならないため、クリティカル セクションの下にタスク ルーチンを保持することもできません。

これを達成できる FreeRTOS の方法はありますか? vtaskRestart API のように。タスクを削除して再作成することもできましたが、これによりメモリ管理が複雑になるため、避けたいと考えています。現在、私の唯一のオプションは、フラグのルーチンにチェックを追加して、コンテキスト スイッチが発生したかどうかを確認し、発生した場合は再起動し、そうでない場合は続行することです。

グーグルはこれに関する手がかりを見つけられませんでした。人々はそのような問題に直面したことがないように思われるか、この設計が貧弱である可能性があります. FreeRTOS フォーラムでは、タスクの再起動を求めた人はほとんどいなかったようです。フリート+タスク+再起動でstackOverflowの結果が出ませんでした。したがって、これはこのタグの組み合わせを使用した最初の投稿になる可能性があります ;)

これが FreeRTOS で直接可能かどうか教えてください。

0 投票する
0 に答える
761 参照

arm - 割り込み処理 フリー RTOS + ARM Cortex A9

ARM Cortex A9 (Zedboard) 上で動作する Free RTOS の割り込み処理を実装しました。次の問題に直面しています。

割り込みラインが発生していることを確認できます (対応する割り込みの spi_status レジスタをチェックすることにより)

しかし、割り込みはFree RTOSによってキャッチされていません

この状態も見られます。割り込みのセット イネーブル (ICDISER) ビットが設定されていることがわかりますが、対応する割り込みの割り込みラインを上げると、セット イネーブル ビットがリセットされます。Free Rtos タスクの実行中に割り込みを発生させます。これは非常に奇妙で、割り込みラインを発生させたときにその割り込みのセット イネーブル ビットがリセットされる理由がわかりません。任意のアイデアをいただければ幸いです?

この質問はFree rtosに非常に固有のものであることは知っていますが、割り込みのセットイネーブルビットがリセットされている理由を実際には認識していません(私の意見では非常に奇妙です)。

よろしく、 N

0 投票する
1 に答える
8001 参照

c - FreeRTOS xTaskCreate() メソッドの優先度値

FreeRTOS のタスク作成関数に渡される優先度の値が何を意味するのかわかりません。私が正しく覚えていれば、ThreadX は優先度が高いほど小さい値を使用します。つまり、優先度値 1 のタスクは、優先度値 2 のタスクよりも優先度値が高くなります。より高い優先度を意味する値。

グーグルを試しましたが、何も見つかりませんでした。xTaskCreate の FreeRTOS API リファレンス ページでは、これが優先値であることのみが指定されています。この混乱を解決するのを手伝ってください。

0 投票する
1 に答える
549 参照

freertos - RTOS で 3 つ以上のタスクを開始する

私は RTOS の初心者です。私の問題は、同時に 2 つ以上のタスクを開始できないことです。FREE-RTOS を使用しています。タスクの優先度は、同じレベルの優先度に設定されます。また、configTOTAL_HEAP_SIZE は 8192 バイトに設定されています。

誰かがこれについて私を助けてくれますか、それとも私に方向性を教えてくれますか?