LPCXpresso_7.5.0へ更新

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完了の確認方法

Processor Expertの解析

以前示したKinetis Eソフト開発の最重要要素、Processor Expert: PE、これがテンプレート開発の大きな障壁です。今回は、簡単なPE適用例を示し、PE利用指針とテンプレートに自作PEサンプルソフトを添付する経緯について示します。

3レベルのProcessor Expertコンポーネント

PEは、マイコン周辺回路パラメタのGUI設定、パラメタ整合性チェック、デバイスドライバ生成、ユーザソース所定位置へのドライバ自動挿入を行うアドオンツールです。CodeWarrior: CWとKinetis Design Suite: KDSで同じものが使われています。これらの機能は、ルネサスRL78マイコンのコード生成と同じです。PEは、さらにOperating System: OSへの適用と移植性を強く意識した設計になっています。

このためPEコンポーネントには、3つのレベルがあります。LDD(論理デバイスドライバ)レベルコンポーネント、Highレベルコンポーネント、Lowレベルコンポーネントの3つです。レベルは、コンポーネント抽象度を示し、LDD>High>Lowの順に高く、移植性も高くなります。

コンポーネントレベル 説明
LDDレベル OS利用が前提で、マイコンハードウエアとOS分離が目的のHAL: Hardware Abstraction Layerを適用したデバイスドライバ。OSや機種が変わっても、移植性が高いソースコード生成が可能。
Highレベル OSを使わない一般的マイコンのデバイスドライバ。機種が変わっても、移植性が高いソースコード生成が可能。
Lowレベル 使用マイコンに依存したデバイスドライバ。周辺回路毎の初期化コンポーネントとメソッド/イベントAPIを提供。

PE想定OSは、freescale無償提供のMQX Liteですが、FreeRTOSなどにも適用できそうです。

Highレベルコンポーネントは、LDDコンポーネントを流用

HighレベルコンポーネントとLDDコンポーネントは、別物ではありません。LDDコンポーネントのパラメタの一部を自動設定し流用しています。ツール開発の立場から言えば、当然でしょう。

Processor Expartコンポーネント使用例

LDDレベル

GPIO処理例を示します。無限ループを回る度にGPIO出力ピンに接続したLEDが点滅する例です。

LDDレベルコンポーネント使用例
LDDレベルコンポーネント使用例

面倒なのは、全LDDレベルのAPIに1行目で定義したパラメタが必要なことです。10行目のトグル動作でさえこのパラメタが必要です。4行目の初期化は、ピン初期値がHighかLowか、出力方向か入力方向かなどのGUIで設定したパラメタが自動設定されます。

Highレベル

LDDコンポーネントの代わりにHighレベルコンポーネントを使うと、10行目のパラメタが不要になります。但し、これは、別のところで下記マクロが追加されたために不要になったようにソース記述ができるだけです。
#define Bit1_NegVal()       (Bit1_NegVal(LDD_TdeviceData))

結局、PEコンポーネントは、LDDレベルもHighレベルも同じものを使っていて、ソース記述時にパラメタ1個分簡素になるだけです。多くのパラメタを使ってAPI移植性を高めているのです。ルネサスのコード生成と比べると、APIパラメタが多く、回りくどく感じます。

Lowレベル

Lowレベルのコンポーネントを使用すると10行目のトグル動作は、下記になります。
GPIO_PDD_TogglePortDataOutputMask(FPTB_BASE_PTR, (1<<18));

Lowレベルは、周辺回路毎にメソッド/イベントAPIが提供され、パラメタで具体的な処理位置を指定する必要があり、初期化処理にも多くのLowレベルAPIコールが必要になります。

Processor Expert の課題と利用指針

PEユーザガイドに各レベルコンポーネントの機能説明はありますが、具体的な使用例、つまりサンプルソフトがありません。使用例が無いと機能理解が困難になります。特にLowレベルの記述は、LDDやHighレベルに比べ少ないです。LDDかHighレベルのコンポーネントを使うことがPEの前提条件で、Lowレベルは、LDDレベルでカバーできない部分のみに使用するのだと思います。

