マイコンテンプレート|開発背景、メリット解説、早期開発に効果的

テンプレート開発背景とメリット

マイコンテンプレートメリットが活かせる領域

マイコンテンプレートを「なぜ開発したのか、メリットは何か、何ができるのか」を説明します。

【 結論 】マイコンテンプレートは、組込みOS(RTOS)を使わずに簡単にマルチタスク処理アプリケーションの開発ができます。

掲載内容


マイコンテンプレートとは? そのメリットは?

マイコンアプリケーション作成を何回か経験すると、いつも 同じようなユーザコードやファイル構成で開発していることに気が付きます。
マイコンテンプレートは、この「同じようなコードとファイル構成」をまとめたものです。

マイコンテンプレート特徴、メリット

  • 動作に必要な基本部分が出来上がっているので、マイコン動き出しまでの時間を、0から開発するよりも短縮できる。
  • 時分割マルチタスク処理なので、RTOSを使わずに簡単にマルチタスクのアプリケーションが開発できる。
  • サンプルソフトやIDE初期出力に比べ、実務で使えるテンプレートなので、コーディング着手の手間が大幅に少なく、アプリケーションの早期開発ができる。
  • 評価ボードで実際に動作確認できるので、アプリケーションの動作確認、問題点発見ができる。

マイコンテンプレート提供方法

テンプレートの応用例として、 シンプルテンプレートメニュードリブンテンプレートの2つをセットで提供します。

シンプルテンプレート

評価ボード単体で動作するテンプレート応用例。テンプレートにチャタリング対応済みのSW入力と、評価ボード実装のLED出力を実装し、シンプルな応用例でテンプレート動作理解と、ユーザ処理追加時のスタートプロジェクト提供が目的。

シンプルテンプレート構成

サイプレスPRoCマイコン評価ボード単体で動作中のシンプルテンプレート例です。

シンプルテンプレート動作例

メニュードリブンテンプレート(※Baseboardテンプレートと呼ぶ場合もあります)

評価ボード+Baseboardで動作するテンプレート応用例。シンプルテンプレートに、ADC、LCDなどの利用頻度が高い処理を盛込んだ応用例で、言わば完成アプリケーションプロジェクトの1つとも言える。ユーザが必要な処理の抽出、応用が簡単なメニュードリブン形式でのテンプレート提供が目的。

メニュードリブンテンプレート構成

PRoCマイコン評価ボード+Baseboardで動作中のメニュードリブンテンプレート例です。

メニュードリブンテンプレート動作例

マイコンテンプレートの骨格

マイコンテンプレートは、下記4つの骨格を持ちます。マイコンテンプレート4骨格

  1. 無償IDEのプログラムサイズ
  2. 時分割の簡易マルチタスク起動
  3. RAMでの関数間パラメタ渡し
  4. UARTメニュードリブン

1. 無償IDEのプログラムサイズ

テンプレートは、IDE無償版で開発できるプログラムサイズが対象です。

これは、このサイズ程度が個人や少人数で開発/デバッグできる限界と考えるからです。これ以上大きくなると、開発/デバッグが指数的に難しくなり、開発を収束させるために、例えばリアルタイムOSなどの別手段が必要になります。
最近は、無償版IDEでも256KB程度の十分大きなサイズ開発もできます。これは、IDEツールが高機能になり、API関数の自動生成や、既存ライブラリを簡単に使えるためです。
これらIDE生成関数は、バグなしの完成品ですが、個人でカスタムメイドできるサイズは、今も昔もあまり変わらないと思います。
経験的に無償IDEで開発できるサイズがこの上限サイズです。

2. 時分割の簡易マルチタスク起動

マイコンは、CPUと周辺回路が「ハード的に並列動作」します。

従ってCPUソフトを、周辺回路起動と処理完了確認の2つで関数化すると、複数の周辺回路を簡単に並列動作させることができます。 起動から処理完了までの処理時間は、周辺回路毎に予想できますので、その間に別処理、例えばSleepをすれば電力効率もアップします。
これらの処理を 時分割で起動するのが弊社テンプレートです。

3. RAMでの関数間パラメタ渡し

カスタムメイド関数のパラメタは、内蔵RAMを使って外部と入出力します。

これで関数単体デバッグが簡単になります。RAM値をデバッガで確認/修正すれば、関数動作が把握できるからです。 さらに、関数の中身が未完成の時でも、入出力値をRAMに設定しさえすれば、結合デバッグができるメリットもあります。

4. UARTメニュードリブン

シリアルポートUARTを持たないマイコンはありません。

Wi-FiやBluetoothモジュールをこのUARTへ接続すれば、ワイヤレス制御もできます。シリアル-USB変換ケーブルでマイコンとPCを接続し、 メニュー形式で処理を選択するメニュードリブンをテンプレートに採用する理由は、2つあります。1つが、この「UARTが必ずあり、応用範囲が広い点」です。
もう1つが、メニュードリブンで開発すると「処理の移植が容易な点」です。テンプレート利用者は、メニューで示された処理のうち、必要な処理のみを簡単にテンプレートソースから見つけることができます。所望処理がUART受信コマンド解析関数から始まるからです。
そして、発見した関数(または関連関数)を、丸ごとご自身のソースへコピーすれば、動作させることができます。テンプレートは、多くの場合、この処理単位でファイル化していますので、ファイルを丸ごとコピーしさえすれば、必要な処理をテンプレートから抜き出すことも容易です。

アプリケーション開発手順は、マイコンテンプレートを使って効率的にアプリケーションを開発する手順を掲載しています。

テンプレート利用Tipsは、より具体的なマイコンテンプレートの技術情報を掲載しています。