MCU:マイコン,LPCマイコン,Cortex-M0+コア,Cortex-M0コアテンプレート,ARMマイコン,Cortex-M0,Cortex-M0+,LPC1114,LPCOpen,Kinetis Design Studio,LPC824,LPCXpresso

2015/09/14、LPCXpresso v7.9.2がリリースされました。

この新LPCXpressoのデフォルトインストール先、C:\nxp\LPCXpresso_7.9.2_493\lpcxpresso\Examples\LPCOpen
にLPCOpenの新バージョンv2.19 2015/09/01も同時にインストールされます。

残念ながらこのLPCOpen v2.19も、前版v2.15積み残しのGPIO_APIバグ、uinit8_tを修正してunit32_tを使うが解決されていません。従って、LPC824テンプレートも“開発待ち”を続けます。

NXPのFreescale買収は、2015年末完了予定で進行中です。マイコン部門のみを比較すると、NXPよりもFreescaleの方が大きいそうで、今回の積み残しはこれが反映されたのかもしれません。LPCXpressoとLPCOpenの組合せは、他社と比較しても使いやすいIDEなだけに残念です。

一方、FreescaleのKinetis Design Studio 3.0.0 IDEもEclipseのUpdateはありますが、メジャーバージョンアップはありません。

NXP、Freescaleともに2015年末に向けて忙しいのでしょう。両社のARM Cortex-M0+/M0マイコン状況は、様子がはっきりするまで待ったほうが良い、というのが現段階の判断です。そこで、先に取上げた、Cypress PSoC 4/PRoCの調査を次回報告する予定です。

MCU:マイコン,LPCマイコンテンプレート,LPC8xx,LPC81x,ARMマイコン,Cortex-M0,Cortex-M0+,LPC111x,LPC1114,LPCOpen,LPC824,LPCXpresso

LPCXpressoが7.9.0にアップデートされました。
弊社Windows 10 Pro/Home(64ビット版)ともに動作確認しました。

リリースノートによると、Windows 10がサポートされ、Windows XPの動作テストを停止するそうです。

LPC8xx向けのLPCOpenは、12日現在、v2.15のままですので、LPC824対応テンプレート開発も一時停止を継続します。

 

RL78マイコン,MCU:マイコン,LPCマイコン,KinetisマイコンRL78/G13,RL78/G14,テンプレート,使用法,LPC8xx,LPC81x,ARMマイコン,ライブラリ,Cortex-M0,Cortex-M0+,LPC1114,LPCOpen

販売中のマイコンテンプレート説明資料は、テンプレートについて重点的に説明しています。しかし、ご購入者様から頂く質問には、テンプレート動作環境、つまりマイコンIDEに関するものも多くあります。
今回は、このマイコンIDE使い方のコツ、ポイントを説明します。

Windows 10発売を機に、皆さんは今新しいOSの機能や利用方法を習得中だと思います。マイコンIDEと、このWindows 10を関連付け解説を試みます。

マイコンIDEは、OSと考えるべし

Windows 10、旧Windows 7や8と比べると、新ハードウエアやネットワーク、セキュリティ対応に機能満載です。多くの設定項目がありますが、最初はデフォルト設定で動かすのが良いでしょう。慣れてくれば、設定をいろいろに変えて、自分好みにカスタマイズもできます。

マイコンIDEも同じです。IDEは、多くのマイコン機種、使用言語、デバッグ方法に対応できるよう多くの選択肢:プロパティを持ちます。ユーザマニュアルにも、多くのページを使ってプロパティの説明があります。しかし、IDEを使う時に、これら多くのプロパティを、全部知るのは無理ですし不要です。

Windowsと同じく最初はデフォルトで使用し、徐々にカスタマイズするのがIDEやOSなどの環境ソフトの使い方です。

初心者にとって、デフォルト設定でIDEが使えればありがたいのですが、多くのIDEは、中級~上級者へも対応する、いわば「初心者と中級者以上の二兎を追う方式」のため、多少のカスタム設定が必須です。
このカスタム設定が最も少ないのが、IDEベンダ提供の標準評価ボードを使ったマイコン開発時です。弊社テンプレートが、この評価ボードで動作確認しているのもこのためです。

  • マイコンIDEのプロパティ設定が多いのは、しょうがない。
  • カスタムプロパティ設定の少ないIDE+標準評価ボードが、マイコン初心者には適す。