以上から、LDDレベルコンポーネントを使ってテンプレートを開発する方針とします。そこで、開発に使えそうなサンプルソフトを調査しました。

FRDM-KE02Z40MのCW、KDSサンプルソフト一覧

2014年11月時点で、テンプレート開発評価ボード:FRDM-KE02Z40Mに使えるサンプルソフトを示します。NonPEとは、Processor Expertを使わない従来タイプのデバイスドライバのことです。因みに、NonPEでGPIOトグルを記述すると、PEのLowレベルに近い記述で、下記になります。
GPIO_Toggle(GPIOB, GPIO_PTE7_MASK);

サンプルソフト(2014/11E現在) サンプル数 概要
CW10.6付属 PE Examples 1 評価ボードの3軸加速度センサプロジェクト。使用コンポーネントのデフォルト設定値からの変更箇所が判らない問題あり。
CW10.6付属 NonPE Examples 29 最も多くのサンプルソフトがあるが、CW専用ドライバでKDSへ移植できない。
KDS1.1.1付属PE Examples 0 KDS1.1.1付属サンプルソフト無し。自作PEサンプルソフトをKinetis Eテンプレートに添付予定。
KDS1.1.1付属NonPE Examples 0 KDS1.1.1付属サンプルソフト無し。
Kinetis SDK1.0.0 0 FRDM-K22Fボードなど5種対応中だが、評価ボード対応版無し。

この一覧表から、現時点のFRDM-KE02Z40Mサンプルソフト状況を纏めると以下となります。

  • CW PEサンプルソフトは、KDS PEサンプルソフトへのポーティング可能
  • CW NonPEサンプルソフトは、KDS NonPEサンプルソフトへのポーティング不可能
  • KDSとPEを開発環境に選ぶと、テンプレート開発評価ボードで使えるPEサンプルソフトは、CW版をポーティングして得られる3軸加速度センサプロジェクト1個のみ

CWのPEサンプルソフトは、KDSへ移植が可能ですが、一部手直しが必要です。また、一番サンプル数が多いCWのNonPEサンプルソフトは、CW専用ドライバで開発されていてKDSへ移植できません。

KDS Processor Expert サンプルソフトをKinetis Eテンプレートへ添付

販売予定のKinetis Eテンプレートも従来テンプレートと同様、シンプルテンプレートとメニュードリブンテンプレートの2構成です。さらに、現在のPEサンプルソフト状況を考えると、KDSのPEで動作する自作サンプルソフトをテンプレートと同時提供すれば、テンプレート付加価値が上がります。つまり、KDS1.1.1付属PE Examplesのサンプル数0を補完する試みです。

次バージョンKDSでは、freescaleからKDS PE付属サンプルが提供されるかもしれません。しかし、少なくともそれまでの間は、KDS1.1.1のProcessor Expertを使ってFRDM-KE02Z40Mで動作するサンプルソフトは有りません。自作サンプルソフトが目的でテンプレートを購入して頂ける方がいるかもしれません。

繰り返しになりますが、PEのユーザガイドには、十分な機能説明はあります。しかし、サンプルソフトが無いと、せっかくの機能説明も上級者以外には意味不明になります。また、コンポーネントのデフォルトパラメタ設定値のどこを変えたサンプルなのかも明示すると、より解りやすいものとなるでしょう。テンプレート説明資料では、この部分も明らかにします。

テンプレート対象のKinetis KEマイコンは、低価格で非常に良くできたARM Cortex-M0+マイコンです。統合開発環境は、CWからKDSに変わります。KDSでは、OS使用有無にかかわらず、PEを習得しているほうが、KEシリーズだけでなく、全Kinetisマイコン開発のために有益です。

FRDM-KE02Z40M評価ボードで動作するKinetis Eテンプレートと、多くのKDS Processor Expert サンプルソフトを提供すべく開発中です。

Kinetis Design StudioとCodeWarrior

