avrコントローラー上のマイクロオペレーティングシステム。 マイクロコントローラーは時代遅れですか? リアルタイムの運用システム

ゴロフナ / 連絡先

私は10以上のTrochを作りました 電子デバイスオペレーティングシステムなしで低レベルのロボットで完全に管理されました。 攻撃的なデバイスの機能が劇的に拡張された場合、状況は変化しました。 さらに、それが呼び出すように、ビニールはタスクで必要です 間隔を設定するさらに、時間、週の精度が結果に追加されます。 そのため、時間のビジョンのためにすべてのソフトウェアを作成することは見られず、後で行われることが明らかになりました。 少し考えてみると、プロジェクトにはリアルタイムオペレーティングシステム(RTOSとRTOS)を含める必要があることに気づきました。

PCの前面にあるdeOS(システムリソースを備えたロボットにはより多くのボールがあり、RTOSマイクロコントローラーにはより多くのボールがあります)は、「リアルタイム」で勝ち、主要な役割を果たすフロントスケジューラです。 現時点では、いわゆる疑似並列vikonannyazavdanを確保することが重要です。 Tobtoєkіlkazavdanizは同じ優先順位であり、指定された時間間隔で指定された順序で呼び出すことが重要です。

明らかに攻撃的なお尻:Eurobot 2011プロジェクトでは、システムには18がありました 周辺の建物。 2つの電子決済を1つに機能的に組み合わせることができます。 コンポーネントの数が変更され、コンポーネントの数が増加しました(システム内のコンポーネントの数が変更されました)、コンポーネントの数が増加しました フリースペース船体で。 家具は、比例して成長していて、OSなしではできない人にとっては簡単です。 また、RTOSは、ロボットプロセッサのダウンタイムの可能性を排除するのに役立ちます。たとえば、ADC変換時に、タスクをブロックして無効にすることができます。同じように、ロボットを正しくインストールします。 また、現在タスクの罠に陥っていない人が、個人的な慣習を保存できることも重要です(ただし、譲渡できない結果にすることはできます)。 これらのショーの成長について私たちは何を気にしますか? Vlasne、michavlyuєmoのMKは、すべての強力で、効果的にvikoristovuyuchiyogoが実現可能性を数えています。

最近検索した後、freeRTOSでリーグを選択してください。 RTOSはCで拡張され、27のアーキテクチャに移植されています。 私のための残りの備品はvirishalです。 他のピッカーのMCからの人件費と作業時間を削減する必要があります。 一度に、AVRのポートをクリックすることは少なくなります。

プロジェクトにfreeRTOSRTOSが存在するためには、約9.8KBのプログラムメモリと1.8KBのRAMが必要です。 たとえば、ATmega32およびWinAVRコンパイラの場合、60%および85%が有効です。 すでにこのモデルでは、優れた機能からデバイスを作成するのは簡単です。メモリを忘れないでください。 エールツィア問題v_dpadaєpіdhvykoristannya新しいモデルAVR。 256Kbのプログラムメモリと8KbのRAMを備えたMega2560の価格はまったくありません。 将来のMKのトレンドは、RTOSの成功を伴わなくなりました。