マイコンIDEの使い方ポイント

使用するマイコン、開発言語(C/C++ または アセンブラなど)、IDE(コンパイラやデバッガなどの開発環境)は選定済みとします。この時のIDE設定手順が下記です。3段階から構成されます。

マイコンIDE設定手順
マイコンIDE設定手順

IDEへ使用マイコンとデバッガなどの環境ツール設定が、最初の段階です。ここでは、Rapid Application Development: RADツールを使用するか否かなども選択肢になります。MCU:マイコン本体クロック設定と周辺回路の設定が、次の第2段階です。最後が、IDEが出力したスケルトンソースへ、ユーザソースを追加し、ビルド&ボードデバッグを繰り返し行い、アプリケーションを完成させます。

ポイント1:IDE生成スケルトン理解

直ぐにユーザソースを追記したい気持ちは解ります。しかし、使用するRADツールに応じてIDEが生成するスケルトンが異なることがよくあります。例えば、FreescaleのKinetis Design Studioの場合、RADツールにProcessor Expertを選ぶ場合と、Kinetis Software Development Kitを選ぶ場合とでは、スケルトンが異なります。ルネサスのCS+でも、コード生成の有無でスケルトンは全く異なります。

先ず、IDEが生成する「スケルトン動作を把握することが最重要」です。このために、RAD選択肢を変えることも必要でしょう。殆どのIDEの場合、第2段階のMCUクロックは、デフォルトで安全動作周波数に設定済みです。従って、周辺回路なしでも生成されたスケルトンコードでボードデバッグができます。

スケルトン動作把握とは、「マイコン電源投入後、順番にどの処理を行い、main()を呼出しているか、次に、割込み処理の記述はどこで行っているかを知ること」です。

main()呼出しまでの処理(スタートアップ処理)は、MCU動作クロックを変更する場合などを除けば、大体把握できればOKです。また、マイコン機種による違いも少ないです。

一方、割込み処理記述は、使用マイコンやIDEにより様々です。経験的に、IDEと標準評価ボードの組合せで用いる記述方法が、解りやすさや柔軟性に優れます。素直に、この方法でユーザ処理を追加することをお勧めします。

  • IDE生成スケルトンは、使用RADツールにより異なる。
  • 生成スケルトンの動作を把握することが最重要。

ポイント2:デバッガ接続

最初は、MCUクロックはデフォルト設定、周辺回路なし、スケルトンコードのみでビルドします。このビルドは、IDE生成分のみですので100%成功するハズです。

問題は、デバッガ接続です。

IDEがサポートするデバッガは、通常4~6種類もあります。デバッガに応じてさらに詳細設定が必要ですので大変です。ここは、ユーザマニュアルの「対応デバッガ部分のみ」を注意深く読んで、設定する必要があります。ユーザマニュアルが分厚いのは、このように対応種類が多いためです。使用するデバッガのみに絞って読めば、恐れるに足りません。

IDEとデバッガを接続後、ビルド出力をボードへダウンロードし、デバッガで動作確認します。何もユーザ処理を追加していない時の動作、例えばスタートアップ処理後のRAMクリア状態などが確認できます。

ユーザ処理は追加していませんが、これでIDEの処理全体を一通り試すことができます。

  • IDEとデバッガ接続は、ユーザマニュアルの対応部分を拾い読み。
  • 最初のビルドは、スケルトンコードのみでデバッガ接続しIDE全体処理を体験。

ポイント3:サンプルソフトAPI利用例を活用

スケルトンは、骨組みです。この骨組みに、ユーザ処理を追記すれば、アプリケーションが完成します。

骨組みには、IDEが使用周辺回路に応じてライブラリを生成します。このライブラリへのインタフェースがAPIです。IDEの役割は、APIの中身を作ることです。

ユーザソースは、このAPIの使用順序を記述するのみと考えても良いです。少し前までは、このライブラリもユーザが開発していました。しかし最近は、ライブラリはベンダが提供します。ベンダ提供ライブラリを使えば、ユーザソースは、API使用順序のみですので、移植性やメインテナンスも楽です。

APIの使用法は、これも分厚いAPIレファンスマニュアルに記述されています。しかし、真面目にこれを読む前にサンプルソフトを参照します。典型的な周辺回路APIの使い方、これがサンプルソフトです。サンプルに出てくるAPIのみをレファレンスマニュアルでチェックすれば十分です。サンプルソフトの選び方は、コチラを参照ください。

  • IDEは、スケルトンと、使用周辺回路に応じたAPIを生成。
  • サンプルソフトを参照し、典型的なAPIの使い方を学ぶ。