Kinetis Eテンプレート開発は、順調とは言えません。理由は、IDEとProcessor Expertです。今回はIDEについて説明します。

Kinetis専用IDE: Kinetis Design Studio

freescaleのIDEは、商用CodeWarrior: CWがあります。無償128KB制限は、Kinetis Eマイコン開発(ROM≦64KB)には問題なしです。しかし、CWで開発できるKinetisは、現版サポートのみで打ち切られ、今後リリースされる全てのKinetisシリーズマイコンは、Kinetis専用IDE: Kinetis Design Studio: KDSでサポートされると発表されました。

KDSは、無償でROM制限がありません。全てのKinetis K/L/W/M/Eマイコン開発ができ、技術サポートは、KDSコニュニティで受けられます。IDEサイズもCWよりも小さいので高速動作します。

KDS1.1.1の現状

CWと色々な個所で異なります。IDE画面の例を示します。

CW(左)とKDS(右)Projetcs View差
CW(左)とKDS(右)のProjects View差

左のCWプロジェクトビューは、ファイル毎のビルト結果が表示されますが、右のKDSプロジェクトビューには、これがありませんので、プロブレムビューでのチェックが必要です。CWは、さすがに商用IDEなので、細かいところにも配慮があり、使い易くできています。

また、テンプレートに応用できるサンプルソフトも、CW、KDS両方を探しても今のところ1個しか発見できません。Kinetisソフトウエア開発キット(SDK)もKinetis E以外の5種ハードサポートのみで、Hardware Abstraction Layer(HAL)対応なので、流用も結構面倒です。HALについては、Processor Expertの時に別途説明する予定です。

CWに比べ利用できる資料は、最小限です。これが、上級者ならともかく、普通の開発者には、とまどうところです。

CWプロジェクトのKDSへの変換

CWプロジェクトは、KDSへそのまま使えません。KDS最大の問題点です。説明が少ないポーティングガイドがありますが、ポーティング時、多くのエラーが発生し、上手く変換できないこともあります。ヘルプが役に立たないのは、いつものことです。しかし、無いよりは、CWのように豊富にあった方が良いです。

つまり、数あるCWサンプルを利用する場合や、上級者以外が使うには、CWに比べ現版KDS1.1.1は障壁が高いのです。これが、KDSリリースから半年しかたってないためか、それとも、Kinetisシリーズ+KDSに商用CWとは別戦略があるためかは、判りません。

 

いずれにせよ、誰もが使えるKinetis Eテンプレートを開発するには、現状ではCWとKDSの両方を使う必要があります。テンプレート販売時には、ご購入者様がKDSで動作することが必要となるからです。殆ど同じプロジェクト作成に2つのIDEを使って、ゼロベースで作成が必要なこと、これが開発を遅らせる原因です。

CodeWarriorクイックレファレンス

ARM Cortex-M0+のfreescale Kinetis Eテンプレート開発は、Kinetis Design Suite :KDSを使うほうが、CodeWarrior :CWよりも良さそうだということは以前のブログで書きました。但し、今はCWの方がより習得が容易だと思います。このCW習得に便利なクイックレファレンスを見つけましたので、紹介します。

マイコンIDEとEclipse

全てのマイコンIDEは、Eclipseベースになりつつあります。ルネサスのRL78シリーズならe2 studio、NXPやfreescaleの無償IDEは全てEclipseベースです。メリットは、プラグインが多少違っていても同じベースなので使い方を知っていれば、他社IDEでも「即使える」ことです。MS Officeを知っていれば、Office互換ソフトが、簡単に使えるのと同じです。

このIDEを即使えることは、重要です。マイコンソフト開発準備労力のかなりの部分を短縮できるからです。分厚いユーザマニュアルを読んでも、肝心のソフト開発には、直接結びつかない苦労を避けられます。

CWクイックレファレンス

クイックレファレンスP1
クイックレファレンスP1(一部抜粋)
クイックレファレンスP4
クイックレファレンスP4(一部抜粋)

