gombeのブログ

マイコンの電子工作系PIC32/KiCad/C/C++/3D/

IoTに適したMMUに対応したOS、LiteBSD

IoTが広まってきている中、esp32やraspberry piなど様々なプラットフォームでIoTが加速しています。今回はその第3の選択としてLiteBSDを紹介します。

まずは比較から。

f:id:electgombe:20180719172914j:image

LiteBSDはUnix系のOSで、4.4BSDとモダンなシステムです。RaspberryPiではLinuxが載っており、IoTシステムの先駆けとなり、esp32は小型なwifiとして組み込まれることも多くなりました。LiteBSDではPIC32MZのチップ+SDカードの構成で動作します。省スペースに機能を集約でき、周辺機器が豊富なPICを搭載することで低コストにIoTデバイスを作ることが可能になります。OSは迅速なソフトウェア開発を強力に支援します。

f:id:electgombe:20180718075511j:image

OSが載っていることは非常に重要です。ソフトウェアを開発する上で、重要なツールセットが一つになっているだけでなく、マルチプロセス内でメモリ保護機能が強力に働くからです。MMUユニットはメモリのアクセスを制限します。アクセス違反を検出することができます。メモリ空間を効率良く利用できます。

f:id:electgombe:20180718173131j:image

ここでPIC32MZシリーズである理由について少し述べましょう。PIC32MZにはマイコンならではの豊富なペリフェラルと強力なMMUがついている珍しいマイコンであることが理由です。※最近は秋月電子でも144/100/64ピンのパッケージが出ましたね。SPI/UART以外にもADCも入っていて、汎用IOも多くあります。これが組み込む上で、接続を容易にします。

つまりRaspberry PI、ESP32などではIOの制限が厳しい一方でPIC32MZシリーズではそのような制約がゆるいということです。

これからも様々なデバイスがIoTに結びつくようになると考えられます。適材適所でデバイスを選定することが大事だと考えます。

※ esp32にもついてますが、簡易的で全ての空間をサポートしきれません。ましてやアプリケーションを動かせません。PIC32MZには完全なMMUユニットがついてるのです!