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は表示し続ける必要がありそうです。

ARM Cortex-M0+マイコン Kinetis Eシリーズの特徴

2014年末発売予定のfreescale Kinetis EテンプレートのマイコンKE02Z64xx4の特徴と評価ボード、開発環境を示します(発売済みテンプレート一覧はコチラ)。

5V Cortex-M0+ マイコン:MKE02Z64xx4仕様(一部抜粋)

動作電圧 2.7~5.5 V (ワイドレンジ電源電圧)
ARMコア Cortex-M0+/40MHz
Single cycle 32-bit x 32-bit multiplier
Single cycle fast I/O access port
メモリ ROM:64KB
EEPROM:256B
RAM:4KB
アナログ入力 12-bit SAR ADC
Two analog comparators
通信 Two 8-bit Serial Peripheral Interfaces (SPI)
One I2C modules
Three UART modules
タイマ One 6-channel Flex Timer/PWM (FTM)
Two 2-channel Flex Timer/PWM (FTM)
2-channel Periodic Interrupt Timer (PIT)
Real time clock (RTC)
System tick timer
One watchdog module
GPIO 57
価格 300円程度、DigiKey調べ(2014年9月時点)

 

評価ボード:FRDM-KE02Z40M

FRDM-KE02Z40Mブロック図
FRDM-KE02Z40Mブロック図
搭載マイコン MKE02Z64VQH4 
ボード実装回路 10MHz水晶発振子
3色LED
3軸加速度センサ
タッチパッドスライダ
赤外線センサ
温度センサ
デバッグIF OpenSDA
価格 1500円程度、DigiKey調べ(2014年9月時点)

※この評価ボードへ、LPC8xxやLPC111xテンプレートで使ったBaseBoardのUARTドライバやLCDを接続予定です。

開発環境:IDE

統合開発環境IDEは、CodeWarrior:CWと、Kinetisシリーズ専用のKinetis Design Suite:KDSの2つあります。サンプルソフトが豊富で参考情報も多く、歴史が古いのがCWで現版数10.6。Kinetisシリーズ以外の5種freescaleマイコン開発もできます。インスト後、30日間は容量制限なし、有償登録しない場合は、256KB128KBの制限付きになりますが、Kinetis開発には問題なしです。

今年夏、新規開発されたKDSは、ARM Cortex-M0+マイコンKinetisシリーズ専用で、現版数1.1.1です。freescaleは、今後、CWからKDSでKinetisシリーズをサポートするとアナウンスしています。

どちらのIDEも、eclipseベースです。Processor Expert:PEと呼ばれる強力なAPI生成ツールがプラグインされており、このPEを使うと、素早く移植性の高いソフトが作れそうです。ルネサスCubeSuite+のコード生成ツールと似ています。

両者をサラッと使ってみた結果、現段階では、サンプルソフトや有用な情報も多いCWをテンプレート開発に使います。開発マイコンをKinetisのみにしてインストールすると、KDSと同程度のプログラムサイズになります。KDSには、豊富なCWサンプルプロジェクトをKDS用へ変換するマニュアルがあるのですが、私は上手く変換できなかったため、現版KDSは、使うのを断念しました。

Kinetis Eテンプレート開発ポイント

Kinetis Eシリーズは、「ARM Cortex-M0+コアで5V動作」する業界初のマイコンです。入手性が良く、低価格、評価ボードの豊富な実装回路も魅力です。PEを上手く使って、移植性に富んだKinetis Eマイコン向けテンプレートを開発したいと思います。

ポイントは、この「Processor Expert:PEの効果的活用」です。このあたりは、追々本ブログにノウハウ等を記事にする予定です。

NXP ARMコアマイコン利用メリット検証(その2)

ARMコアマイコン利用メリット検証の2回目は、テンプレート開発で気がついたCortex-M0+とM0の差分を示します。

GPIOセット/クリアレジスタの有無

32ビットマイコンのCortex-M0/M0+は、GPIOレジスタに対して、ビット単位のセット/クリア処理が必要です。レジスタのビット位置が、IOピンの操作に対応しており、ピン単位の入出力方向や初期値設定を行うからです。