まとめ

多くのプロパティがあり、付属マニュアルも厚いので取っ付きにくいマイコンIDEですが、ここで示した方法を用いれば、早く効果的にIDEを習得できます。

具体的な話が少ないので、皆様のお叱りを受けそうですが、少しでもご参考になれば幸いです。

* * *

Windowsには、様々なTipsがあります。各マイコンIDEのTipsも少なからずありますが、ここでは個々のIDEによる違いは無視して説明しました。実は、IDEで差が生じるのはRADです。RADに対しては、初心者の方は、少し力を入れてマニュアルを読む必要があるかもしれません。
但し、これも必要な周辺回路の箇所のみを拾読みすれば、事足ります。分厚いマニュアルは、読む箇所を間違わないように、拾読みで対処しましょう。

Windows 10 Home UpdateコントールTips

マイコンIDEで具体例が無かった代わりのTipsです。
Windows 10 HomeでOS Updateをユーザが制御できない問題に対し、フリーソフト: Winaero Tweakerが役立つかもしれません。Technical Preview対応ですが、製品版にも使えそうです。

Windows 10 Home Update Control
Windows 10 Home Update Control

MCU:マイコン,LPCマイコン,Cortex-M0+コア,Cortex-M0コアLPC8xx,ARMマイコン,Cortex-M0+,LPC111x,LPC1114,LPC812,LPC824,lpc82x

Terminate, Build and Debug Button
Terminate, Build and Debug Button

LPCXpressoが7.7.2 (build 379)に更新され、Terminate, Build and Debugボタンが新たに追加されました。

デバッグ中にソース修正を加えた場合、一旦デバッガ接続を切り離した:Terminateボタン後、Buildボタン→Debugボタンを押していた従来方法が、このボタン1個でできるように改善されました。

RL78マイコン,MCU:マイコン,LPCマイコン,Kinetisマイコン,Cortex-M0+コア,Cortex-M0コアRL78/G13,RL78/G14,テンプレート,LPC81x,ARMマイコン,Cortex-M0+,LPC1114,Kinetis E

IoTに向けて汎用マイコンも変化しつつあります。今回は、この変化について考えます。

ADC分解能12ビット

最近のマイコンADC分解能は、汎用タイプでも12ビットが標準的です。例えば、LPC824(NXP、2014/10発売)、RL78/I1D(ルネサス、2015/02発売)などです。従来10ビットに比べ4倍の分解能です。
接続されるセンサの性能向上や、マイコン向きの分解能として12ビットが選ばれたと思います。これ以上の分解能になると、キャリブレーションや測定誤差への対応が必須となり、ADC専用ICの領域となるからです。

CPU代替データ転送

DMA:Direct Memory Accessや、DTC:Data Transfer Controllerは、CPUに変わってデータを転送する機能です。CPU転送より低電力で動作するため、ADCとペアで使われるのが一般的です。ADC変換データをDMA/DTCを使ってRAMへ転送し、この間はCPUを休ませる、その目的は、消費電力の低減です。

CPU消費電流低下

マイコンCPU本体の消費電力が改善される好例が、LPC1114(NXP)です。トラ技2012年10月掲載のLPC1114評価ボードのCPUは、LPC1114/301でした。LPC1114/xx1 → xx2 → xx3(xx1の数字が世代を示し、現在は第3世代)で180uA/MHz → 140uA/MHz → 116uA/MHzと世代が進む毎にアクティブ消費電流が36%も低下しました。

これらの変化は、5Vレギュレータ動作から、バッテリーなどのより低く、しかも変動する電圧でも長時間動作する省電力マイコンが目的です。

基本動作モードと省電力動作モード

RL78カタログ資料より抜粋したRL78ファミリの動作モードを示します。

RL78ファミリの動作モード
RL78ファミリの動作モード

通常動作(MAIN RUN、ARMマイコンの場合はRUN)と低電力動作(HALT、ARMの場合はSLEEP)、動作停止(STOP)の基本3モードに加え、第4の新しい省電力動作モード(SNOOZE)があります。