RuNetのPobіzhshiprobіgshis、私はvyvelyuvを疑問に思っています、ロシアのオペレーティングシステム鉱山に関するドキュメントはありません。 あのヤクはここにあります! 元のドキュメントは追加バージョンに拡張されています。 Andriy Kurnytsya(Andriy Kurnytsya( [メール保護])ジャーナル「ComponentandTechnologists」から。 何年にもわたって、著者と一緒に、改訂版の記事の内容を確認しました。 全体としてのYogoの記事は、ロシアの鉱山の文書である可能性があります。 しかし、オリジナルは友人の目にはアクセスできず、雑誌のサイトは嘘をついており、その資料は少し作り直すことができます。 一般的に、著者は記事を徹底的にレビューしており、理論をもう一度検討する意味はありません。ここで再び公開されます。 記事の原本は出版物に追加されます。 また、RTOSのコンパイルにはほとんど問題がなかったことにも触れました。 これは、現在のmakefileが壊れているためです。この方法で、フォルダーへのパスが書き込まれます。 これに、AVRStudioとAVREclipse用の同様のテンプレート用の既製のプロジェクトを添付します。 残念ながら、元のmakefileには、RAMやプログラムメモリレベルなどの法定情報が表示されないため、標準のウェイクアップ呼び出しを追加することで修正できました。

したがって、必要性について簡単に説明すると、プロジェクトはRTOSを獲得する必要があります。これは必要です。

マルチタスクとライティングタスクを整理する

タスクが次の時間間隔で開始されることを確認します

あるタスクから次のタスクに情報を転送する

必要に応じて新しい注文を追加します

Mより前のRTOSの利点前:

  1. Bagatozachnіst。 RTOSは、プログラマーにバガタリティのための準備ができてやりがいのあるメカニズムを提供します。 vipadの頭の皮膚はokremoにプログラムすることができ、すべての作業はチームメンバー間で行うことができます。 プランナーを分割するためだけに、ヘッド間の再マイキングについてdbatiする必要はありません。
  2. ティムチャス基地。 時間間隔を考慮する必要があります。 RTOSはツールの母です。 はっきりと見える時間間隔でvikonuvatydiїを許可します。
  3. zavdannyami間のデータ交換。 RTOSvikoristovuetsyachergaの誰のために。
  4. 同期。 Yakscho さまざまなタスク同じリソース、たとえば最後のポートに勝つことができ、ミューテックスとクリティカルセクションに勝つことができます。 suvoriaシーケンスでタスクに勝つ必要があります。または、現在の歌声で、タスクの同期のためのセマフォまたはシグナルに勝つことができます。

Nedoliki RTOS:

1.カーネル実装用のプログラムメモリの増加

2.システムコアのスキン管理、セマフォ、cherg、ミューテックス、およびその他のオブジェクトのスタックを保存するためのRAM消費量の増加。

3.コンテキストを保存するためにタスクを1時間切り替えるためのトリック。

説明freeRTOS:

FreeRTOSは、有効なコードを備えた短時間の無料OSです。 重要なのはCで書かれていることですが、アセンブリインサートがあります。 これは、特に考慮する必要のあるシステムのためにReal TimeEngineersltdによって分割されました。 最近、「SafeRTOS」プロジェクトの開発が始まりました。FreeRTOSの安全規格IEC 61508バージョンに準拠するための追加のサポート、ドキュメント、抗議、および認証です。 このプロジェクトはドイツの会社によって取り上げられ、現在、safeRTOSは航空宇宙および医療技術のリーダーです。 また、openRTOSプロジェクトは、ビルダーの保証付きの商用バージョンです。

freeRTOSの主な特徴:

1. Plannerは、次の3種類の豊富なタスクをサポートします。

Vitisnyuyuchy

協同組合

ハイブリッド

2.AVRのコンパイル済みビューでカーネルサイズを9.8Kbに変更します。 (WINAVR)

3.カーネルの基礎-Zごとに4つのファイル。

4.spivプログラムのタスクをサポートします。 少量のRAMを搭載したMK用に特別に作成されたSpivプログラム。

5.トレースするための豊富な機会。

6.スタックのリフローを確認できます。

7.一度に固定される、数日間のプログラム料金はありません。

8.優先タスクの交換はありません。

9.Dekіlkomzavdannyamを任命することができますが、同じ優先順位です

10.「zavdannya-zavdannya」と「zavdannya-pererivannya」を同期させる原因:

チェルギ

ダブルセマフォ

ラクンコフのセマフォ

再帰セマフォ

M'utexi

11.継承された優先順位を持つM'yuteksy。

12.Cortex-M3のメモリ保護モジュールのサポート

13.さまざまなプラットフォームおよびコンパイラー向けの見た目が新鮮なデモプロジェクトで提供されます。

14.Bezkoshtovna。 拡張GPLライセンスまでは、コードを開かなくてもプロジェクトに勝つことができます。

15.ドキュメントは有料ですが、ここからオンラインで入手できます。

16. 16 MHz水晶を使用したAVRのコンテキスト単収縮時間は、20.8 µs未満になります。 タスクのスタックと攻撃の結果としてデータを保存するには、まさにスタイルが必要です。 (PIC18xxxに対する同じ敬意のため、AVRコントローラーは4倍速く動作するはずです!

Vytіsnyuyuchiリッチタスクとは、優先度の低い勝利のタスクが、優先度の高い完成したタスクとオーバーラップすることを意味します。 Peremikannyamizhzavdannyamivіdbuvaєtsyaは等しい量子時間で。 したがって、最初の優先度の低いタスクは優先度が高く、優先度が低い場合、現在の時間のクォンタムが終了する可能性があります。

このように、マルチタスクモードでの呼び出しに対するFreeRTOSの応答時間は、設定で設定できるプランナーの1時間に対して1クォンタムにすぎません。 umovchannyamvіndorivnyuє1msの場合。

同じ優先度でタスクを完了する準備ができている場合、そのようなときに、プランナーは1時間の1クォンタムでそれらのスキンを確認し、その後、管理者は同じ優先度で次のタスクを実行します。

プランナーが独立してインラインタスクのスケジューリングを中断することはできないにもかかわらず、協調的なリッチタスクは振動しており、非常に優先的にスケジューリングを完了する準備をしています。 スキンマネージャーは、独立して制御をプランナーに移すことができます。 このランクでは、優先度の高いzavdannya chekatimeが、優先度の低いものが作業を完了し、プランナーに制御を与えます。 その日の呼び出しに対するシステムの反応の時間は重要ではなくなり、制御が移る前に長時間待機するために低くなります。 タスクの協力的な豊かさは、Windows3.xファミリーに刺激されました。

Vitisnyayuchaと豊かさの協調的な概念は、ハイブリッドの豊かさで一度に統合されます。プランナーのサイクルが時間の量子である場合、豊かさのvіdmіnuで、プログラマーが将来働くことができるかもしれないことは明らかです。 システムのリセットまでの反応時間を短縮する必要がある場合、このモードは特に厄介です。 優先度の低いタスクが一度に勝ち、優先度の高いタスクが次のタスクを獲得するとします。 次に、プロセッサの作業が完了した後、中断は優先度の低いインラインタスクに変わり、優先度の高いポイントは1時間のインラインクォンタムが終了するまで続きます。 ただし、再編成プロセスが完了した後でも、制御をプランナーに移してから、優先度の高いタスクに制御を移すと、現在の状況に応じてシステムが迅速に対応できるようになります。

どうしてチャットb?

FreeRTOSの実装に使用されるマイクロコントローラーアドオンの配布を興味から拡大することが可能です。 バージョンの残りの部分.

FreeRTOS配布キットは、一見素晴らしい方法で入手できます。または、ZIPアーカイブに自己抽出することもできます。 配布仲介なしでコアコードをクリーンアップし(ヘッダーファイルと出力コードを含むファイルを確認するため)、デモプロジェクト(スキンポートのスキン開発環境ごとに1つのプロジェクト)。 彼らは、開梱の駅のどこでも、次のようなアーカイブの開梱を行いました。

アーカイブ内のファイルの数に関係なく、ディレクトリ構造は非常に単純です。 1〜2の配布センターで2〜3のアーキテクチャの拡張機能を設計する場合は、デモンストレーションプロジェクトや他の配布センターの前に表示できるファイルを増やす必要はありません。

ディレクトリの詳細な構造は、小さなものを指しています。

すべての出力カーネルコードは/Sourceディレクトリから移動されます。

Vmist:

1.tasks.c-計画、計画のためのメカニズムの実装

2. queue.c-実現チャーグ

3. list.c-プランナーの内部ニーズ、prote関数はアプリケーションプログラムで使用できます。

4. croutine.c-spivprogramsの実装(spivprogramsは勝てないため、毎日使用される場合があります)。

ディレクトリにあるヘッダーファイル ソース/インクルード

1. tasks.h、queue.h、tist.h、croutine.h-ヘッダーファイルは、コード付きのシングルメニューファイルに有効です。

2. FreeRTOS.h-コンパイルを修正するためにプリプロセッサディレクティブを置き換えます。

3.mpu_wrappers.h-メモリ保護モジュール(MPU)をサポートするためのFreeRTOSソフトウェアインターフェイス(API関数)のミスト再マッピング。

4.portable.h-プラットフォームで堆積された造園。

5.projdefs.h-体系的な任命の証書

6. semphr.h-chergに基づく実装など、セマフォを操作するためのAPI関数の設計。

7. StackMacros.h-スタックリフローを制御するためのミストマクロ。 スキンハードウェアプラットフォームは、このプラットフォームとのFreeRTOS相互運用性を実装するカーネルコードのごく一部を維持します。 すべてのプラットフォームデポジットコードはサブディレクトリにあります / Source / Portable、配布媒体(IAR、GCCなど)およびハードウェアプラットフォーム(たとえば、AtmelSAM7S64、MSP430F449)の体系化を定義します。 たとえば、サブディレクトリ / Source / Portable / GCC / ATMega323ファイルport.cとportmacro.hを移行して、タスクコンテキストの保存/回復、タイムベースを設定するためのタイマーの初期化、スキンタスクスタックの初期化、およびWinmegaのAVRマイクロコントローラーの他のハードウェアデポジット機能を実装します。システム。

サブディレクトリを表示する次のOkremo / Source / Portable / MemMang、ファイルが配置される場所 heap_l.c、heap_2.c、heap_3.c、後で報告されるように、FreeRTOSのニーズに合わせて3つの異なるメモリ表示メカニズムを実装します。

/ Demoディレクトリは、デモプロジェクトをコンパイルして選択する準備ができています。 すべてのデモンストレーションプロジェクトのコードの主要部分は、サブディレクトリに表示されていました /デモ/コモ n。

プロジェクトでFreeRTOSをフィーチャーするには、コア出力コードファイルと付随するヘッダーファイルをインクルードする必要があります。 それらを変更したり、それらの実装を理解したりする必要はありません。

たとえば、MSP430マイクロコントローラーとGCCコンパイラのポートを変更する予定の場合、プロジェクトを最初から作成するには、サブディレクトリが必要です。 / Source / Portable / GCC / MSP430_GCC ta/ ソース/ポータブル/MemMang。 / Source/Portableディレクトリの他のすべてのサブディレクトリは削除できます。

メインのデモプロジェクトを変更する予定の場合(FreeRTOSの穂軸での作業を開始することをお勧めします)、サブディレクトリも必要です / Demo / msp430_GCCі /デモ/共通。 / Demoにある他のサブディレクトリは必須ではなく、変更される可能性があります。

プログラムの作成時間内に、勝つことをお勧めします makefile(または配布プロジェクトの途中のファイル)デモプロジェクトの有効なポイントとして。 必要に応じて、/ Demoディレクトリのビルドファイルを無効にし、独自のファイルに置き換えます。/Sourceディレクトリのファイルは小さめです。 スライドもヘッダーファイルについて推測します FreeRTOSConfig.h、肌のデモンストレーションプロジェクトで知られています。 FreeRTOSConfig.hFreeRTOSカーネルのカスタマイズを可能にする#defineを定義します。

1.システム機能のセット。

2.Wikoristannyaspіvprogram。

3.タスクとspivprogramの優先順位の数

4.メモリを拡張します(スタックを購入します)。

5. クロック周波数 MK。

6.プランナーの作業時間は1時間で、これは1ミリ秒以上聞こえる皮膚zavdannyavikonannyaによって見られます。 一部のシステム機能の削除と優先順位の変更(メモリの変更)。

FreeRTOS配布キットの前は、プランナーから取得したトレース情報をテキスト形式(ディレクトリ)に変換するためのツールも含まれていました。 / TgaseCon)およびライセンスのテキスト(ディレクトリ /ライセンス).

ヴィスノフキ

サイクルの最初の記事の助けを借りて、読者はFreeRTOSマイクロコントローラーのオペレーティングシステムを知るようになりました。 ロボットの特徴が示されています。 FreeRTOS配布キットの説明。 FreeRTOSの開発に使用される開発を拡張するメインスケッチを紹介しました。

将来の出版物では、豊富なタスクのメカニズムとそのspivprogramの管理者に敬意が払われるでしょう。 ロボットプランナーは、Atmel AVRマイクロコントローラーとWinAVR(GCC)コンパイラーのアプリケーションに紹介されます。

あなたが聞いたら何が考えに落ちるか オペレーティング·システム? Chantly kvatirki、linux、makos ..それ以外の場合は、そのようになります。 そうです、そしてそれは食べ物のために必要です、すべてがアドバイスを与えられます:音楽を聴く、ゲームをする(インターネット上で!)、Skypeで友達とローミングする。 同時に、明るい光のように見つめている、otrimavshi byte z yuarta \ u003d)。

