狠狠撸
Submit Search
NiosII と RTOS について
?
1 like
?
2,874 views
ryos36
Follow
NiosII と RTOS についてまとめてみました。
Read less
Read more
1 of 24
Download now
Download to read offline
More Related Content
NiosII と RTOS について
1.
NiosII と RTOS
について (有)シンビー
2.
OS?比較 RTOS API ライセンス
提供元 Linux × pthread GPL N/A ucLinux × pthread GPL N/A RT‐Linux ○ pthread GPL N/A TOPPERS ○ 独自 TOPPERS N/A μC3 ○ iTRON 商用 イーフォース NORTi ○ iTRON 商用 ミスポ T‐Kernel ○ T‐Engine 商用 eSOL eCos?PRO ○ pthread LGPL eCos FreeRTOS ○ 独自 例外条項付きGPL FreeRTOS MicroC/OS‐II ○ 独自 商用 Micrium QNX ○ 独自 商用 QNX NiosII の標準。すぐに使えるようにテンプレートが用意されている
3.
RTOS の理解 ? RTOS
ではタスクを有効に使う – RTOS のタスクはプライオリティを持っている ? タスクはコンテキストを保持することが可能 – CPU?を仮想化する技術 – CPU?の使用率を上げることができる – 割り込みはコンテキストを保持できない ? 割り込み処理では wait?することができない ? タスクの優先順位と割り込みを理解 →?RTOS の理解
4.
RTOSのタスクの役割 高 IDLE 低 優先順位を 管理 休眠中 タスク プライオリティをもって優先順位の管理を行う
5.
ハードリアルタイム ? システムに課せられたある処理がデッドライ ン内に終了しなかった時(デッドラインミス)、 システム全体にとって致命的ダメージが生じ る ? デッドライン内での終了が保証されなければ ならないシステム。 Wikipedia?より抜粋
6.
ハードリアルタイム ? ロケットの制御 ? レポート提出期限
12/26?17:00? – 提出しなかったものは落第 デッドラインを過 ぎると価値が0
7.
ソフトリアルタイム ? デッドラインミスが起こっても、システム全体 に致命的なダメージを与えることはなく、その 処理自体の価値も、終了時間などにより徐々 に落ちていく Wikipedia?より抜粋
8.
ソフトリアルタイム ? 動画の再生 ? レポート提出期限
12/26?17:00? – 1分遅れるごとに1点減点 デッドラインを過 ぎると徐々に 価値が下がる
9.
ポーリング処理 while(true){ wait(100); polling(); 処理() } MEMS Data 処理 Polling 処理 Polling
10.
ポーリング処理(N?G例) while(true){ wait(100); polling(); 処理() } MEMS Data 処理 Polling 処理 Polling コンフリクト 取りこぼし
11.
while?(true)?{ } 割り込みを使えばいいか? 処理() MEMS Data 処理 処理 割り込み発生後に 即座に他の処理をす ることは難しい 別の処理 別の処理 割り込み 高 低 割り込み
12.
割り込みの延長は? MEMS Data 他の割り込みの管理 が難しくなる 別の処理 別の処理 割り込み + 処理 割り込み + 処理
13.
タスクでコンテキストを保持/切り替え 高 IDLE 低 優先順位を 管理 作業中 タスク(1つだけ) 作業を中断している 作業を中断している
14.
割り込みとRTOSで制御 MEMS Data タスク1 タスクスイッチ タスク2 割り込み OS TCP/IP タスク1 タスク2 割り込み OS 割り込み TCP/IP ACK等
15.
多くのRTOSの設計 TCP/IP 高 APP IDLE 低 ネットワークのタスク 高い優先度 ユーザアプリケーションの 優先度
16.
RTOS アプリケーション設計上の注意 ? プライオリティの設定 –
RTOS の中には TCP/IP?より高いプライオリティは 設定できないものもある ? タスク設計 – タスク切り替えを考えると複数タスクに分割しな いほうがよいケースもある ? 割り込みの管理 ? 処理時間の見積もり
17.
RTOS でも解決しない事 処理1 処理2
规定时间
18.
各方式比較 アプリ実装 事象への反応 必要RAM
TCP/IP?との相 性 ポーリング 易しい △ BRAM/外部RAM ○ 作り方によっては有力 な候補になる 割り込み 難しい ◎ BRAM/外部RAM ○ 簡単なシステムでは 採用 割り込み+優先順位 易しい △ BRAM/外部RAM ○ ポーリングと同じ 多重割り込み すごく難しい ◎ BRAM/外部RAM ○ 難しすぎるので通常 は採用しない RTOS 難しい ○ 外部RAM △ リアルタイムの性能を 考慮しやすい。
19.
NiosIIのメモリ構成例(1) 0x0000?0000 8KBRAM 0x2000?0000 各種レジスタ 簡単なプログラムを置け る。FPGA の資源を使うた め通常は 8K?や
16K?程 度。 RTOS やTCP/IP?のスタック を置くことは難しいことが 多い。
20.
NiosIIのメモリ構成例(2) 0x0000?0000 8KBRAM 0x2000?0000 各種レジスタ SOFの後にプログラムを 置くことができる。BRAM? 等に展開する(Qsys が自 動的に作る) EPCS
21.
NiosIIのメモリ構成例(3) 0x0000?0000 512KFlash?ROM 0x2000?0000 各種レジスタ プログラムを置くことがで きる。不揮発性。アクセ スは高速ではない 1M SRAM/SDRAM 0x1000?0000 プログラムやデータを置 くことができる。揮発性の ため電源を切ったら情報 はなくなる。
22.
NiosII で uC/OS?II?を使う方法 ?
Qsys によるシステムの構築 ? Eclipse?のテンプレート
23.
Qsys によるシステムの構築(例) RTOS の為に
Timer?を追加。 RTOS の為にSDRAMを追加。
24.
Eclipse?のテンプレート RTOS の雛形が標準でついている
Download