後発のCortex-M0+のLPC820には、GPIOポートセットレジスタ:SET0、クリアレジスタ:CLR0、トグルレジスタ:NOT0が追加されました。これらは、先に開発されたCortex-M0のLPC1114にはありません。

LPC820GPIOのセット、クリア、トグルレジスタ
LPC820GPIOのセット、クリア、トグルレジスタ

これら追加レジスタを使うと、特定ビットを変更するビット演算時に、ソフト記述が簡単です。例を示します。

ARMマイコン Cortex-M0+ / LPC820 Cortex-M0 / LPC1114
ビット演算例 ビット演算1 ビット演算2
説明 ビットクリア、セットともにビット演算子「|=」を使う ビットクリア時は、演算子「&=~」、ビットセット時は、演算子「|=」を使う

 

このように、LPC820は、同じオペランド「|=」を使って、ビット単位のセット/クリア/トグルを表現できます。一方、LPC1114は、セット時は「|=」、クリア時は、「&=~」を使い分ける必要があります。

これらレジスタは、Cortex-M0+の特徴の1つ、「Single-cycle fast I/O access port」の実現手段かもしれませんが、ここでは、ソフト記述の容易さに着目して差分を説明しました。

I2C APIの差

これは、前回記事に記載したように、LPCOpen版数の差に起因していると思いますので、簡単に現状での差分を示します。

ARMマイコン Cortex-M0+ / LPC820 Cortex-M0 / LPC1114
I2C APIマスタライト例  マスタタイト1  マスタタイト2

 

主観評価

販売中のテンプレートで使った差分を示しました。これ以外はそのまま使えるので、差分がデメリットになるほど労力がいらないこと、後発マイコンCortex-M0+には、ソフト記述が容易になるようなレジスタが追加されたことがお判りになったと思います。

つまり、GPIOの場合、Cortex-M0からM0+への移植:ポーティングは、LPC1114でポート番号が0~3あったものが、LPC820では0のみになったことに注意すれば、殆どそのまま使えます。但し、新たに追加されたGPIOセット/クリア/トグルレジスタを活用すれば、より簡単にソフトが記述できます。LPC8xxテンプレートも、これらレジスタを活用しています。

新しいCortex-M0+マイコンほど、よりソフト開発が容易なっていると言えるでしょう。

NXP ARMコアマイコン利用メリット検証(その1)

ARM Cortex-M0搭載のLPC111xテンプレート発売で、同一ベンダNXPでのARMコアCortex-M0+からCortex-M0へのテンプレート移植が完了しました。そこで、NXP ARMコアマイコン利用のメリット/デメリットについて、数回に分けて示します。

NXP Cortex-M0+マイコンのテンプレート移植

NXP Cortex-M0+マイコンからCortex-M0マイコンへの移植
NXP Cortex-M0+マイコンからCortex-M0マイコンへの移植

同一ベンダのCortex-M0/M0+ソフトの差

一言で言うと、NXP Cortex-M0/M0+のソフト差は、殆どありません。ルネサスのRL78/G13(S2コア)とRL78/G14(S3コア)と同じ程度と言えば、RL78/G1xユーザには判っていただけるでしょう。

差がある箇所(概要)

アナログ入力は、コンパレータとADCで内蔵周辺回路が異なるため、制御ソフトは異なります。

一方、内蔵周辺回路名が同じでも、後発のLPC820では異なるものがあります。LPC820のGPIOクリアレジスタがそれで、LPC1114にはありません。これは、ソフト記述がより簡単になるように専用レジスタが追加されたと推測します。

また、テンプレートではLPCOpenライブラリの版数が異なるため、I2C関連のAPIも異なります。これは、版数が同じになれば、同一APIになると思います。敢えて、異なるAPIにする意味はないためです。対策に変換関数を自作すれば済むことですが、一方に合わせずに素のAPIをそれぞれのテンプレートに使いました。

これら差分箇所は、次回以降、詳細に示していきます。

一致する箇所

マイコンコア制御、つまりCMSISライブラリに相当する部分については、APIレベルで一致します。従って、Cortex-M0+とCortex-M0のARMコア差はソフトでは見えなくなります。