CWインストフォルダのHelpフォルダ内に、Eclipse Quick Reference Card.pdfがあります。簡潔に良くまとまっていて、CWだけでなく、全てのEclipse IDEに応用が利きます。Eclipse Quick Reference Card.pdfでネット検索すると、CWをパソコンへインストしなくても参照できると思います。

ページ1~2にショートカット、ページ4以降は、Eclipseの操作画面説明です。Eclipseを使ったソフト開発なら、これだけ知っていれば十分だと思います。

IoT向けのIntelコンピュータEdison

ARM mbed OSで紹介したIntelマイコン、というよりもコンピュータ:Edisonが発売されました。秋月電子などで購入可能です。

極小PC:Edison

発売は、Edison単体、Arduino Uno拡張ボード、GPIO数40のBreakout Boardの3構成です。Breakout Boardレビュー記事によるとEdisonは、マイコン規模のGPIO数を持っていますが、2コア/2スレッドのAtomプロセサや、USB、無線LAN、Bluetoothコントローラ実装済みの完全なPCであることが解ります。

確かに、ARMのKris Flautner氏がおっしゃった「IntelとARMは市場が違う」ことが納得できます。

Edison搭載OSは不明ですが、ARM mbed OSと同じAPIで提供して頂けるとマイコン開発者にとってはありがたいですが、無理でしょうね。

Kinetis Eソフト開発のポイント:Processor Expert

2014年末発売予定のfreescale Kinetis Eテンプレートソフト、この開発にProcessor Expertを使いこなすことがポイントと考えた理由を示します。

Processor Expert :PEとは

PEは、ルネサスRL78/G1xのCS+コード生成ツールに相当します。使用周辺回路のパラメタをGUIで設定できます。例を示します。Kinetis Eテンプレート開発で使うボード:FRDM-KE02Z40Mと、その赤LEDをPWM点灯する時の設定です。設定ミスがあると、そのパラメタが黄色で表示されるので、すぐに修正や変更ができます。

FRDM-KE02Z40MとProcessor Expert設定画面
FRDM-KE02Z40MとProcessor Expert設定画面

設定後、コード生成ボタンを押すと、ユーザソース所定か所にPE生成コードが自動挿入されます。ユーザは、PEが生成したAPIを使ってアプリ開発に着手します。PE設定パラメタを変更後、再生成しても、ユーザソースは残ったまま、生成コードが再挿入されます。

つまり、周辺回路APIをPEで生成 → 動作パラメタはAPI内部に隠ぺい → ユーザソースそのものの流用が可能、です。CS+のコード生成ツールと同じ目的です。

PEを使わないサンプルソフト

旧来のマイコンソフト開発は、デバイスドライバ開発担当が、このAPIを自作していました。高性能APIが自作できますが、機種が変わるとAPIも変わることが多く、同じ処理でもアプリ作り直しが必要でした。API自動生成ツールPEは、アプリ作り直しの回避と再利用を可能にするツールです。

もちろん、Kinetis EでもPEを使わずに旧方法のアプリ開発もできます。IDE付属サンプルソフトの多くは、この旧方法で提供中です。サンプルソフトの目的が、1個の周辺回路のシンプルな説明に主眼があり、PEを使うよりはこの目的に適していること、従来からあるサンプルソフトをそのまま流用したこと、などが理由だと思います。

因みに、PEユーザガイドは、約200ページ、CS+のRL78 APIリファレンス編は、400ページ以上のボリュームがあること、などもAPI自動生成ツールがサンプルソフトで使われない原因かもしれません。良いツールには、それなりの解説書が必要です。ただ、背景記述が少ないのと、クイックレファレンスがほしいです。

iPhoneやスマホを使うと、本当に良いツールは、マニュアル無しでも使えるモノかな?とも思いますが、コンシューマ向けと、マイコン開発のようにプロフェショナル向けのモノとでは違って当然ですね。

テンプレート開発ボードのPE

テンプレート開発ボードFRDM-KE02Z40MでPEが自動生成する周辺回路一覧を、アルファベット順に示します。

