SPRESENSEとArduino IDEで簡単マルチコアプログラミング!

投稿者:

こんにちは、須藤です。今日は「SPRESENSETMのメーカーであるソニーセミコンダクタソリューションズの太田さんから寄稿いただいた記事を公開します!「SPRESENSETM」は、Arduino IDEでマルチコアプログラミングが簡単にできちゃうユニークなボードだってご存知でしたか?その方法や利点について書いてくださっています。


こんにちは、ソニーセミコンダクタソリューションズの太田です。弊社のボードコンピュータ「SPRESENSETM」をご存知でしょうか?マイコンに匹敵する低消費電力性能を持ちながら、6つのCPUを内蔵したソニー製プロセッサを搭載したハイパフォーマンスボードです。

SPRESENSE Arduino スタートガイド
https://developer.sony.com/develop/spresense/docs/arduino_set_up_ja.html

SPRESENSEは、Arduino IDEでマルチコアプログラミングができるユニークなボードでもあります。数あるマイコンボードの中でもArduino IDEでマルチコアを体験できるものはほとんどありません。内蔵している6つのCortex-M4Fのパフォーマンスを最大限に引き出せます。

使い方はいたって簡単。メインコア用のArduino IDEと、サブコア用のArduino IDEを立ち上げ、それぞれのコア用のスケッチを書き込むだけ。書き込むときに、「ツール」メニューの中からコアを選択してください。

Arduino IDEウィンドウ1 「MainCore」を選択

Arduino IDEウィンドウ2 「SubCore1」を選択

コア間通信や共有メモリが扱えるArduino用MPライブラリも用意されているので、コア同士で協調動作をさせることも簡単にできます。

Arduinoマルチコア環境
https://developer.sony.com/develop/spresense/docs/arduino_tutorials_ja.html#_tutorial_multicore

例えば、サブコアでセンサー値を収集し、メインコアで定期処理を回す制御システムを構成するのもよいでしょう。センサー値の収集や定期処理でジッターが発生しないので、安定した制御が実現できます。

低消費電力とマルチコアでフレキシブルなシステムが構成できるSPRESENSEは、電力が限られ、放熱が困難で、様々な計算を必要とする衛星システムにも適しています。加えて、SPRESENSEのシリコン構造FD-SOIは放射線にも有利。これらの技術的背景から、今年、SpresenseをJAXAの革新的衛星技術実証2号機に搭載し宇宙で様々な実験を行う予定です。

宇宙のような究極の環境でも動作するロバスト性と先進的な低消費電力マルチコアプロセッサーを搭載したソニーのSPRESENSE。あなたも体験してみませんか?

「SPRESENSE」は、ソニーセミコンダクタソリューションズ(株)の商標です。