さらに深く掘り下げて、音楽を聴いたり、インターネット経由でデータを転送したりすると、すべてが単一のプロセスであり、プロセッサは1つしかないため、1時間で1つのタスクしか獲得できません。 そのため、小さな「部分」のために注文が破られ、OSの動作の本質は、koristuvachでは認識できません。そのため、音が喘鳴せず、バイトが送信され、すべてが一度に機能しました。 もしそうなら、ある日は「ぶら下がっていた」ので、他のすべては機能し続けました。

すべてのグッズを捨ててゴールを失った場合、OSは単なるタイマーであり、1時間の等間隔の呼吸の一種であり、また、coristuvachの参加なしで、タスク間で混合され、一部としてvikonuが使用されます。と再模倣します。 また、1時間の1クォンタムではより大きなタスクに到達できないこと、別のタスクに切り替えた瞬間にタスクを保存すること、そして変化の陣営を置き換えるための次の時間に、vrahuvatする必要があります。 そのマネージャーは、計画マネージャーに従事しています。

OSには、主にvitіsnyayuchaとcooperativeの2つのタイプがあります。 最初のまぐれで、リーダー間の会話はzhorstky、tobtoになります。 1時間のクォンタムが1msの場合、次にタスクが正確に1msカウントされるとき、他の時間は1msに等しくなります。 このような時計は実時間(RTH)と呼ばれます。 協同組合にとっては、より簡単で、プロセス自体が「私はここにいる」と言って罪を犯し、RTOSに持ち込むことは不可能です。

drіbnіAVRのVgamuvativytіsnyayuchuは少量のRAMを介して表示されません。 協同組合の最新のオプションの中で、私はmRTOSに敬意を表されました。システムの詳細は、作者のWebサイト(グーグルで簡単に)で読むことができます。 差異の主な理由は、単純さ、理解のための既製バージョンのCAVRの可用性です。 基本原則あなた自身。

Otzhe、頭の食べ物が失われました。すべてをやめれば必要です。 理論的には、すべて同じですが、shobi zvіssyuを使用すると、それなしでダウンロードできます。自分だけでより多くのリソースをダウンロードできます。 プロジェクトに適したものによっては、メガヘルツを宇宙に飛ばさないでください。自分で取得するだけで十分です。そこにリソースがあります。

そのvartoにあなた自身のスパイスを力に入れてください:
1.リソースを賢く管理できますか?
2.ワインのファームウェアを作成する過程で、Chiは転送されません。同じバイクは、プレーナーに似ていますか?
3.コードはどのくらい読みやすいですか? pіvroku-rіkvіdkritiyogoivіdrazurazіbratisyaを通してどのようにあなたを助けることができますか?
4.あなたは一人ですか?グループで書いていますか?

初日は、すべてが小売業者の曲がった手の形で残っているため、物資を提供することは困難です。 他の人たちと一緒に、独立したザブダンがたくさんいて、Bik OSに驚嘆するのではなく、1時間の歌の間隔でそれらを勝ち取ることが計画されているので、すべてがより理解されました。 第三に、オクレム工場での選別がより明確になり、メインサイクルで休耕地を低くすることが容易になりました。 複数を書く場合は、他の人を尊重せずに自分のタスクをうまく書くことができるので、プラスもあります。

すでに言われていることによると、前日と同じように、stosuvannyaが投与する範囲は特定されています。 革プロジェクトではvartophatiїїではありません。 アマチュア無線プロジェクトの大部分では、プロジェクト全体は、それが以前に発表されたとしても、いくつかのプロジェクトを歌って入れています。

今、ボンネットの下でzazirnemo。 プロジェクトの前にmRTOSを実行するには、mrtos.cをインクルードし、mrtos.hを修正する必要があります。 トロココーダの構造は声のように見えます

#含む #include "mrtos.h" //これが関数の本体ですdemiスーパーコードを記述します void task1()(while(1) //停止しないサイクルに基づいてbe-yak_yOSで開始します { //これがあなたのタスクのコードです急送; //コントロールをプランナーに転送する機能 } ; } //タイマーリセットハンドル0割り込み[TIM0_OVF]voidtimer0_ovf_isr(void)(char ii; #asm( "cli")TCNT0 = 0x9C; inc_systime(); for(ii = 0; ii< init_tasks; ii++ ) if (tasks[ ii] .delay ) -- tasks[ ii] .delay ; #asm("sei") } void main(void ) { //周辺の初期化 init_mRTOS(); //OSの初期化 //ここでタスクを作成します(tasks)3つのタスクがここで作成されます create_task(task1、1、Active); //タスクを作成します(私のタスク、優先度、ステータス) create_task(task2、1、Active); create_task(task3、1、アクティブ); スケジューラー(); //プランナーを起動します while(1); )。

#含む #include "mrtos.h"//これが関数の本体です。スーパーコードを記述します。voidtask1()(while(1)//任意のOSのタスクは、停止していないループに基づいて呼び出されます(/ /これがDISPATCHタスクのコードです;//スケジューラに制御を移す関数);)//タイマー割り込みルーチン0割り込みvoid timer0_ovf_isr(void)(char ii; #asm( "cli")TCNT0 = 0x9C; inc_systime (); for(ii = 0; ii

今報告します。 タスクの番号は、mrtos.hでデフォルトのAPPTASKS Nに指定されています。タスクは、task1()()、task2()()の途中で正常に発声されますが、while(1)の途中では発声されません。何かを書く必要があり、関数を呼び出す必要はなく、プランナーを作成する必要もありません。 ご覧のとおり、タスクは無尽蔵のサイクルから折りたたまれていますが、それは正常である可能性がありますが、タスクの途中で、プランナーを制御するためにobov’yazkovoが必要です。 またはWAIT関数、またはDISPATCH。 可能な限り、それからvikonuvatimesの仕事は容赦なく。

どのように働きますか? 光でblimannyaのタスクを作成しましょう。

void task1()(while(1)(PORTB.0 =!PORTB.0; WAIT(100););)

void task1()(while(1)(PORTB.0 =!PORTB.0; WAIT(100););)

WAITはdelay()の類似物ではありません。マイクロコントローラーは、1時間の間、何も見逃さず、空のサイクルを実行します。 時間内にWAIT管理は他の労働者に移されます。 トブト。 異なるWAITを使用して、異なるライトを点滅させる2つの推力を作成でき、すべての悪臭が異なる周波数で輝きます。 zatrymkiが必要ない場合は、kintsivikoristovuemoDISPATCHで。