SNOOZEは、HALTよりも更に低い電力で動作しますが、以下の点に注意が必要です。

  1. SNOOZE動作するには、STOP動作モードから入る必要あり。
  2. SNOOZE中に動作する周辺回路は機種によりに異なりRL78/G13、G14の場合は、ADC、CSI00スレーブ受信、UART0データ受信の3機能のみ。
  3. HALT → MAIN RUNに復帰する時間に比べ、起動時間がかかる。

これらに注意して、開発アプリでSNOOZEが有効に使えるか否かの判断が必要です。

例えば、RL78/G13でADCデータをDMAでRAM転送する場合には、SNOOZEは使えず、HALTで行う必要があります。あるいは、ADCはSNOOZEで行い、データ転送はCPUで行う方法もあります。
どちらが開発するアプリに適しているか、消費電力はどちらが低いか、SNOOZEからの復帰時間は問題ないかを検証し、決める必要があります。
最新マイコンRL78/I1Dは、RL78/G1xに比べこの制約が緩く、より簡単に広い条件で適用できる工夫も施されています。
また、さらに細かい省電力アプリへ対応すべく、10個もの動作モードを持つKinetis Lシリーズ(Freescale)などもあります。

Kinetis Lシリーズの動作モード
Kinetis Lシリーズの動作モード

ポイントは、各省電力動作モードの制約条件と復帰時間を考慮したうえでモード選択することです。

現行テンプレートの動作モード

販売中のテンプレートは、通常動作:MAIN RUNと低電力動作:HALT(SLEEP)の2動作モードに対応しています。これは、

  • この2動作モードは、全マイコンにあり、機種に依存しないテンプレートとして実現できること
  • 省電力化に最も効果があり、通常動作への復帰も高速なので確実(バグなし)に動作すること

が理由です。

省電力動作モードの注意点と裏ワザ

省電力動作モードには、多くの制約条件があります。言い換えると「動作するアプリや環境を想定した動作モード」とも言えます。この省電力動作モードの注意点をまとめます。

  • 想定したアプリや動作環境を見極め、それに沿って開発しないと徒労になる
  • 通常動作への復帰時間を吟味した上で使わなければ、取れにくいバグを生むリスクがある
  • 苦労して省電力動作モードを実装しても、そのモードの全体動作に対する相対時間が少なければ、得られる効果も少ない

実は、前述のLPC1114進化のように、マイコンそのものを初めから低消費電力版へ変えることが一番簡単で確実だったりします(裏ワザ?)。

省電力テンプレートの方針

テンプレートとしても新しい省電力動作モードへの対応が必要です。以下の方針で開発予定です。

  • 省電力アプリを特定し、その上で、応用範囲の広い適用例で開発
  • 省電力アプリの有効性を確実に示せるマイコンに実装(そもそも省電力動作モードそれ自身に、想定動作があるので機種依存性が生じるのも仕方がないかも…)

シンプル/メニュードリブンテンプレートに続く第3のテンプレート:省電力テンプレート(仮称)とは、
「通常時は現行テンプレートと同様MAIN RUNとHALT(SLEEP)で処理を行い、一定時間入力が無い場合は、STOPまたはSNOOZEになり、何らかの外部入力で通常動作へ戻る」
などでしょうか?

方針提案に対する、ご意見、ご希望など何なりとお気軽に、info@happytech.jpへお寄せください。参考にさせていただきます。

RL78マイコン,MCU:マイコン,LPCマイコン,KinetisマイコンRL78/G13,RL78/G14,テンプレート,使用法,LPC8xx,LPC81x,ARMマイコン,LPC111x,LPC1114,Kinetis E

販売中の4種マイコンテンプレート説明資料に、テンプレート利用法ページを追加しました。
既にテンプレートご購入の皆様へは、近日中に追加済みのテンプレート説明資料をメールにて送付いたしますので、しばらくお待ちください。

テンプレート利用法ページの内容一部抜粋

テンプレート利用法ページには、ソースコードを見やすくするための記述の工夫テンプレート機能とその処理関数どこにユーザ関数を追加した結果、シンプル/メニュードリブンテンプレートになるのかを3ページにわたって示しております。
説明資料の全ページ内容は、テンプレートサイトの各テンプレート説明資料右下のもくじを参照して下さい。P1とP2は、サイトからダウンロード可能です。

RL78/G1xテンプレートの内容を一部抜粋します。他の3種LPC8xx、LPC111x、Kinetis Eテンプレートも同様です。