テンプレート開発ボードのコンポーネントリスト
テンプレート開発ボードのコンポーネントリスト

多くの周辺回路=Componentの設定が可能です。使用頻度が高いタイマ、GPIO、UART関連、また、ボード実装のTSS: Touch Sensing Softwareや、3軸加速度センサ接続のI2CもKinetis Eテンプレートで使う予定です。 Component Levelとは、アプリ流用の容易さを示していて、Logical Device Driver :LDD、High、Lowの順で流用性が高くなります。

例えば、Lowレベルコンポーネント使用時、既に動いているアプリを別機種へ移植した時に、想定外動作をする時は、このLowレベルコンポーネントからデバッグしていくと良いかもしれません。これはCS+コード生成には無かった機能です。

また、これらPEの設定を出力し、別プロジェクトへ移植する機能もあります。これもCS+コード生成にはありません。CS+は日本語操作できる良くできたIDEですが、多くのコード生成パラメタを別プロジェクトへ引継げないのが(唯一の)欠点だと思います。

PE出力は、テンプレート使用中IDEのCode Warrior :CWとKinetis Design Suite :KDSのどちらにも移植でき、CWからKDSへ変更してもそのまま使えます。Kinetisシリーズ開発環境が、今年CWからKDSへ移行中ですので重要です。

つまり、PEを使えば、

1.アプリ流用性が高まる
2.CW←→KDSのIDE変更は問題なし
更にfreescaleマイコンは(おそらく)同じ周辺回路を使っており、それらのAPIがPEで生成ができるので、
3.freescaleマイコン機種変更も問題なし(の可能性あり)
など3拍子揃ったソフト開発が期待できる、これらがAPI生成ツール:PEをfreescale Kinetis Eテンプレート開発に使う理由です。

IoT向けの無償ARMマイコンOS

弊社、販売中のLPC8xxテンプレートLPC111xテンプレートのライバルが、ARMから無償提供されます。ARM mbedの組込みOS「mbed OS」がそれです。

mbed OSとは

mbed OSに関する記事、「ARMがIoT向けにOSを無償提供開始」と、「ARMは「mbed」フラットフォームでIoT時代を実現させる」によると、ARM社が提供し(つまり、CMSISのOS版になるかも…)、

Cortex-M0/M0+向け、モジュラー構成で必要に応じて選択組込み可能、セキュリティ機能あり、イベントドリブン型OS、mbed Device Server(こちらは有償)との通信によりクラウドサービス利用可能、現在はα版で2015年10月に正式版の予定、NXP/freescaleなどのmbedベンダも参加、オープンソース開発、などなどIoTデバイス開発コスト低減化に効果あり。

かなり強力ライバルです(勝手にライバル視しましたが、ARM社様、ご容赦を…)。今後、ウオッチを続けたいと思います。

組込みマイコンのマルチタスク化

確かに組込みマイコンに多くの機能を実装する時、OSがあれば楽だと思うことがしばしばあります。Windowsデスクトップアプリ開発などを経験すると、より一層感じられることで、IoT時代のマイコンにはmbed OSなどの組込みOSが、必須プラットフォームになるでしょう。

ただ、OSを利用しようとすると、それなりの基礎知識が必要になります。有名な組込みマイコンOS:FreeRTOSなども、使い始めのステップが結構高く、大規模/多人数ソフト開発なら便利でしょうが、普段使いには躊躇します。

さらに、ベンダや機種毎に異なる基礎知識、商用Windowsの例では、OS更新時の手間など、実アプリ開発着手の前段階、メンテで労力を使い果たしてしまいます。これらに関しては、mbed OSで統一されれば、明るい見通しはあります。

マイコンテンプレートの市場

そんな背景で開発したのが、マイコンテンプレートです。簡易マルチタスク化、デバッグ容易、サンプルソフト流用得意、などの特徴があります。イメージ的には、以下の範囲での適用が市場です。

テンプレート市場と対応マイコン
テンプレート市場と対応マイコン

