問題タブ [rtos]
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.
c - 単一のシーケンシャルプログラムではなくRTOSの利点
単一のシーケンシャルプログラムではなく、RTOSをサポートするマルチタスクプログラムを使用する利点は何ですか?
不利な点はありますか?
c - 単一スレッドでの関数呼び出しのトレースは、期待どおりの順序ではないようです
関数呼び出しを行うスレッドがありますが、
通常、私はこの方法でprintfトレースを取得します。
しかし、長期的には、この方法でトレースを取得することがあります
これは組み込みRTOSデバイス環境です。(MQX)言語-Cとにかく、システムがこのように動作する理由を疑うことができます。これは、システムの負荷が高く、メモリ使用量の約93%で実行されている場合に発生します。
embedded - RTOSのメモリマップ
組み込みシステムでメモリマップがどのような目的を果たすのかを理解することを楽しみにしています。ここで、関数スタックは通常の UNIX システムとどのように異なりますか。
組み込みシステムのメモリ関連のクラッシュをいくつかデバッグするのに役立つ洞察は役に立ちます。
vxworks - VxWorks ターゲット シェルへのアクセス
Tornado/VxWorks 5.4 について質問したい
組み込みスイッチで実行されているVxWorksターゲット シェルにアクセスしたいと考えています。VxWorks 5.4 カーネルで Tornado を使用しています。Tornado には、 Tornado IDE 自体から直接アクセスできるWindSh (ホスト シェル) があります。ただし、私の質問は、ターゲットシェルにアクセスするにはどうすればよいですか? 一部のサイトでは、シリアル ポート経由で実行できると書かれていますが、組み込みデバイスに直接接続できるシリアル インターフェイスはありません。telnet または FTP 経由でも実行しようとしましたが、うまくいきませんでした。何か提案はありますか?事前にご回答いただきありがとうございます。
よろしく、
アルパー
embedded - RTOS:1つのタスクに2つのメッセージキューを設定することは可能ですか?
タスクAと2つのメッセージキューQ1、Q2を作成しました。タスクAが2つのメッセージキューで待機することは可能ですか?
私が知っているように、それは不可能です。メッセージQ呼び出しをブロックする場合、処理するメッセージがないときにタスクはそれ自体をブロックします(ブロックされた状態)。
たとえば、Q1にメッセージがありQ2にメッセージがない場合、Q1の場合、タスクは準備完了状態になり、Q2の場合、タスクはブロック状態になっている必要があります。
タスクを一度に2つの状態にすることはできません。
私の理解は正しいですか?
qt - 認定された航空プラットフォームでのQtの代替手段はありますか?
Qtの代替案について一般的に尋ねる同様の質問が投稿されました。さて、私はQtの認定された代替品に特に興味があります。具体的には、認定された航空スタックで飛行した、または飛行しているQtの代替品がある場合。(したがって、Qtの代替案を知っているだけでは十分ではありません)
Digiaは、WindRiver / VxWork and Integrity(Green Hills)およびQnx(私は思う)で実行されることになっている商用Qtに関する情報の要求に応答しなかったため、この質問を追求しています。私は特に、飛行認定されたDO-178環境でのQtの追求について質問し、Nokiaからゼロの応答を受け取り、同様の応答を受け取りました(ご想像のとおり)。
そのレベルのフィードバックを考慮し、リスク削減の取り組みとして、私は代替案を追求しています。
フィードバックと洞察をありがとう。
c - コンパイラ関連-これら2つのCコードは本当に同一ですか?
マルチスレッドまたはRTOS環境では、以下のこれらのコードは同一ですか?
そうではないと思います。しかし、最初のコードはマルチスレッド環境で絶対に保存されますか?コンパイラが「ga」にレジスタを割り当て、後でfunc_a()で「ga」を再度読み取らないようにするルールはありますか?
ロックを使用できることは知っていますが、これはデータを保護する方法についての質問ではありません。これは、コンパイラの動作に関する質問にすぎません。
//gaはグローバル変数です。
私の意図は、gaを1回だけ読み取り、その値をローカル変数'a'に割り当てる標準的な方法(プラットフォーム固有ではない)を探しています。
「ga」が変更されたかどうかに関係なく、「a」を一貫して使用できます。
c - LinkedList 追加要素
C の LinkedList に問題があります。リストに含まれるノードの数を数えると、常に 1 になります。
LLカウント:1
これは、リスト コードの追加、カウント、および取得の最後の要素です。
これは次のように呼び出されます。
どこで LL * リスト; はグローバル変数であり、temp はローカル スコープにあります。私がどこで間違ったのか誰かがわかるといいのですが
ごきげんよう、シャークとゲリット
embedded - RTOS - キュー内の異なるデータで保留中
TI のボードをプログラミングしていますが、2 つの異なる ISR の投稿をタスクのメッセージ キューに送信できるようにしたいと考えています。その部分はうまく機能します。ただし、受信側で、タスクがキューに保留され、ポストされた ISR に基づいてデータに対して別の操作を実行するためのインテリジェントな方法はありますか?
基本的に、モーターからの情報を表示する LCD 更新タスクがあります。しかし、モーター センサー ISR とボタン プレス ISR が異なる情報を送信して更新される場合、これを 1 つのキューで実行できますか?
malloc - RTOS-構造体の割り当てを渡し、キューを通過させる
実行しているいくつかのタスクでいくつかの問題が発生しています。私には3つのタスクがあります。1つはLCD更新タスクで、他の2つはモータードライバータスクです。また、両方のモータードライバータスクにメッセージを投稿する2つのISRがあります。ポインタを安全に渡す限り、私は構造体を作成することを考えていました。
今、共有メモリの問題が発生しているので、私は考えていました:
次に、キューを介して構造体へのポインタを送信します。
最後に、最後のタスクがメッセージを取得し、メンバー変数を使用して必要な処理を実行した後、メモリの割り当てを解除する必要があります。
このようなものはもっともらしいでしょうか?