テンプレート機能とその処理関数
テンプレート機能とその処理関数(RL78/G1xテンプレートの例)
テンプレートに追加するユーザ関数の場所
RL78/G1xテンプレートに追加したユーザ関数:LedBluToggle()の例

これらのページにより、より具体的にテンプレート使用方法がお判り頂けると思います。

テンプレートご購入者様、ご検討中の方にとって一番知りたいことは、「テンプレートが簡単に使えるかどうか」です。追加したページが、このご参考になることを期待しております。

RL78マイコン,MCU:マイコン,LPCマイコン,Kinetisマイコン,Cortex-M0+コア,Cortex-M0コアRL78/G13,RL78/G14,テンプレート,LPC8xx,LPC81x,ARMマイコン,Cortex-M0+,LPC111x,LPC1114,Kinetis E

2015年2月号のトラ技特集4章、5章にマイコン消費電力の低減手段が列記されています。良く整理された記事で、No1~No10までの消費電力低減手段と、マイコン仕様の例が示されています。

弊社のマイコン消費電力を減らすアプローチは、2014年3月1日弊社ブログの“システム最大動作設定の目的”の項に書きました。今回は、このマイコンテンプレートに実装済みの電力低減方法とアプローチを、上記トラ技の内容で検証します。

マイコンテンプレート消費電力低減の仕組み

最も簡単かつ効果的な消費電力低減方法は、トラ技No5手段の低消費電力モード:スリープの導入です。無処理時のCPUクロック供給を停止し、周辺回路はクロック供給を継続します。問題は、具体的にどのようにプログラムすれば、この手段がソフトウエアで実現できるかです。

弊社マイコンテンプレートは、対象マイコンのアクティブ最大速度で、アプリを時分割起動します。そして、処理終了時と処理が無い時間は、スリープする仕組みをテンプレート自身にプログラム済みです。また、未使用の周辺回路には、クロック供給をしません(トラ技No7手段適用済み)。

従って、素のテンプレートは、時分割の最大周波数動作です。3月1日の再掲になりますが、先ずこの状態で目的のアプリを開発します。

電力低減へのアプローチ

電力低減のために動作周波数を下げる(トラ技No1手段)のは、テンプレートを使ったアプリ完成後です。これは、アプリが出来ていないうちに、周波数を下げるのは、自分で自分の首を絞めるのと同じだからです。

アプリ完成後なら、周波数を下げられます。但し、設定できる周波数は、限られています。同様に、供給電圧を下げるのも(トラ技No2手段)、5V/3.3V/1.8Vなどに選択肢が限定されます。これらの周波数/電圧の選択肢のうち、どれが効果的かを比較し決定するアプローチをテンプレートは想定しています。これら決定に、動作アプリ自身も反映する必要があるかもしれないからです。

また、テンプレートは、250us/1ms/10ms/100ms/1s起動の計9か所の起動箇所と、スリープ起動箇所が明確に別れた時分割起動なので、どの部分の処理に時間が掛っているか、時分割動作が出来ないのかが解析しやすいのもの特徴です。従って、問題部分の処理分割や見直しも可能です。これは、トラ技No5手段の動作プロファイル最適化を、実際に検討する際に役立ちます。

例を示します。RL78/G13やG14スタータキットは、マイコンの平均消費電流をテスタで簡単に計測できます。RL78/G1xテンプレートのHALT()(スリープ相当)処理をコメントアウトすると、消費電流が倍になることが確認できます。

HALT有無で電力消費変化を検証
HALT有無で電力消費変化を検証

ハードウエア関連の留意点

トラ技No3、No4、No6、No7手段は、マイコン機種選定時に考慮すべき内容です。また、No8、No9、No10手段は、マイコン周辺回路設計・動作時の留意点です。ソフトウエアのマイコンテンプレートとは切り離して考えます。

トラ技内容をあまり記述すると“ネタばらし”になるので、No1~No10の詳細は、トラ技を購入して参照して下さい。

 マイコンテンプレートの検証結果

今回は、トラ技の内容で、弊社マイコンテンプレートにインプリメントされている消費電力低減方法と、アプローチ方法を示しました。結論は、主だった低減手段は、テンプレートに組込み済みです。テンプレートを使ってアプリ完成後、さらなる電力消費低減アプローチも示しました。販売中の4種のマイコンテンプレートは、全てこの低減方法を実装済みです。