先の記事に、ARM mbedとIntel市場の違いをKris Flautner氏が説明されていましたが、(勝手に無断)引用させて頂くと「mbed OSは非常にハイエンドのモノで、それに対して弊社テンプレートがフォーカスするのは、無償IDEで開発できるプログラムサイズの低価格な組込みマイコンの市場。両者は全く異なる。」と言えます。

販売中のテンプレートの骨格説明と、一覧はコチラをご覧ください。

RL78/G1xテンプレートVersion3販売

RL78/G13とRL78/G14の習得、アプリ早期開発に使えるテンプレートがVersion3に進化しました。販売価格は、従来版と同じ1000円(税込)です。

RL78/G1xテンプレートVer3(第3版)の特徴

Ver3は、テンプレート動作環境を、「4種CPUボードとRL78/G1x開発推薦ボードの2種類」とし、CPUボードには、「シンプルテンプレート」を、推薦開発ボードには、「メニュードリブンテンプレート」を適用したものをセットで販売します。

テンプレート適用例を、CPUボード実装ハードのみを動作させるシンプルなテンプレート適用例と、RL78/G1x開発推薦ボードへ、組込み機能をほぼ全て盛込み、UARTメニューで処理選択できるメニュードリブンテンプレートの2例を示すことで、Ver2に比べ、よりテンプレート動作が解りやすくなり、テンプレート機能の応用、流用が簡単になりました。

RL78/G1xテンプレート対応ボード一覧

Ver3対応ボード 名称 ボード実装制御ハード
CPUボード RL78/G13 Promotion Board LED
RL78/G14 Promotion Board LED x2, SW
QB-R5F100LE-TB LED x2, SW
QB-R5F104LE-TB LED x2, SW
推薦開発ボード BlueBoard-RL78/G13_64 LED, トリマ, SW, ブザー, LCD, UART, など

 

テンプレート説明資料

テンプレート説明資料のP1とP2を示します。

テンプレート説明資料P1
テンプレート説明資料P1
テンプレート説明資料P2
テンプレート説明資料P2

説明資料には、もくじの内容を記載しております。これもVer1/2のご購入者様のご意見、ご質問などの内容から、解りにくい箇所を加筆修正し、より解りやすくブラッシュアップいたしました。

本テンプレートが、皆様のRL78/G1xマイコン習得、アプリケーションの早期開発や評価のお役に立てれば幸いです。

購⼊ご希望の⽅は、メール(宛先:info@happytech.jp)にてお知らせください。銀⾏振込⼝座を返信いたしますので、この⼝座へ代⾦の1000円(税込)を振込でください。振込確認後、本テンプレートVer3⼀式(4種CPUボード別のシンプルテンプレート + 推薦開発ボードのメニュードリブンテンプレート + テンプレート解説全ページ、ZIP圧縮合計約3MB)をメールにてお送りします。

CubeSuite+が2つのCS+へ分離

10月1日発行のRunesas Tool Newsによると、CubeSuite+が、新しい製品名CS+になり、バージョンがV3.00.00となりました。同時に各種ツールもバージョンアップされましたので、マイナーチェンジではなく、フルモデルチェンジ相当の変更です。

この新CS+で販売中のRL78/G1xテンプレート動作の確認を行い、問題なく動作しました。また、これを機にテンプレートの動作環境を見直し、従来の「市販CPUボード4種+ブレッドボードに外付けハード」から、「推薦評価ボードと市販CPUボード4種」の構成に変更します。

新CS+の構成

CS+は、78K、RL78、V850開発用の「CS+ for CA, CX」と、RX、RH850開発用の「CS+ for CC」の2つのIDEに分割されました。アップデートは、旧CubeSuite+のアップデート・マネジャで行えますが、RL78開発をする方は、「CS+ for CA, CX」のみをUp対象にし、使わないRXやRH850用のツールは、統合アンインストーラで削除すると、より少ないディスク容量で環境構築ができます。

