RenesasのRA製品シリーズを使用してオープンソースソフトウェアを開始
DigiKeyの北米担当編集者の提供
2020-09-10
開発チームは、開発コスト、増加するシステムの複雑さ、開発サイクルの短縮、およびソフトウェアロックインなど、複数の課題に直面しています。より少ないリソースでより多くを行うというこの圧力は、組み込み業界全体にわたる共通テーマになりつつあります。最初から設計を開始する時間はもはやありません。オープンソースソフトウェアは非常に役立つ可能性がありますが、統合、バグ、およびプロジェクトタイムラインの観点からはリスクもあります。しかし、それも変化しつつあります。
これらの課題を解決するためにチームが活用できる独自のソリューションは、新しいオープンソースソフトウェアプラットフォームを使用することです。これらのプラットフォームはリスクを排除するためにしばしば統合およびテストされており、それらが基盤とするマイクロコントローラファミリで動作するように設計されています。
この記事では、オープンソースソフトウェアの概念を紹介し、プラットフォームがどのようにリスクを軽減するかを説明します。次に、RAシリーズのマイクロコントローラ上でRenesasのフレキシブルソフトウェアパッケージ(FSP)を使用して、オープンソースプラットフォームを開始する方法を示します。
オープンソースソフトウェアの長所と短所
オープンソースソフトウェアは、ソフトウェアライセンスモデルによって設定された制限内で、誰でも検査、変更、および強化1できるソースコードを備えたソフトウェアです。オープンソースソフトウェアは再利用を奨励し、ゼロかそれに近いコストで既存のソフトウェアモジュールへのアクセスを提供するため、開発チームにとって重要な資産になっています。たとえば、RTOSを最初から記述するには多くの時間と予算がかかり、それを数年間維持するにはさらに多くの時間とリソースの投資が必要です。その代わりに、開発者はいくつかのオープンソースRTOSを活用できます。これにより、開発者は基盤となるOSを維持するために時間を費やすのではなく、差別化のためのアプリケーションコードに集中できます。
スケジュールと予算が絶えず圧縮される開発サイクルにおいて、オープンソースソフトウェアは、チームが既存のリソースを活用してアプリケーションコードに集中できるようにするメカニズムを提供します。オープンソースソフトウェアには、時間と費用の節約以外にもいくつかの利点があります。これらの利点にはコード対コンパイル済みバイナリへの透明性が含まれ、多くの場合、同じ考えを持つ開発者のグローバルコミュニティへのアクセスがあります。
それでも、オープンソースソフトウェアに関連するリスクもあるため、開発者がオープンソースソフトウェアを使用するかどうかの決定要素に入れる必要のある重要な考慮事項があります。
第一に、すべてのオープンソースソフトウェアがグローバルでサポートされているわけではありません。誰かが地下室やガレージで楽しむために構築したソフトウェアは数多くあります。彼らはコードを短期間サポートした後に、より興味深い別のプロジェクトへ移行し、ユーザーを放置してしまう可能性があります。
第二に、オープンソースソフトウェアには、さまざまなライセンスモデルの1つが付属する可能性があります。一部のライセンスでは、ソフトウェアを商業的またはいかなる目的でも使用できます。他のライセンスでは、関連コードや変更点をコミュニティとオープンに共有することが期待されます。これは一見とても公平に思えますが、責任リスクが生じる可能性もあります。また、企業がソースコードを公表するよう求められる場合があります。
最後に、オープンソースソフトウェアに関しては、品質が良い時もあれば悪い時もあります。多くの場合、開発者は何を構築したいかについて特定のアイデアを持ち、機能的なものを構築しています。機能性とは、それ自体が堅牢で、バグがない、あるいは他のソフトウェアパッケージやコードベースに簡単に統合できるという意味ではありません。オープンソースソフトウェアを使用する場合、品質が主な障害となる可能性があるため、ユーザーは注意する必要があります。
RenesasのFSPを使用してオープンソースのリスクを回避
オープンソースの利点を最大化しつつ、リスクを最小化するために、開発者は評価の高いプロバイダによってすでに統合、テスト、およびサポートされたソフトウェアを活用できます。これが、RenesasのRAシリーズFSPの目的です。
RenesasのRAシリーズは、ハードウェアを越えてプラットフォームがFSPの形態でオープンソースソフトウェアを提供する点で興味深いものです(図1)。FSPは、マイクロコントローラを動作させるのに必要なソフトウェアをすべて提供します。これには、ボードサポートパッケージ(BSP)、ハードウェア抽象化レイヤ(HAL)、および複数のミドルウェアスタックが含まれます。FSPには、開発者の間で人気のオープンソースRTOSであるFreeRTOSも含まれます。このソフトウェアも統合およびテストされているため、開発者はアプリケーションコードの記述をすぐに開始して、低レベルハードウェアについて心配するのに費やす時間を最小限に抑えることができます。
図1:FSPは、すぐに動作して容易に構成可能な統合ソフトウェアスタックを提供します。(画像提供:Renesas)
FSPは、RenesasのRAシリーズ マイクロコントローラでしか動作しないように設計されています。プラットフォームで開始することは簡単ですが、開発者は最初に開発ボードを選択する必要があります。
RenesasのRAシリーズ開発ボードを選択
RenesasのRAシリーズは、4つの主要なプロセッサファミリのグループ(RA2、RA4、RA6、およびRA8シリーズ)に分割されます。各プロセッサファミリはわずかに異なる性能グループに合わせて調整され、Arm® Cortex®-M23、Cortex-M33、またはCortex-M4プロセッサのいずれかを提供します(図2)。利用可能なフラッシュおよび機能の数はRA2からRA8シリーズまで徐々に増えていき、それに応じて消費電力も上昇します。
図2:RenesasのRAシリーズ マイクロコントローラは、異なるArm Cortex-Mプロセッサコアによってさまざまな性能範囲を提供する4つの一般ファミリに分割されます。(画像提供:Renesas)
どの開発ボードを使用するかを決める際は、最初にエンドアプリケーションを特定することが役立ちます。たとえば、ヘルスケア、オフィス、または測定機器における低電力制御またはインターフェースアプリケーションには、RTK7EKA2A1S00001BU(EK-RA2A1)がぴったりです(図3)。これには、256Kバイトのフラッシュと32KバイトのRAMによってサポートされた低電力RA2A1 48MHz Arm Cortex-M23プロセッサが搭載されています。開発ボードは少数の拡張コネクタを除いてほとんど最低限で構成され、外部センサまたはアクチュエータのインターフェース接続に最適です。これには、オンボードデバッガ、押ボタン、ポテンショメータ、および静電容量式タッチボタンが含まれます。
図3:EK-RA2A1には幅広い拡張コネクタが含まれ、制御アプリケーションおよび外部センサのインターフェース接続に最適です。(画像提供:Renesas)
IoT、産業用、家電製品、またはメータ製品などのより高度なアプリケーション向けに、開発者はやや高性能のEK-RA4M1(RTK7EKA4M1S00001BU)開発ボードを検討できます。EK-RA4M1は、やはり48MHzで動作し、256Kバイトのフラッシュと32KバイトのRAMによってサポートされるRA4M1 Arm Cortex-M4プロセッサを搭載しています。このボードも、低電力アプリケーション向けに設計されています。
さらに高性能、LCD、インターネット接続、高度なセキュリティ、および他のハイエンド機能を必要とするアプリケーション向けに、開発者はRTK7EKA6M2S00001BU(EK-A6M2)またはRTK7EKA6M3S00001BU(EK-A6M3)開発ボードを検討できます。EK-A6M2は、120MHzで動作し、最大1024Kバイトのフラッシュと384KバイトのRAMによってサポートされるRA6M2 Arm Cortex-M4プロセッサに基づいています。
EK-A6M2開発ボードは、ヘッダ、ポテンショメータ、およびボタンなどの基本機能のみを提供します。これは、開発者が開発環境およびソフトウェアの使用を開始してハードウェアを理解できるようにする、優れた低コストボードです。
EK-A6M3開発ボードを使用すると、開発がより楽しくなります(図4)。このボードは、やはり120MHzで動作し、最大2048Kバイトのフラッシュと640KバイトのRAMによってサポートされるRA6M3 Arm Cortex-M4プロセッサに基づいています。
図4:RA6M3プロセッサ向けのEK-A6M3開発ボードには、グラフィックスアプリケーションデータ用に32Mバイトの外部QSPIフラッシュが搭載され、グラフィックスアクセラレータおよびタッチ機能を活用するためのグラフィックス拡張ボードがサポートされます。(画像提供:Renesas)
EK-A6M3には、開発者がグラフィックスアクセラレータおよびタッチ機能を活用できるようにするためのグラフィックス拡張ボードが付属します。このボードには、Ethernetジャック、PMOD拡張コネクタ、およびマイクロバスコネクタが付属します。また、開発ボードには、グラフィックスアプリケーションデータ用に32Mバイトの外部QSPIフラッシュが付属します。開発者は、4.3インチTFTカラーLCD(解像度480 x 272、静電容量式タッチオーバーレイ)にもアクセスできます。
FSPを使用して最初のアプリケーションを記述
開発者は、最初のFSPアプリケーションを開始するために、いくつかの手順に従う必要があります。
- 最後のセクションから、アプリケーションのニーズに最適な開発ボードを1つ選択します。
- e2 Studio IDEをダウンロードおよびインストールします。e2 Studioにより、開発者はプロジェクトを作成し、ソフトウェアコンポーネントを管理し、アプリケーションコードを記述できます。開発者はデバッグセッションを実行して、開発ボードとやりとりすることもできます。
- FSPをダウンロードおよびインストールします。
これらの手順を実行したら、開発者はe2 Studioを開き、次の手順で新しいプロジェクトを作成できます。
- [ファイル] -> [新規作成] -> [RA C/C++プロジェクト]。
- [Renesas RA C Executable Project]を選択してから、[次へ]を選択します(図5)。
図5:Renesas RA C Executable Projectテンプレートを活用することにより、FSPプロジェクトが作成されます。(画像提供:Beningo Embedded Group)
- 次に、開発者はプロジェクト名を入力し、以下の重要なプロジェクトパラメータを選択します(図6)。
- 使用されるFSPバージョン
- 開発ボードモデル
- マイクロコントローラデバイス
- 使用されるRTOS(使用される場合のみ)
図6:開発者は、プロジェクトを作成する際に、重要なデバイスおよびソフトウェアのパラメータを選択します。(画像提供:Beningo Embedded Group)
プロジェクトが作成されたら、次に開発者はIDEを使用してアプリケーションコードを開発し、e2 Studioスタック構成ツールを使用してプロジェクト内の統合ドライバ、フレームワーク、およびオープンソースソフトウェアを構成します。
オープンソースソフトウェアを活用するためのヒントとコツ
オープンソースソフトウェアの活用は、開発チームが開発を加速し、コストを抑制する上で重要になっています。オープンソースソフトウェアの活用を成功させるために、チームは以下の「ヒントとコツ」に留意する必要があります。
- GitHubや同様のサービスが提供する1回限りのサンプルではなく、アクティブなコミュニティを持つソフトウェアを選択します。
- ソフトウェア監査およびオープンソースソフトウェアコードベースの品質分析を実行します。
- 弁護士にソフトウェアライセンスをレビューしてもらい、それが適切に理解されていることを確認します。
- 抽象化レイヤを使用して依存性を排除します。これにより、必要に応じてソフトウェアパッケージを後で簡単に削除できます。
- 可能であれば、統合型ソフトウェアを活用して問題を最小化します。
これらの「ヒントとコツ」に従えば、IoTデバイスのセキュリティ対策に取り組む場合に大幅に時間を節約でき、悩み事が減ることでしょう。
結論
組み込みシステムの複雑さが増加する中で、オープンソースソフトウェアは開発チームがタイムラインと予算の管理を向上させるのに役立ちます。ただし、チームは使用するオープンソースソフトウェアを注意深く選択する必要があります。ウェブ上にはサポートされていないオープンソースソフトウェアオプションが数多くあり、それらは統合およびメンテナンスに関して果てしなく続く問題を引き起こす可能性があります。
この記事で説明したように、RenesasのRAシリーズ マイクロコントローラのようなプラットフォームは、退屈な作業を排除して独自のアプリケーション開発を開始するための強固な基盤をチームに提供してきました。これにより、スケジュールと予算の両方を守ることができます。
出典

免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。