使っていくうちにいろいろ問題点が見えてきたので、書いておきます。
1. 古いバージョンでパッケージがインストールできない
Pythonの制約でEl CapitanにはVer 4のPlatformIOが入っているのですが、パッケージのサイトが変更されていて、パッケージのインストールができません。一度ビルドしていればパッケージが入っているので大丈夫ですが、新規のアーキテクチャの開発ができません。
2. frameworkなどがバージョンアップされて再現性がなくなる
開発していたソースをgithubとかにあげて、別の環境でもビルドする場合、フレームワークはその時点で最新がダウンロードされて、ビルドされるので、元とは違うものがビルドされる可能性があります。toolchainも同じことが起こりえます。platformio.iniにバージョンを指定する方法もありますが、デフォルトでは指定されてません。
3. Bearmetalでの開発ができない
toolchainだけを使ってframeworkを使わない開発ができません。フレームワークが巨大化して、小さいflashのターゲットに入らなくなることもあり、bearmetalでの開発ができるといいです。
4. pic32のターゲットが大きなリソースのチップしかない
pic32の開発環境はPenguinoというものがあって、これは秋月で取り扱いのあるPIC32MX220F032などもサーポートしていたのですが、現在のPlatformIOは128K以上のターゲットしかありません。
5. ツールのバージョンがへん
pic32progはオリジナルが2.0.xなのにPlatformIOのパッケージには2.1.xが入ってます。どこから出てきたものでしょうか?
6. upgradeすると動かなくなる環境にもメッセージが表示される。
El Capitanの4を使ってると不定期に下記のメッセージが表示されますがupgradeすると動かなくなります。
********************************************************************************
There is a new version 6.1.4 of PlatformIO available.
Please upgrade it via `platformio upgrade` or `pip install -U platformio` command.
Changes: https://docs.platformio.org/en/latest/history.html
********************************************************************************
7. Pythonをupdateすると消える
Pythonを3.8から3.9に変えたら無くなりました。3.8のディレクトリにインストールされてるからなんですが、どうするのがいいのでしょうか?
8. pic32mxがmicrochipの環境と互換がない
xc32にはplib.hというファイルがあるが、これがない。これはChipKitの問題なのだが、このリポジトリを見るとどうも当初はChipKitはmicrochipのGPLソースからヘッダーやライブラリを作っていたようなのだが、Arduinoに寄せるためこれをやめてしまったように思われる。このためXC32で作ったものの移行が困難。
現状のプロジェクトの方針だと、ホビーユースでは問題ないでしょうが、業務で組み込み開発での利用はかなり厳しい気がします。