WAITが異なる場合、システム全体に最小ティック(時間クォンタム)があることを理解することが重要です。したがって、WAIT(50)50ミリ秒ではなく、50システムティックをチェックします。 タイマー0がよく呼び出されるので、そもそも目盛りを横になるように設定します。 中断を1ミリ秒調整したのと同じように、アクションが1ミリ秒続くようにすることができます。 これまで、16MHzのクロック速度でシステムティックを最大20µsまで変更できることを示してきました。

タイマーの設定は、以前はまったく考慮されていません。タイマーは再注文のみが可能であり、すべての設定は価格に関連付けられています。 CAVRの他のバージョンでは、自動的に生成される時間要件を手動で書き込むこともできます。

create_task(task1、1、Active);

create_task(task1,1、Active);

優先順位を付けてすべてを達成することは容易ではありません。 優先度の異なる2つのタスクと優先度の高いタスクが常に実行されても、優先度の低いタスクは決して入力されません。 そのため、管理者がアクセスを拒否するようにロボットを編成する必要があります。 誰にも敬意を表すことはできません。攻撃的な時間を節約できます。 スターターミル、アクティブ–実行中、StopTaskzupinena。

Otzhe、喜んでいる人のために、ただ光で点滅します:

#含む #include "mRTOS.h" void task1()(while(1)(WAIT(1000); PORTB.0 =!PORTB.0;)) //タイマー0オーバーフロー割り込みサービスルーチン割り込み[TIM0_OVF]voidtimer0_ovf_isr(void)(char ii; #asm( "cli")TCNT0 = 0xb2; inc_systime(); for(ii = 0; ii< init_tasks; ii++ ) if (tasks[ ii] .delay ) -- tasks[ ii] .delay ; #asm("sei") } void main(void ) { DDRB= (1 << DDB7) | (1 << DDB6) | (1 << DDB5) | (1 << DDB4) | (1 << DDB3) | (1 << DDB2) | (1 << DDB1) | (1 << DDB0) ; PORTB= (0 << PORTB7) | (0 << PORTB6) | (0 << PORTB5) | (0 << PORTB4) | (0 << PORTB3) | (0 << PORTB2) | (0 << PORTB1) | (0 << PORTB0) ; //タイマー/カウンター0の初期化//クロックソース:システムクロック//クロック値:7.813 kHz TCCR0 =(0<< CS02) | (1 << CS01) | (1 << CS00) ; TCNT0= 0x83 ; //タイマー/カウンター割り込みの初期化 TIMSK =(0<< OCIE2) | (0 << TOIE2) | (0 << TICIE1) | (0 << OCIE1A) | (0 << OCIE1B) | (0 << TOIE1) | (1 << TOIE0) ; Init_mRTOS() ; create_task(task1, 1 , Active) ; Sheduler() ; while (1 ) ; }

#含む #include "mRTOS.h" void task1()(while(1)(WAIT(1000); PORTB.0 =!PORTB.0;))//タイマー0オーバーフロー割り込みサービスルーチン割り込みvoid timer0_ovf_isr(void)#asm( "cli")TCNT0 = 0xb2; inc_systime(); for(ii = 0; ii

おまけに、ポリフォニック(ダブルボイス)のメロディー「ドクターマリオチル」を試してみました。 アイデアは、コントローラーのスキンが常に実際の渇望に反転し、それによって周波数自体が生成されるというものです。 パッチを変更することで、音符の高さを変更できます。

