Intel Edison のおもしろいところ
ただのちっちゃい Linux だと思っていたけど、RTOS が入っているコプロセッサも持っていて、ホストCPUとシームレスに連携できるということがわかった。
アーキテクチャを見ると思いのほか面白かった。
https://software.intel.com/en-us/creating-applications-with-mcu-sdk-for-intel-edison-board
ホストCPU上のLinuxからは、GPIOが sysfs 経由 (または Intel の提供するSDKなど) から見える。それと同時にコプロセッサの MCU からは直接 GPIO が見える。
ホストCPUのLinuxはリアルタイムではないので、最低でも10ms程度(カーネルの割込み頻度の設定による)、処理が遅延する。GPIO を正確にコントロールする場合この遅延は大きすぎる。
一方コプロセッサのMCUはリアルタイムになっており、クロック100MHzなので、最速では 20ns ぐらいの単位でコントロールできる。
Edison はこれらをうまく協調して動かせるように設計されているみたい。MCU 側へファームウェアを書きこんで /dev/ttymcu* で連携したりとか、ホストCPUをスリープさせてMCUだけで動かしつつホストCPUをいい感じのタイミングで起こせるとか。
おもしろい!!
Intel ボードコンピューター Intel Edison Kit for Breakout Board(MM#939977) EDI2BB.AL.K cho45
なお未だ買ってない。
関連エントリー
- 続・割込みと WFI 命令を使った sleep の実装 [tech] 割込みと WFI 命令を使った sleep の実装 | Wed, Feb 26. 2014 - 氾濫原 で WFI 命令がある...
- Machinekit (Linux CNC) のアーキテクチャと、BeagleBone Black での動作 背景 現在は CNC のコントローラとして Grbl + 自作のインターフェイスを使っています。Grbl の G-code インタプリタは必...
- Android SDK の各プラットフォームのビルドツールの一部を使いたいとき sdkmanager をダウンロードする Android Studio のダウンロードページから「コマンドラインツールのみ」を選んでダウンロ...
- Raspberry Pi / BeagleBoard Black / Intel Galileo / Arduino の違いのメモ いろいろでてきてる。 Raspberry Pi Type A と Type B があり、Type A はイーサネットポートと組込みUSBハブ...
- mackerel-agent + snmpで RTX1200 のメトリクス取得 検索すると Lua スクリプトを RTX にいれる方法もあるみたいだが、別途プロキシが必要みたいなので LAN 内の raspberrypi...
