特集:IoTがもたらす製造業の革新〜進化する製品、サービス、工場のかたち〜
連載
» 2016年10月31日 08時00分 公開

ベンダーに染まらない「PlatformIO」IoT観測所(26)(2/3 ページ)

[大原雄介,MONOist]

PlatformIOが提供する「Platform/Board」

 Platform/Board:現時点でサポートされているプラットフォームは、まず組み込み向けでは、

Atmel 8bit AVR/Atmel SAM/Espressif 8266/Freescale(NXP) Kinetis/Intel ARC32(Curie)/Lattice iCE40/Microchip PIC32/Nordic nRF51/NXP LPC/Silicon Labs EFM32/STMicroelectronics STM32/Teensy/TI MSP430/TI TIVA

の14種類が、Desktop向けとしては、

Linux ARM/Linux i686(32bit x86)/Linux x86_64(x64)/Native/Windows x86

の5種類がサポートされている。ちなみにNativeというのは、直接Desktop OSで動かすためのツールチェイン(SCons:http://www.scons.org/)のみが提供されている形であるが、SCons自身が幅広いOSで動作するので移植は比較的容易と思われる。Windows x86はMinGWを動かして、この上でPlatformIOを動作させる形になっている。

 この中で面白いのは、LatticeのiCE40をサポートしているあたりだろうか。iCE40はLatticeのローエンドFPGAで、LUTのサイズは最小384個なので、この上でCPU(8bitのLatticeMico8、あるいは32bitのLatticeMico32)を動かすというのは現実的ではなく、従ってプログラミングは必然的にVerilog HDLになるので、C/C++のソースをそのままというわけには行かないのだが、LatticeのiCEcube2を使わずにプログラミングできる環境がPlatformIOで提供されているというのはあまり他では見掛けない。

 ちなみに8bit AVRはArduino向け、Intel ARC32はArduino 101/Genuino 101向けという扱いである。AtmelのSAMは同じくArduino、FreescaleのKinetisやNXPのLPC、NordicのnRF51、Silicon LabsのEFM32、STMicroelectronicsのSTM32などはいずれもmbedボードである。このあたりはメジャープレーヤーであるが、EspressifのESP8266(製品説明サイト)はTensilicaのL106をプロセッサに利用したものだし、Teensy(製品説明サイト)はAVRもしくはARM Cortex-M0+/M4をベースにしたUSBドングルタイプの開発ボードであるが、これをサポートするメーカー純正以外の環境はちょっと珍しい。MicrochipのPIC32はArduino互換ボードが提供されており、なので扱いはArduinoと同じである。TIのMSP430は、メジャーではあるがこれもあまり純正以外でサポートされている開発環境は見掛けない。もっとレアなのがTIのTIVAで、搭載しているのはCortex-M4だが、mbed互換ではないので、やはり純正以外開発環境以外でサポートされているのはレアである。こうした、ちょっと一般的でない製品もサポートされているのがPlatformIOのメリットともいえる。

 ちなみに、サポートしているBoardの種類そのものは、やはり執筆時点で323種類にも及んでいる(参考サイト)。いちいち列挙はしないが、PlatformでサポートされているMCUを搭載している、普通に入手できそうな開発ボードは大体網羅されている感じだ。

 あとPlatform/Boardとは別に、Frameworkと呼ばれる分類もある。こちらは開発ボードと接続してFirmwareをアップデートしたり、実行したりする際の手法別に、

Arduino/CMSIS/WiringPi/libOpenCM3/Energia/SPL/Simba/mbed

の7種類がサポートされている。

Copyright © ITmedia, Inc. All Rights Reserved.