void task2(void)(while(1)(if(mute == 0) //どのように無償で許可されますか(if(note_ch2 [n_n] == 0) //一時停止のように、チェックされ、何も読み取られません(PORTB.4 = 0; WAIT(5);)else(PORTB.4 =!PORTB.4; //一時停止でない場合は、必要な頻度で足とともに移動します WAIT(note_ch2 [n_n]); )))))

void task2(void)(while(1)(if(mute == 0)//再生を許可する必要があります(if(note_ch2 == 0)//一時停止をチェックする必要があります。ミュートすることはできません(PORTB.4 = 0; WAIT(5);)else(PORTB.4 =!PORTB.4; //一時停止でない場合は、必要な頻度で足を動かしますWAIT(note_ch2);)))))

私はその考えに騙されていません。1つのタスクでは、ソロパートのノートの周波数から蛇行が生成され、もう1つのタスクではベースのノートの周波数から蛇行が生成されます。 スキンノートの高さは配列から取得されます。 些細なこと、髭剃り、髭剃り3。

void task3(void)(while(1)(WAIT(1500)); //graimoノートの最小の三位一体 for(mute = 0; mute< 500 ; mute++ ) //怒らないように、メモを削ります(PORTB.3 = 0; PORTB.4 = 0;); mute = 0; //音を出すことができるフラグを設定します n_n ++; //次のメモに移動 if(n_n == n_max) //yakschoはこれらすべてのデモを賭けてプレイしました(n_n = 0;))))

void task3(void)(while(1)(WAIT(1500); //(mute = 0; mute)に注意してください< 500; mute++) //обрываем ноту, чтобы не сливались { PORTB.3 = 0; PORTB.4 = 0; }; mute = 0; //выставляем флаг, что можно воспроизводить звук n_n++; //переходим на следующую ноту if(n_n == n_max) //если сыграли все то идем по кругу { n_n = 0; } } }

簡単な回路をひねって2つのチャンネルを変更します。

一度に小片

悪いファームウェアの場合

私は常に自分の趣味を1時間占有するために何をすべきかを自問しています-16ビットマイクロコントローラーをベースにした小さな家庭用自動制御システム(スマートブース)-正しい考えは何ですか? 2か月前、私はすでにブログに「マイクロコントローラーとシステムオンチップ」というトピックについて書いています。 それで、軸、私はそれについて再び書く準備をしています。

StellarisLaunchpadとArduinoDueの販売の様子にしばしば驚かされました。 悪臭は32ビットマイクロコントローラーに基づいて不快感を与え、多くの点で類似しています。 私は仕様(データシート)を最新のものにしていて、ある価格で悪臭を放ちたいので、悪臭は1人のターゲットオーディエンスに対して課金されます。 MSP430からStellarisに気が変わって、システムに切り替えたり、Raspberry Piに切り替えたり、マイクロコントローラーを交換したりできる人のことを考えていました。

Obidva、Stellaris Launchpad、Arduino Due、さらに難しいですが、Linuxの実行では認識されません。 悪臭は、仲介なしで記述された象徴的なコード、またはリアルタイムオペレーティングシステム(RTOS)の制御のいずれかで機能します。これは最小限のOSであり、呼び出しに対してわずか1時間の反応があります。 したがって、悪臭は明らかに折り畳み可能で、MSP430または8ビットAVRが低くなります。

一方、実際の生活(インターネット以外)では、私が知っているほとんどの人は、RaspberryPiまたはLinuxで実行される他のシステムを実行しています。 Vykoristannya自体はマイクロコントローラーであり、私が学んだ静かな場所の中には珍しいvipadokがあります。 Navit Arduinoは、私の研ぎ澄まされた、より低いLinuxで、少し人気がありません。 私が理解しているように、ラズベリーパイを手に入れることができれば、Arduinoを購入する価値があります。どちらがより豊かになり、どれがより小さくなりますか? Linuxには既製のソフトウェアはなく、簡単なスクリプトを使用して移動することでプログラミングできます。

特に私にとっては、勝利を収めたLinuxを気にしないからです。今日はロボットでバイコールヨガに取り組んでいて、家に帰ると、Linuxのようなもので再練習する必要性に満足していません。システム。 Linuxのハッキングに関してはそれほど問題はありませんが、窒息させるには多すぎて、私を腐らせます。 8/16ビットマイクロチップをベースにしたシンプルな電子機器の方が快適です。

Prote私は現実にはなりません。 現実の世界に一人でいたいので、現実の世界に勝つように、それらの楽器に勝つことができます。 そうでなければ、それは蒸気機関で車を運転するようなものですが、内燃機関のエンジンが優れているので、私はそのようなランクの戦後です。 より現代的な技術に切り替える必要がある場合は、私のようにそれを習得する必要があります。 特に、私のブログを人々に関連させ、関連性を持たせたいので。

スマートブースの私のプロジェクトで、私は本当にこの問題で立ち往生しました。 私はすでにMSP430の制御システム用のローカルネットワークドライバーを構築しましたが、すべてが良好に見えます。 実際、MSP430の自動化システムに必要なすべてのことを実行できます。 ティムは小さくありません、私は疑問に思っています、どれが正しいのですか、どうすればそれを行うことができますか? 私は密輸しません、それがスプーンであるならば、のこぎりでスープは何ですか? たぶん、Linuxはもっと似たシステムですか? 説明させてください。

2012年のロックの秋に向けた技術的成果については、現在の状況を確認する価値があります。 システムオンチップと比較して、現在のマイクロコントローラーは何が優れているのか、Linuxは何を勝ち取っているのか、自問します。

システムでプロジェクトをリサイクルする方法、頭に浮かぶ方法、tse:ドローン、ロボット、ホームオートメーション、モーターコントローラー、センサー、手首の年鑑、3Dプリンターなど。 これらのタイプのLinux、scho vbudovuetsyaのいずれかが、より多くのより低いマイクロコントローラーに適合しますか? なんで?

マイクロコントローラーが最良の選択である場合、3つの状況があることを本当に感謝しています。そこでは、重要なのは潜水艦に対する瞬間的な(リアルタイムの)反応です。 そこでは、非常に低いエネルギーが必要です。 そしてそこでは、可能な限り低い変数のマイクロ回路を使用する必要があります。

穂軸にとって、安価なマイクロ回路の使用は私にとってそれほど重要な瞬間ではありません。 私は自分の趣味を自分で管理し、競争力のある製品をリリースするかどうかを選択しません。 私はrozroblyaetのように、これらの他のプロジェクトに競争力のある価格を提供するために、一種の勝利の奴隷労働である工場への生産の移転に屈する必要はありません。 私は幸せです、yakbyzmіgは1日に複数の支払いを支払います、あなたの快適さのためにzavdyak!

たとえば、スマートブースプロジェクトの場合、vimikachのリモコンを開発できます。 Vіnはライトをオン/オフにすることができます。 同時に、地元の電気店に行って、中国製の電気店を20ドルで購入することもできます。 vlasny vimikachを売ろうとして価格を下げたら、私はできますか? それは不可能だと思います。

より思慮深くするためには、ホームオートメーションに必要な他のスピーチの豊かさに到達する必要があります。 温度センサー、ディマ、ルフなど、私は独立して建物を建てることができますが、経済的利益を得ることができるとは考えられません。 州の商品で20ドルでスピーチを見つけることができれば、誰が私から75ドルでそのようなスピーチを購入することを気にしますか?

自分の趣味の世話をすることを考えるなら、より高価で折りたたみ可能な製品を尊重するほうがよいでしょう。 たとえば、ホームオートメーションコントローラーやサーモスタットの場合、サウンドのコストは100ドルを超え、個人の創造性にさらに自由を与えることができます。これを奨励し、お金を売り、自分でお金を稼ぐことができます。

残りのアタッチメントの最高価格に達したAlebazhannyaは、地球上で見つかったマイクロコントローラーを打ち負かす必要があるという意味ではありません。 本当に悪い考えです。 rozrobkiの時間は、勝利の詳細のように、同じものが多様性を所有することができます。 おそらく、マイクロコントローラーは安価ですが、制御するコードを書くのに1時間以上かかります。 1時間はペニーであり、より賢く練習すれば、より大きなリーチを達成できます。

それでも、私をvisnovkaに連れて行くことを考えてみてください。これは、Linuxのスマートブースのシステムを拡張し、マイクロコントローラーのシステムを拡張する方が、私の特別なスキルに関係なく、Linuxに勝るものはありません(低レベルのプログラミングが必要です。スクリプトが少ないほど、Linuxに必要なスクリプトは少なくなります)。

これらのトピック、マイクロコントローラーの価格に目を向けると、新製品の発売を選択する大企業にとって重要な要素になる可能性がありますが、個人レベルでは、Kickstarterのスタイルでビジネスを行いたいかのように、この要素はもはやそれほど重要ではありません、実際、スウェーデン語、最も重要な、コンポーネントのより低い分散。

一方、低エネルギーが必要な場合は、マイクロコントローラーを選択すると、システムオンチップが少なくなります。 このようなシステムには2つの瞬間があります。1時間の作業での回路自体の持続性が低いことと、開始​​時間が短いことです。 他の別棟のバッテリーを節約する一般的な方法は、自己接続(シャットオフ)です。 Linuxでコンピューターを模倣している場合、仕事に取り掛かるには、時にはdekilkoh hvilinに至るまで、まともな時間が必要になります。 このような時間は、要求する必要のあるシステムには受け入れられません。

MSP430のようなマイクロコントローラーを使用する場合、1つのバッテリーを使用できる場合があります。 StellarisLaunchpadとArduinoDueは、原則として同じ建物で同じですが、MSP430よりもエネルギーが低くなりますが、それでもRaspberryPiと同じくらい少し少なくなります。 それでも、MSP430は、オフにした後、すぐに起動できます。

このランクでは、低電圧動作が必要なすべての状況で、マイクロコントローラーに勝利の感覚があると確信しています。 バッテリーを扱うさまざまな別棟がたくさんあり、それがそのような必要性の理由です。

3番目のタイプでは、前に述べたように、マイクロコントローラーの使用は、即時応答(リアルタイム応答)を必要とする操作でLinuxよりも理解されています。 3DプリンターやCNC植字などのアタッチメントを使用できます。私は自分が何について話しているのかを知っており、結婚式に多くの時間を費やしています。 悪臭はその性質上、コマンドに反応する時間に横になる可能性が低いため、ロボットに高い精度が要求されます。

たとえば、ある瞬間に木片や金属片が切断されているかのように循環ファイルを実行している場合、コンピューターが一時停止する必要があるプロセスを介してプロセスを開始することはできません。メモリからディスクに転送されます。それ以外の場合は同じ精神で転送されます。 PCを勝ち取り、素晴らしい仕事の時間を定期的に非難するvipadkovypodvisannyaについて知っている人になりましょう。 そして今、あなたがPCの見出しの下で、素晴らしいドリルワークフローを持っていることを知らせてください。このワークフローは、Windowsの更新を変更し始め、1時間作業し、ドリルして、立っている鋼をドリルスルーします。 。 コンピュータがそれを制御できるようになりました。

PCとシステムオンチップは、WindowsまたはLinuxのいずれかからのリアルタイム作業用に設計されていませんが、それ自体で悪臭があなたに近づいています。 例として、Linuxカーネル用のリアルタイムパッチと特別なCNCソフトウェア、この種のロボット用の作成物を使用します。 私はcimLinuxパッチについてあまり知りませんし、リアルタイムのより良い制御のために、それが少し厄介なものであるかどうかもわかりません。 しかし、もっと良い選択肢があるかどうか疑問に思っています、tk。 Linuxは、パッチが適用されていなくても、マイクロコントローラーはこのウィンドウでシステムを破壊することはできません。
Nasamkinets、私は多くの時間を費やした後、私のプロジェクトでマイクロコントローラーがインストールされている領域を知ることを試みた後、私は勝つことができると言いたいです。 そして、すべてがラズベリーパイとビーグルボーンの光支配の時代が来たように見えます。 これはDIY枕木の現在の状況です。 より多くのオプションがあり、これらのシステムでの開発がより速く、より簡単であるため、より多くのプロジェクトに最適です。

マイクロコントローラの場合、低電圧アタッチメント、リアルタイム操作、および低電圧アタッチメント用の領域はこれ以上ありません。

マイクロコントローラーが「面白い」より低いPCを作ることができるという事実についてうそをつくことはできません。 あなたがたまたま和解した人たち。

元の投稿の英語映画からの翻訳

システムは芽生えています、システムは芽生えています(組み込みシステム)-コンピュータシステムが特殊化されている場合、コンピュータ自体がアタッチメントのように聞こえ、それがそれを制御します。

特性:

  • 省エネがさらに少なく、0.5〜20Wに近い
  • リトルローズ
  • 優れた熱供給システム(冷却)のプレゼンテーション。 ほとんどの場合、CPUは冷却されませんが、小さなヒートシンクが加熱されます。
  • CPUとシステムロジック、およびその他のICは、多くの場合、単一のチップに統合されています(System On Crystal = SOC)

新進システムの基礎は、シングルボードまたはシングルチップのいずれかです。 マイクロコントローラー、専用またはユニバーサルCPU、PLIS。 x86ファミリの古いプロセッサ(i386、i486、Pentiumなど)とそのクローンを低エネルギーと低コスト(約1〜5米ドル)で克服することは、特定のタイプのシステムの特別な機能です。 ARMアーキテクチャのCPUについては、勝利を収めたシステムにも多くの見解があります。

現在、マイクロコントローラーとRISCアーキテクチャーを搭載したCPUをベースにしたシングルボードコンピューターを使用している企業(ロシアを含む)は多数あります。 その中で Advantech、AAEON、Advanced Micro Peripherals(AMP)、Ampro Computers、Diamond Systems、iBASE、InnoDisk、Fastwel(Russia)、Lippert、Octagon Systems、RTD Embedded Technologies、Tri-M Systems-Engineering、SanDisk、STEC。 ATM、アビオニクス、PDA、通信システムは、システムのバットとして使用できます。

Deyakіvbudovanіシステムvikoristovuyutsyaを大量に(RFIDなど)。 Vbudovaniシステムは、保護なしでその幅と可視性を介してshkidlivyコードの作成者に受け入れられる方法です。 vbudovanihシステム(Cabir、RFIDウイルス)のステップバイステップのコード。 幸いなことに、支配的なPZとそのようなタイプの別棟の交換された機能の存在下で、別棟の建設の多様性のために、このプロセスはまだ困難です。 一方、ウイルス対策企業や古いコンピュータセキュリティのリーダーは、環境や、すべてのウイルス対策ソフトウェアのセキュリティを広めることができない低電力システムによっても複雑になっています。

新進システムのメインCPUハックє VIA Technologies、Transmeta Corporation、InfineonTechnologies。

する必要があるシステムのオペレーティングシステム

構築する必要のあるシステムでは、管理のために、それらは勝ちます リアルタイムのtsіyniシステム(OS RT)。

OSの実際の時間のオペレーティングシステムは、音の外観の非転送への時間の転送に反応するOSです。 一部のRTOSは、常に準備が整ったインタラクティブシステムと呼ばれます。 RTOSカテゴリでは、マーケティングマーケティングアプリケーションに含まれているため、インタラクティブプログラムは「リアルタイムでの作業」と呼ばれます。これは、飲み物が暗くてなじみのない場所から人々に処理されることを意味します。 「スウェーデンのシステム」でシステムのリアルタイムを理解している人もいますが、RTOSの反応を止めないことが重要であるため、正しく起動していません。保証されています。

異なるシステムが分割されます 「ハード」と「ソフト」の実時間。 「ハード」実時間のOSは、その時間の最後の間隔の時間の変更を保証します。「ソフト」実時間のOSは、原則として、その時間の間隔の料金を取得しますが、繰り返しますが、それはそれを保証するものではありません。 ほとんどのソフトウェアは、「ソフト」な実時間に対応しています。

これらのシステムの特徴は次のとおりです。

  • ovnishnіpodіїへの1時間の反応の保証(obladnannyaによる再定住);
  • プロセス計画のサブシステムにすぎません(優先度の高いタスクは、優先度の低いタスクのせいにされるべきではありません。ある種のせいになります)。
  • 呼び出しまたは反応性への応答の最大1時間のシフト(リコールサイクルの中断の遅延は数十マイクロ秒以下、タスクの移行の遅延は数百マイクロ秒以下)

RTOSが必要なマネージャーの古典的なお尻は、コンベヤーのラインから詳細を取得するロボットの制御です。 パーツが崩れているので、ロボットは少し時間がかかるだけです。 故障が遅れると、部品は必要なコンベアスペースに配置されなくなります。また、ロボットが適切な場所にあるかどうかに関係なく、ロボットが破損することはありません。 ワインが以前に配置されている場合、詳細はまだ把握されておらず、ワインは邪魔になります。
Windows CE(WinCEを獲得)-必要な改善されたコンピューター、携帯電話、およびシステム用のオペレーティングシステムMicrosoftWindowsのバリアント。 Windows CEは、デスクトップPC用のWindowsの「アーバン」バージョンではなく、別のカーネルに基づいています。 システムの主な欠点まで、必要なすべてのソフトウェアプログラムを見ることができます。 x86、MIPS、ARMアーキテクチャ、およびHitachiSuperHプロセッサがサポートされています。

WinCEの主な競合相手は VxWorks、eCos、OSE、QNX、LynxOS、Symbian OS、OS-9 、およびさまざまなLinuxフレーバー(たとえば、 uClinux )私、最大のvіdomy、 Palm OS 。 別棟の建設業者も電力システムを準備しています。

Windows CEは、最小限のメモリを必要とするアドオン用に最適化されています。WindowsCEカーネルは、32KBのメモリで実行できます。 Windows CEロボット用のグラフィカルインターフェイス(GWES)では、5MBが必要になります。 多くの場合、添付ファイルはディスクメモリを浪費せず、短い添付ファイルで拡張する可能性なしに「閉じた」添付ファイルとして設計できます(たとえば、OSをROMに「ハードワイヤード」することができます)。 Windows CEは、オペレーティングシステムのリアルタイムクロックを認識しています。

Windows CEに基づいて、ハンドヘルドPC、Pocket PC、Pocket PC 2002、Pocket PC 2003、Pocket PC 2003 SE、Smartphone 2002、Smartphone 2003、Windows Mobile、および匿名の産業用Addを含む匿名プラットフォームが設​​立されました。 -およびその他のシステム。 SegaDreamcastプレフィックスはWindowsCEをサポートしていました。 Windows CE自体はポストパックされたポストにありますが、CDからコンソールで実行できます。 Deyakііgrivikoristalitsyumozhlivіst。

多くの場合、Windows CE、Windows Mobile、PocketPCのバイコリストは相互に互換性があると呼ばれます。 よくわかりません。 Windows CE 3.0は、多くのクラスアタッチメントの基盤として、モジュラーオペレーティングシステムです。 小売業者がいるかどうかに関係なく、プラットフォームを使用できるようにするすべてのコンポーネントとプログラムを置き換えることができるツール(Platform Builder)を購入できます。 その場合、Word Mobile / Pocket Wordなどのプログラムは、このツールの一部ではありません。

Windows Mobileは、WindowsCEをベースにしたプラットフォームに最適なショーケースです。 現時点では、このセットには、Pocket PC、SmartPhone、PortableMediaCenterなどのプラットフォームが含まれています。 スキンプラットフォームには、独自のWindows CEコンポーネントのセットに加えて、関連する機能とアドオンの独自のセットがあります。

WindowsCE。–これはWindowsCEバージョン4.2のコードネームです。

Windows Embedded CE 6.0(コードネームYamazaki)は、Windows Embeddedオペレーティングシステムの6番目のバージョンであり、コントローラーとアドオン電子機器を製造する企業を対象としています。 Windows Embedded CE 6.0では、カーネルが完全にオーバーホールされ、以前のバージョンの32から32,000を超えるプロセスがサポートされるようになりました。 32MBから2GBに、プロセスで見られる仮想アドレス空間が追加されました。

Windows Embedded CE 6.0は、2006年秋にリリースされました。
Windows CE 6.0 R2は、2007年秋にリリースされました。
Windows Embedded CE 6.0は、Windows Mobile 7(コードネーム「Photon」)の基盤でもあります。

QNX-商用POSIX-summ_snaリアルタイムオペレーティングシステム。構築が必要なシステムにとって重要であると認識されています。 小核オペレーティングシステムの概念の最良の実装の1つを検討してください。

ヤク 小核オペレーティングシステム、QNXは、サービスと呼ばれる小さな工場など、そのコンポーネントの主要部分を機能させるという考えに基づいています。 運用システムのヤクコアにある、従来のモノリス核のビデオを使用しました。1つは優れた投影であり、大部分の大部分であり、レザーレットです。 QNXマイクロカーネルサブキーを使用すると、コア(小売業者)はコアを変更せずに不要な機能をオンにすることができます。 ナトミスト、あなたは単に歌のプロセスを開始することはできません。

システムは小さいので、最小構成を1枚のフロッピーディスクに配置できます。同時に、スウェードと適切なランクの「終了」がある場合でも重要です(実際には許しを報復しないため)。

QNX Neutrino、2001年にリリースされ、さまざまなプラットフォームに移植され、同時に、システム市場で勝つ最新のプロセッサで実践して、開発することが現実的です。 これらのプラットフォームには家族がいます x86、MIPS、PowerPC、およびSH-4、ARM、StrongARM、xScaleなどの特殊なプロセッサフ​​ァミリ。

非営利のwikiのバージョンは、小売業者のWebサイトからダウンロードできます。

Lynx OS--Unixライクなリアルタイムオペレーティングシステム。POSIX標準と組み合わせる必要のあるシステム用に分解され、残りの時間はGNU/Linuxオペレーティングシステムと組み合わせる必要があります。 LynxOSは、航空、産業プロセス管理システム、および電気通信室で最も重要な役割を果たします。

ChorusOS-リアルタイムの小核オペレーティングシステム。解決する必要のあるシステムごとに分類されています。 1997年、SunMicrosystemsはChorusOSを製造した会社であるChorusシステムを買収しました。 2002年の終わりに、Chorus Systemsの創設者は、VirtualLogixという新しい会社を組織し、代用LinuxとChorusOSを開発するためのシステムの開発を開始しました。

-Accelerated Systemsによって作成されたリアルタイムオペレーティングシステム。さまざまなプロセッサプラットフォーム向けに、メンターグラフィックス社のシステムのアップデートが期待されています。 Nabulaは、テレビデコーダー、携帯電話、およびその他のポータブルおよび腸の別棟で拡大しました。 ニュークリアスは、民間航空で認められたGPSモジュールにGarminInternationalから授与されます。

OS-9-豊富なタスクを備えたrozrakhovanは、豊富なkoristuvachіvリアルタイムオペレーティングシステム、rozroblen MicrowareSystemsCorporationに搭載されています。
インタラクティブで新進のシステムに勝つ。 現在、OS-9は、米国オレゴン州の小売業者であるRadiSysCorporationが所有しています。

VxWorks-Wind River Systems(USA)によって開発されたリアルタイムオペレーティングシステム(RTOS)。
他のほとんどのRTOSと同様に、VxWorksには、スマートスケジューリングシステムとクイックリスタートガイドを備えたマルチタスクコア、プロセス間の相互作用と同期のサポート、ファイルシステムとネットワークサブシステム(TCP / IPプロトコルスタック)が含まれています。 。 このパッケージには、クロスコンパイル、パフォーマンスモニタリング(WindView)、リモート文字拡張、およびさまざまなプロセッサのエミュレーションのためのツールが含まれています。 さらに、プロトコル、グラフィックサブシステムなどのさまざまなスタックが多数提供されています。 ウインドリバーシステムズ自体からだけでなく、サード企業からも。 VxWorksプラットフォームの非個人的なサポートは、最大のRTOS環境の1つです。

統合されたWindRiverWorkbench開発環境の残りのバージョン(VxWorksバージョン6.xおよび5.xに付属)は、Eclipse環境に基づいています。 ロゼットのフロントプロプライエタリミドルはトルネードと呼ばれていました。

勝利:

  • 火星軌道の火星偵察オービター(VxWorksシステムが競合しています)
  • スピリットプローブとオポチュニティプローブ、および火星偵察オービターは、POWERプラットフォームでVxWorksを使用しています。 このシステムは、DeepImpactなどの他の宇宙ミッションで勝利します。
  • 新しい旅客機と競争することが計画されています ボーイング787.
  • 裕福な企業(たとえば、Nortel、3COM、Alcatelなど)のコミュニケーション。
  • Linksys WRT54G(ver.5,6、...)、NetGear WGR614(ver.5,6,7)
  • アクティブなPostScriptプリンター。
  • シーメンスAG(磁気共鳴画像クリーム)が医学的に所有しています。
  • 残りのBMWiDriveインターフェース

OS2000-リアルタイムオペレーティングシステム(RTOS)は、ロシア科学アカデミーの国立科学技術研究所によって、MIPSおよびIntelマイクロプロセッサのRF防衛省の設計のために開発されました。
Qia RT OSは、リアルタイムモードで使用されるシステム(ソフトウェアとハ​​ードウェアの複合体)のソフトウェア開発として認識されています。
別棟のサポート:

  • イーサネット接続(プロトコルNFS、FTP、Telnet);
  • ストレージアタッチメント-フロッピーとハードディスク(ファイルシステムvfatとtar)

ЄUnixシステムで勝つXWindowSystemのグラフィカルクライアントサーバーサブシステムのサポート。

コンピュータは、何よりもまず、柔軟性のセキュリティとシステム設計の単純さで勝ちます。 PCを表示するときは、プログラムコードをハードドライブではなくROMに保存する必要があります。 チャイム kіntsevykoristuvach新規に拡張しないでください ソフトウェアのセキュリティビルトインの別棟用。 VLSI技術の開発により、フローリングシステムは安価になりました。これは、今日のほとんどの電子機器に見られます。

vbudovanihシステムを適用する

ロボットは、marsohidのように、1.1єvbudovanoyシステムの兆候です。 Stilnikovy電話、PDA、またはポータブルマルチメディアプレーヤー。小型の1.2、またはビルトインの別棟に表示されます。 小さな1.2єvbudovanyシステムに示されている電動歯ブラシを取り付けます。 小さい マイクロコントローラー歯ブラシでは、スウィドキストのメンテナンスをプログラムするのが安全で、表示はバッテリーの充電になります。 高歩留まりの車は、100台近くのマイクロコントローラーに復讐することができます。 典型的な中流階級の家は50近くの別棟に建てられます。 スキンPCの場合、世界には100を超える組み込みのアタッチメントがあります。 Zagalom、vbudovanіpristroїは、マイクロプロセッサの光生産の大部分を確立します。


米。 1.1。

表1.1に見られるように、電化製品は、電子機器や軍事システム、生物医学システム、自動車、通信、コンピューター機器、電子ツール、家電製品、産業機器、ロボット工学、事務機器、知的玩具など、さまざまな工業製品に含まれています。 別棟がどこにあるかを知ることができます。

新進のシステムの設計者は、折り畳み式の設計作業で立ち往生することがよくあります。 Vbudovaniシステムは価値があるかもしれません。 ビルトインの別棟の多くは、ラマティック化することも、再利用することもできません。 ソフトウェアのセキュリティ別棟の富に引っ越すことは不可能です。 多くの別棟には、生産性とエネルギー節約のための単純な構造上の交換があるかもしれません。 Deyakіpristroїはpratsyuvativіdバッテリーtrivaliy時間のために。 さらに、spozhivchіpristroїzazvichayは、新製品とmayyutzhorsttsіnova競争でより迅速に市場に参入します。 豊富な追加では、リアルタイムの交換と多くの別棟があり、記憶の交換と疲労の説明があります。




米。 1.2。表1.1。 vbudovanihシステムを適用する
航空および軍事システム 航空機の自動操縦装置、航空電子工学およびナビゲーションシステム、自動着陸システム、誘導システム、エンジン誘導。
生物医学システム コンピュータ断層撮影および超音波フォローアップシステム、患者モニタリング、ペースメーカー。
エンジン管理、アンチブロッキングガルバニックシステム、アンチスキッドガルバニックシステム、エアバッグメンテナンス、暖房および空調制御、GPSナビゲーション、衛星ラジオ、システム診断。
コミュニケーション 通信衛星、メッシュルーター、スイッチ、濃縮器。
Spozhivchaエレクトロニクス テレビ、オーブン、食器洗い機、DVDプレーヤー、ステレオシステム、セキュリティシステム、芝生の散水制御、サーモスタット、カメラ、ラジオクロック、自動送信、ケーブルTVデコーダー、およびその他の付属品。
コンピューター用アタッチメント キーボード、マウス、プリンター、スキャナー、ディスプレイ、モデム、ハードディスクアタッチメント、DVD、グラフィックカード、USBアタッチメント。
電子楽器 データ取得システム、オシログラフィー、電圧計、信号発生器、 ロジックアナライザ.
所持の約束 エレベータ制御、ウォッチドッグシステム、ロボット、CNC植字、プログラミングロジックコントローラ、産業用自動化システムおよび制御。
オフィスマシン ファックス機、コピー機、電話、計算機、現金自動預け払い機。
個人の別棟 スタイリッシュな電話、ポータブルMP3プレーヤー、ビデオプレーヤー、携帯情報端末(PDA)、電子腕時計、ポータブルビデオゲーム、デジタルカメラ、GPSシステム。
roboti プロミスロヴィロボット、自律輸送サービス、宇宙探査ロボット(ロボットローバーなど)
おもちゃ ビデオシステム、「アイボ」、「ファービー」、「エルモ」などのロボット玩具。

リアルタイムの運用システム

リアルタイムシステム借りている 外部パラメータ小さな1.3に示すように、1時間の新しい観測結果の導入と作成。 時間vіdpovіdіmayєbutiはobmezhenimになります。 vіdpovіdіの些細な時間でさえ、実際の時間のvіdmのシステムによって引き起こされる可能性があります。

実例となるお尻 リアルタイムシステムєカーエアバッグのコントローラー。 エアバッグの回転センサー(加速度計)がギャップを認識した場合、システムは反応する必要があります。エアバッグを10 msの範囲で湾曲させます。そうしないと、システムが正常に動作しません。 10ミリ秒以上のタックからの高速では、枕が開く前に、水はすでにカーモビーホイールで閉じています。


米。 1.3。

リアルタイムのソフトシステムでは、優先順位が非常に重要なタスクになる場合があります。 M'yakaリアルタイムシステムはリアルタイムの交換にチャープします。 バット典型的なソフト リアルタイムシステムєマルチメディアプレーヤー。 プレーヤーは、ビデオフレームまたはオーディオサンプルをスキップすることがあり、プレーヤーが1時間の一部を超えて正しく動作している間は、それを思い出せません。

同じリアルタイムのシステムでは、時間を確認した新しい結果が時間間隔で課金される場合があります。そうしないと、システムが機能しません。 ヤクのお尻zhorstkoy リアルタイムシステムカームによる遠隔硬化のシステムを見てみましょう(コンピューターによって硬化されます)。 航空機の飛行を管理するシステムでは、パイロットがハンドルを動かすと、航空機の飛行管理のカーマがさらに速くシフトするか、秋にスタミナを費やします。 安全性を確保するために、FAAは、コンピューター化されたフライトシミュレーターの応答を常に確認し、リアルタイムで認証します。

オブジェクト指向の移動に必要な仮想メモリとフォールディングメモリの側面を変更する手順により、ハードリアルタイムシステムの問題を解消できます。 Navitkeshuvannyaіnоdієє問題、シャードはプログラムの時間を変更する可能性があります。

多くのvbudovannyhシステムєkіlkom入力と出力を備えたリアルタイムのシステム。 Dekіlkapodіyvіdbuvayutsyaは独立して1つ1つです。 プログラミング sproshchuєtsyapіdpodіluzavdan、aletsevіmagаєvіdtsppostіynysvіykannyamizhiznimizavdannyami。 オペレーティング·システム、マルチタスク、セキュリティのサポートとして ポッドタイム TsPmizhkіlkomzavdannyami。 OSは、同期要素、異なるタスク間の必要な調整も処理し、並行して実行されます。

オペレーティングシステムは、多くの場合、リアルタイムの特性に従って分類されます。 オペレーティング·システムリアルタイムは、リアルタイムプログラムをサポートするように比較的設計できます。 最近、リアルタイムプログラムの95%が0.5から10ミリ秒の範囲の固定時間を持っているようになりました。 イベント時の10%の換気(50マイクロ秒から1ミリ秒への冷却)のみが許容される場合があります。 どうやら、このような多数の不可解な認識の運用システムは、リアルタイムシステムではありません。 これらの基準に従って、Windows XPなどのOSが作成されたため、可能な限り最短の方法でソフトとしてしか見ることができません。 リアルタイムOS。 Windows XPの場合、回復時間を改善するためのサードパーティのポストワーカーツールがいくつかあります。

ウェイクアップシステム用のオペレーティングシステム

より多くの新しい別棟を折りたたむことができます ソフトウェアのセキュリティ、マルチタスク、タスクの同期、さまざまな入出力デバイスのサポート、入出力操作のスケジューリングとバッファリング、メモリ管理、グラフィックディスプレイのサポート、ファイルシステム、ストレージ、セキュリティ、ライブの管理に必要です。 オペレーティング·システムあなたはプログラムの小売業者を助けるためにすべての可能性を与えることができます。 適用されたプログラムは生産的であり、悪臭の破片は最高レベルの抽象化で機能し、バイコリストはオペレーティングシステムに依存するのを助けます。

最近、500万行のコードを置き換えるスタイルの電話のモデルがリリースされました。 プロジェクトの結果として、すべてのコードを独立して開発するために必要な資金を持っている人はほとんどいません。 同時に、メインのオペレーティングシステムに勝つための経済的な感覚があります。 拡張の短時間と合計時間の減少により、オペレーティングシステムのライセンスの差異が検証されます。

一般的な商用オペレーティングシステムのライセンス更新には、添付ファイルの費用が数ドル未満で済みます。 Deyakіのより単純な追加はOSなしで実行できますが、新しい追加は折りたたみ可能になります。

zv'yazku z tsimでは、より多くのvbudovanih別棟vikoristovuyutvbudovanuオペレーティングシステム。 オペレーティングシステムは、C / C ++でネイティブに聞こえるように構築されており、C / C ++コンパイラ、アセンブラ、およびデバッグツールとともに提供され、小売業者がアプリケーションプログラムを開発してアプリケーションをテストするのに役立ちます。 rozrorobka vbudovanihシステム用のツールに障害があり、ROMやフラッシュメモリなどの独立したメモリに保存されているヘルプコード用のpіdtrimuvatvykonannyaプログラムもあります。

©2022androidas.ru-Androidのすべて