主観評価

半導体は、ムーアの法則にしたがって、微細加工とハード集積化が進みます。マイコン半導体ベンダは、市場が、動作電圧や、周辺回路などのハード互換性要求が強いため、これまではこのムーア則を、主としてハード低価格化、利益増加へ使っていたと思います。

しかし、徐々にソフト開発の要求も、この法則へ適用しつつある気がします。例えば、LPC820のGPIOクリアレジスタ追加や、ROMライブラリ追加などがそれです。これらハード追加により、従来ソフトがそのままでは使えませんが、同じ機能を、より高速、かつ簡単なソフト記述でできます。

ARM Cortex-M0+のLPC8xxシリーズは、Cortex-M0のLPC111xシリーズよりも後発であるため、これらの恩恵を受けて、より効率的なソフト開発ができます。また、従来Cortex-M0ソフト資産を活かしてM0+へ移植する際も、少ない手間でポーティングできるでしょう。

ARMコア利用メリットは、後発ハードの性能向上、既存ソフト資産の継承のし易さ、これら両者がもたらす「確実な処理能力の向上」にあると思います。機種が異なるマイコンへのソフト移植は、処理能力が本当に向上するか否かは、実際に開発完了するまでは「賭けの要素」もありました。

しかし、少なくともARMコアを使う限り、この「掛けのリスク」がかなり減るということを、今回のテンプレート移植は、M0+からM0という時間を逆に遡る方向でしたが、実感しました。

 

本記事は、同一ベンダNXPのARMコア利用のメリットを概観しました。デメリットに相当する差分の詳細は、次回以降に示します。また、別ベンダで同一ARMコアのテンプレート移植例として、freescaleのKinetis Eシリーズ/Cortex-M0+で評価します。

LPC111xテンプレート発売

ARM Cortex-M0 LPC111xテンプレート発売開始

Cortex-M0搭載のLPC111xテンプレート(LPCOpenライブラリ版)を¥1000(税込)で販売します。テンプレート概要と仕様は下記です。

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

テンプレートは、LED出力とSW入力のみを組込んだ「シンプルテンプレート」と、組込み必要機能をほぼ全て盛込んだ「メニュードリブンテンプレート」の2つセットで、もくじ内容の説明資料添付で¥1000です。

購入ご希望の方は、メール(宛先:info@happytech.jp)にてお知らせください。銀行振込口座を返信いたしますので、税込代金¥1000円を振込でください。入金確認後、全説明ページとテンプレートプロジェクトをメールにてお送りします。後は、ご自由にテンプレートへ変更や修正を加えて頂いて、LPC111xx習得や、本来のアプリ開発に役立てて頂ければ幸いです。

「シンプルテンプレート」は、LPCXpressoプロジェクトファイルで、LED出力とSW入力のみの機能をプログラム済みです。

「メニュードリブンテンプレート」は、シンプルテンプレートにADC、I2C EEPROM、LCD、UARTなどの組込みマイコンに必要な機能をほぼ全て実装したテンプレートです。

どちらのテンプレートもLPCXpressoLPC1114評価ボード(NXP製)mbed-Xpresso BaseBoard(NGX Technologies製)を接続し、動作確認済みです。PC接続のメニュードリブン方式のため、関数単位で移植性が高いソフトです(もくじP1動作中の写真、P5ファイル一覧、P11ハードウエア構成などを参照)。

テンプレートは、NXP/ARM社提供の最新版LPCOpenライブラリ(v2.00a)を使っています。LPC111xは、上記の他に、従来版ライブラリもありますが、本テンプレートは使っていません(もくじP7に詳細記載)。

Cortex M0マイコンのLPC1114は、8/16ビットマイコンの置換えを狙った、従来品より高性能な割込み専用回路や低消費電力、低価格が売りの、世界定番ARM32ビットマイコンです。本テンプレートと確実に動作する市販評価ボードを使えば、LPC111x習得、早期アプリ開発や評価に最適な環境が得られます。

