に、「Free 沼」(私の造語)の事を書きました。
●買って来ればFreeでキッチリ動く環境が手に入る「型にはまった開発」であれば、苦労は無いと思いますが、そこから少しでも外れたら。。。
●「型から外れた」瞬間の技術的ギャップは相当に大きくなっており、そのギャップに対応するエンジニアスキルは相当磨かれたものが必要。。。
まさか、こんな記事を書いた自分がその「Free沼」にハマるとは。。。こんなにも早く。。。
さて、FreeRTOSという組込環境がAmazonからリリースされていますので使われている方も多いのではと思います。
出典:https://aws.amazon.com/jp/freertos/
CenteもメインターゲットにしているITRON系のリアルタイムOSであり、セマフォやタスクなど、ITRONを知っているエンジニアには使い慣れた環境かと思います。
そして、世の中を見渡すと広報として「FreeRTOS対応」を謳っているプロセッサや評価基板などが多く出回っています。私たちもそのいくつかを入手して動作させていますが、、、最近私とエンジニアの間でこんな会話がありました。
私:「前に買ったFreeRTOSが乗った評価基板を最新の状態にしてAmazonAWSサーバーに繋がるようにして!」
エ:「色々大変なんです。新しい基板が出ているので買っても良いですか?」
私:「え?FreeRTOS対応な基板を買ったはずだからAmazonから最新コードを引っ張ってきてVerUpすればよいのでは?」
エ:「いや、それが。。。」
エンジニア曰く、
・「前に買った基板」のサンプルコードは、購入当時のFreeRTOSのバージョンがインストールされているがその後メンテナンスされていない
→最新のものをどのように移植したら良いかを調べるところから始めないといけない。どの程度の工数なのか読めない
・そもそもネットワークプロトコルスタックlwIP(*1)やブートローダーMCUBoot(*2)など、いろいろな箇所にFreeRTOS以外のフリーソースが使われており、これらも最新にする必要があるか不明
→ついでにネットワークプロトコルスタックはFreeRTOSが公開しているFreeRTOS-Plus-TCP(*3)があるはずなのに、なぜ使われていないのか、lwIPから載せ替えたほうがいいのか
とか、いろいろと大変な事になる、、、という話なのです。
*1 lwIP 組込機器向けに設計されたオープンソースの小型TCP/IPプロトコルスタック
https://savannah.nongnu.org/projects/lwip/
*2 MCUBoot 32bitマイクロプロセッサ向けのセキュアブートローダ(オープンソース)
https://docs.mcuboot.com/
*3 FreeRTOS-Plus-TCP FreeRTOS標準のTCP/IPプロトコルスタック
https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/index.html
え?要約すると「買ってきたまま使うには良いけど、最新にしたり、環境を変更したりするのは大変で、新しく基板ごと購入した方が安いし楽だし安心だ」という主張の様です。
え、え、え、これ、「Free沼」そのものでは?
私たち「自分たちが世に出した製品はしっかりサポートすること」を大事に思っている者としては、「前に買った評価基板・ソフト環境」のサポートってどうなっているのよ! (確かに安かったけど、タダより安いものは無い!って事???)っと思ってしまうわけです。
結局、新しい基板(B-U585i-IOT02A)を買ってしまいましたが、、、転んでもタダでは起きんぞ!っということで深掘りします。。
出典:https://www.st.com/ja/evaluation-tools/b-u585i-iot02a.html
どうして、このFree環境では基板の買い替えまで発展してしまったんだろうか?
これからハードウェアやソフトウェアの評価を開始するときには、どんな視点が必要なんだろうか?
そんな視点で「ミドルウェア屋」の立場から書いてみたいと思います。
本記事ではここまで。続きを読んでみたいな、、、という方は、いいね!やコメントなどで反応をお願いします。調査考察して(ミドルウエアベンダーという色眼鏡をなるべく少なくして)事実をご報告していきます。
Cente:
https://www.cente.jp/
お問合せはこちら:
https://www.cente.jp/otoiawase/