ニュースには様々な変更内容が記載されていますが、私はCS+ for CA, CXが、旧CubeSuite+と同じに見えました。IDEの2分割と既知の問題修正で、新バージョンの3にしたと思います。対応マイコン種類が増えたので小回りが利くように分割し、今後は、各IDEで個々にUpする方針だと推測します。

新CS+での動作確認

前回Up時に発生したコード生成パラメタが新環境へ引継がれないという不具合もなく、Win7/8.1ともに、あっさりと新CS+ for CA, CXを使ってコード生成→プロジェクト再ビルド→ダウンロード→実行確認に成功しました。

但し、CS+起動時、セキュリティソフト(Avast)が無用なファイル解析をしてCS+の起動が遅くなるのは、私の環境だけの問題でしょうが…。

RL78/G1xテンプレートの動作環境

これまでは評価ボード:RL78/G13 Promotion Board(RL78/G13スタータキット)にLEDやSW、LCDなどをブレッドボードで外付けし、動作環境を作っていました。この方法は、テンプレート購入者様がブレッドボードにハードを追加する手間が必要で、結線ミスなどが発生することがありました。

この手間を省くため、LPC111xやLPC8xxテンプレートでは、評価ボードとLCD等が実装済みのBaseBoardを使い、極力配線なしでテンプレート動作環境を構築しました。

RL78/G1xテンプレートでもRL78/G13推薦評価ボードをテンプレートの主動作環境とします。そして、RL78/G13 Promotion Board、RL78/G14 Promotion Board、QB-R5F100LE-TB、QB-R5F104LE-TBの4種CPUボードは、ボード実装のLEDを1秒毎に点滅させるシンプル動作のテンプレートを実装します。

つまり、RL78/G13推薦評価ボード:BlueBoard-RL78/G13_64に色々な機能を追加したメニュードリブンテンプレートを、それ以外のCPUボードはシンプルテンプレートを適用したものをパッケージ化し、これをRL78/G1xテンプレートVersion 3(第3版)とします。

BlueBoard-RL78/G13_64は3800円ですので、CPUボードにLCDやSW、UARTドライブなどをブレッドボードで追加するよりも安価にテンプレート動作環境が構築できます。

既にRL78/G1xテンプレート第2版をご購入済みの皆様は、第2版のBlueBoard-RL78/G13_64サブプロジェクトは、第3版と同じです。その他CPUボード対応のサブプロジェクトが、LEDの1秒点滅のみに変更(簡易化、単にLEDドライバのみ実装に変更)されたと考えて頂ければ間違いありません。近日中に、RL78/G1xテンプレート第3版発売を発表する予定です。

LPCXpresso_7.4.0リリースとデバッガ接続トラブル

9月16日、LPCXpressoの最新版LPCXpresso_7.4.0_229がリリースされました。販売中のLPC8xx、LPC111xテンプレートともに、最新版で動作確認完了しました。しかし、デバッガ接続時、注意することがあります。

デバッガ接続時のトラブル

デバッガ接続時、以下のエラーメッセージが表示されGDBへ接続できません。

デバッガ接続エラーメッセージ
デバッガ接続エラーメッセージ

これは、セキュリティソフトAvastが原因で、以下の方法で回避できます。

デバッガ接続トラブル回避方法
デバッガ接続トラブル回避方法

Avastの「常駐保護を無効にするに設定」(10分間~再起動まで停止は任意)すると、これまでの旧版LPCXpressoと同様デバッガに接続できます。Avastバージョンは、2014.9.0.2021です。

トラブル発生の開発環境は、Windows7 Ultimate 64/32ビット、Windows8 Pro 64ビットです。他のセキュリティソフトでも同様のトラブルが発生する可能性がありますので、ご注意下さい。これは、Avast側のバージョンアップで発生しなくなる可能性もあります。

セキュリティソフト、結構やっかいな相手です。

PS: Welcome画面、旧版LPCXpressoは、CloseしてもOKでしたが、新版はCloseするとIDEがダウンします。Welcomeは表示し続ける必要がありそうです。