このテンプレート対象者は、初級~中級のソフト開発者です。上級者は、これに似たテンプレートを既に持っているからです。本来は、上級者がテクニックを含む自分のテンプレートを初級~中級者へ教え、教えられた側でさらに、テンプレートに修正を加えれば、技術継承も容易です。しかし、この継承は、習得済みの者にとっては、オーバーヘッドで、未習得の者にとっては、理解困難な面が多いものです。

販売テンプレートには、詳細なもくじ資料が付いていますので、だれにでもその内容が理解できます。また、テンプレートソースには、「判りにくい英語ではなく、日本語コメント」を豊富につけていますので可読性も高いと思います。

販売テンプレート一覧

このテンプレートを含めて、3種テンプレートが各1000円(税込)販売中で、本年末にさらに1種追加予定です。

テンプレート名 対象マイコン(ベンダ) 動作ハード 備考 ブログ検索タグ 最新版リリース日
LPC111xテンプレート(Cortex-M0 LPC1114/1115 (NXP) LPCXpressoLPC1114+BaseBoard LPCOpenライブラリ使用 LPC1114 2014/09/06
LPC8xxテンプレート(Cortex-M0+ LPC8xx (NXP) LPCXpressoLPC820+BaseBoard LPCOpenライブラリ+ROMライブラリ版 LPC820 2014/05/18
RL78/G1xテンプレートV2(RL78-S2/S3コア) RL78/G13、G14 (Runesas) ・BB-RL78G13-64(V2で追加)
・G13スタータキット
・G14スタータキット
・QB-R5F100LE-TB
・QB-R5F104LE-TB
(+ブレッドボード)
CubeSuite+のコード生成API利用。BB-RL78G13-64以外は、ブレッドボード上にマイコン周辺回路製作要。 RL78/G13
RL78/G14
2014/10/10
Kinetis Eテンプレート(Cortex-M0+ Kinetis E/40MHz (freescale) FRDM-KE02Z40M+BaseBoard 【開発中】 Kinetis E 2014/12E予定

※ARM Cortex-M0/M0+マイコンの周辺回路は、BaseBoard実装済み回路を使います。
※RL78/G1xテンプレートは、周辺回路実装済みのBB-RL78G13-64(NGX Technologies製)で改版、改良を行う予定です。

本ブログは、これらのテンプレート情報や、開発Tipsなどを混載していますが、各記事にはブログ検索タグを付けています。このタグ、またはテンプレートでブログ右上のSearch:検索を実行して頂くと、タグ別表記になります。テンプレート毎の詳細記事や記載内容を個別にご覧頂く際に便利です。

テンプレートご購入者様の特典

既にテンプレートをご購入された顧客の皆様への特典として、新たに別テンプレート購入の際には、半額(500円、税込)にディスカウント致します。是非、新しいテンプレートを活用して、別マイコン開発へ挑戦して頂く際にご利用下さい。

また、ご購入頂いたテンプレートに関するご意見、ご希望なども、テンプレート改版や新テンプレート選定などへ反映させて頂きますので、既にお知らせした宛先までお寄せ下さい。

クライアントデバイスOSシェアとマイコン

以前書いたマイコンとスマートフォンとの接続が今後主流になるという記事を補足するデータを見つけたので紹介します。

クライアントデバイスのOSシェア
クライアントデバイスのOSシェア

これは、PC Watchの「3つのキーワードに隠された次世代Windowsの目標」に記載された、全クライアントデバイスのOSシェアを示すデータで、出典は、調査会社のGartnerです。

このデータを視ると、従来マイコンの接続先だったWindows=PCのシェアは14%で変わらない一方、Android、つまりスマホやタブレットが急激に増えることが判ります(次世代Windowsの目標記事もとても興味深いので、ご一読をお勧めします)。

マイコンでフロントエンド処理を行い、PCと接続して組込みサービスを提供するのが従来は一般的でした。しかし、よりパーソナルで無線接続できるAndroid OS搭載クライアントの登場で、マイコンの接続先もスマホやタブレットへシフトすると思います。スマホ/タブレット+マイコンの組合せは、何か新しい組込みサービスを生む可能性が高いと思います。