RL78マイコン,MCU:マイコン,LPCマイコン,KinetisマイコンRL78/G13,RL78/G14,テンプレート,LPC81x,ARMマイコン,Cortex-M0+,LPC1114,Kinetis E,Arduino Uno,mbed

最近のマイコン開発環境の動きと、その効果的な習得方法について考察します。

一人でできる最新マイコン開発環境習得の経費

一人でできる最新マイコン開発環境習得の経費
一人でできる最新マイコン開発環境習得の経費

マイコン本体選定と頻度

最重要は、システムに使うマイコン本体の選定です。私は、入手性、価格、性能、開発のし易さの順に選びます。個人利用可能な電子部品サイトは、秋月通商、マルツ、DigiKey、Mouserなどがあり、1個当たりのマイコン本体価格比較も簡単です。性能と使い易さは、日頃マイコン記事などをチェックして見当をつけます。

使用マイコンが会社で決まっている場合もあるでしょう。しかし、たまには個人で選定することも大切です。会社で決まったまま数年たって気が付くと、浦島太郎状態になるからです。1マイコン精通もアリですが、最近の環境変化対応は必須です。

マイコン本体は、端的に言うとARMマイコン以外は各社各様で、その変化幅と世代の変化量も大きいです。車のポルシェのように、最新版が常に最高!とは言いませんが、半導体の変化スピードもこれに近いものがあります。1件当たりの開発期間を半年~1年と仮定すると、2~3回開発が終わる度に最新状況チェックは必要です。

本内容がこの状況のご参考になれば幸いです。

評価ボード選定の留意点

主要マイコンには、性能や使い方を試す評価ボードが必ずあります。この評価ボードには、マイコン本体と電源、デバッグ回路、スイッチやLEDなどの最低限ハードが実装されたシンプルなCPUボードから、UARTドライバやLCD、ブザーなどの周辺回路が実装された制御系ボードまで様々です。

例えば、ルネサスのRL78/G1xならBB-RL78G13-64が後者:制御系ボードになり、G13スタータキット、G14スタータキット、QB-R5F100LE-TB、QB-R5F104LE-TBなどが前者:CPUボードです。

初期投資を抑えるならCPUボードです。しかし、アプリ動作テスト時にそのままでは使えません。結局、周辺回路を後付けすることになり、その手間と接続ミスの可能性などを考えると、ある程度の周辺を含んだ制御系ボードがお勧めです。

制御系ボードと被制御対象間のインタフェース

この制御系ボードは、マイコン本体の発売から数年以内に発売されるものが殆どです。このような制御系ボードの種類が多いものが、チマタで(世界的に)流行しているマイコンと考えても良いでしょう。多くの周辺回路を含んで¥2000以内と、驚異的な低価格で販売しているfreescaleのFRDMシリーズボードなどもその1つです。

実アプリ動作には、この制御系ボードに、被制御対象が接続されたものが必要です。被制御対象とは、例えば、モータ、ソレノイド、LED照明本体などです。汎用性がある制御系に対して、被制御対象は、アプリの依存性があるハードです。

制御系と被制御対象間のインタフェースとして、Arduino Unoやmbedなどの業界インタフェースがあります。被制御対象をこれら業界インタフェースで開発すれば、制御系が高性能化しても被制御対象はそのまま対応できるというメリットがあります。

開発環境IDEと業界インタフェース

マイコン開発は、高速開発が要求されます。ソフト的にこれをサポートするために、ルネサスのコード生成や、freescaleのProcessor ExpertなどのRAD: Rapid Application Development ツールがIDEに付属します。また、IDEの慣れの問題を解決する手段として、対象マイコンのコンパイラを変えればいろいろなマイコンに対応できるIARやKEILなどの商用IDEもあります。これらIDEとツールを使えば、素早いソース作成が可能です。

ただし、ソース作成のみではソフト開発では、道なかばです。実機動作テスト、ハードとの結合デバッグが必須だからです。実機テストには、制御系は最低限必要です。被制御対象は、ソフト開発と並行して進められることが多く、経験上、ソフト側へのリリースは遅れます。ソフト開発者は、これに留意したうえで開発スケジュールの立案が要求されます。

この立案の助けになるのが、開発速度を上げることをハード的にサポートする制御系と被制御対象間のインタフェースです。業界標準のArduino Unoやmbedを採用していれば、被制御対象の市販ボード代用も可能です。

マイコン開発環境の狙い

制御系デバッグ効率は、経験やツールが活かされる分野です。Eclipse IDEは、多くのデバッグアドオンツールで、だれもが効率的にデバッグできる環境を提供しています。開発分業(専業)体制にマッチします。

開発規模が大きくなると分業は必要です。人間、一度に集中できるエリアは、そんなに広くないからです。各種IDE付属ツール(コード生成、Processor Expert)や業界標準IDE(Eclipse)、インタフェース(Arduino Uno、mbed)が生まれる背景、目的はこの高速分業体制です。

個人レベルの技術習得

個人レベルでこれらの高速分業マイコン開発環境への慣れや備えは、必要です。例えれば、数学を解くには、ツールとして算数や暗算、時には電卓を使うと役に立つのと同じです。

限られた時間とお金に余裕がない個人レベルで、これら最近のマイコン開発全体を俯瞰し、効率的に速習するには、評価ボードで実動作する弊社マイコンテンプレートを使うのも1つの方法です。必要経費を、最初の表に示しました。この程度の金額であれば個人でチャレンジすることも容易だと思うのです。

サイト関連,MCU:マイコンRL78/G13,RL78/G14,テンプレート,使用法,アプリケーション,LPC8xx,LPC81x,ARMマイコン,Cortex-M0,Cortex-M0+,LPC111x,LPC1114

マイコンテンプレート関連の情報を、1ページにまとめた専用サイトを2つ立上げました。

ブログは、マイコンテンプレートの開発情報や開発経緯、Tipsなどを時系列で記載します。
ブログを最後まで読んでいただく手間を省くため、重要内容を抽出し再編しました。
紆余曲折の検討結果が、最新版テンプレートの状況になり、専用サイトにまとめられたと考えてください。

マイコンテンプレートサイト

マイコンテンプレート専用サイト
マイコンテンプレート専用サイト

記載マイコンテンプレートは、下記です。

  • Cortex-M0/LPC111xテンプレート
  • Cortex-M0+/LPC8xxテンプレート
  • S2/S3コア RL78/G1xテンプレート
  • Cortex-M0+/Kinetis Eテンプレート

サイトの「もくじ」をクリックすると、記載位置へジャンプします。スマホなどの小さい画面でも観やすいように、解像度の高いテンプレート動作中写真も掲載しております。

アプリケーション開発手順サイト

マイコンアプリケーション開発手順サイト
マイコンアプリケーション開発手順サイト

マイコンアプリケーションの開発手順を1ページにまとめました。
マイコンテンプレートを使ってアプリを開発する時の、10手順と、2補足を掲載しています。

MCU:マイコン,LPCマイコン,Cortex-M0+コア,Cortex-M0コアテンプレート,LPC8xx,LPC81x,ARMマイコン,Cortex-M0+,LPC111x,LPC1114

10月29日、LPCXpressoが7.4.0からv7.5.0_254へUpdateされました。販売中のLPC8xxテンプレートLPC111xテンプレートともにこの最新版7.5.0での正常動作を確認しました。今回は、LPCXpressoのUpdate方法を説明します。

Update間隔

2014年のLPCXpressoのUpdateは、4月(7.2.0)→7月(7.3.0)→9月(7.4.0)→11月(7.5.0)など約2か月毎と結構頻繁にありました。時々、Welcome画面のLPCXpresso Downloadsリンクを開いて最新版を確認したほうが良いでしょう。私はあまり気にしませんが、意味不明なWarningなどが改善されることもあります。また、テンプレート使用中のLPCOpenライブラリ版数確認も下記リンクで可能です。

Welcome画面
Welcome画面

ちなみに、テンプレートのLPCOpenライブラリは、最新版の使用を確認しました。

Update方法

Update方法は下記です。ライセンスは、バブリックフォルダに保存されているので維持されます。

  1. 旧版を付属UninstallerまたはWindowsのプログラムと機能で削除
  2. 新版をインストール

新版は、旧版とは別フォルダへインストールされます。もし、この旧版インストールフォルダ内に手直ししたサンプルソフトなどを保存している場合には、削除前に別の場所へ保存する必要があります。

ライセンスは、パブリックフォルダ内のNXPLPCXpressoフォルダに記録されています。このフォルダは勝手に作成されますが、消去しないようにしてください。ライセンス保持のままUpdate完了すると、Welcome画面でfully activatedが確認できます。

ライセンス保持でUpdate完了の確認方法
ライセンス保持でUpdate完了の確認方法