データフラッシュライブラリ Type04 V1.05 リリースノートのリビジョンアップ

2014年12月16日のRunesas Toolニュースで、弊社RL78/G1xテンプレート使用中のデータフラッシュライブラリType04リビジョンアップのお知らせがきましたので、解説します。

データフラッシュライブラリ本体変更なし

変更箇所は、ユーザーズマニュアルとリリースノートの部分で、「ライブラリ本体は変更なし」です。従って、「RL78/G1xテンプレートも変更なし」です。

QB-R5F100LE-TBのサンプルプログラム添付

ユーザマニュアルにも変更があるようですが、重要なのは、リリースノート8章のRL78/G13 QB-R5F100LE-TB ボードのサンプルプログラムです。

この8章に、簡潔にデータフラッシュライブラリのCS+での使い方と、リンク・ディレクティブ設定が書かれています。ライブラリ使用をご検討の方は、先ずこれを読んで、理解不足箇所をユーザーズマニュアルで補足すればポイント理解が早まると思います。

データフラッシュライブラリ理解は進むが…

添付サンプルプログラムは、CS+のプロジェクトファイルではありません。リリースノート記述がCS+対応なだけに、個人的には、不親切で残念な気がします。ストレージ容量削減のためでしょうか? データフラッシュライブラリを使うレベルの技術者なら、Cソースとリンクディレクティブファイルのみで十分と判断したためでしょうか? 疑問です。

これらファイルをCS+のプロジェクトへ組込む時の留意点は、リリースノート記載の高速オンチップ・オシレータを32MHzへ設定する以外にも多々あると思いますが、これらをいちいち細かく説明すると説明が長くなります。最も効率的な方法が、実際のCS+のプロジェクトを提供する事だと思います。せっかくのサンプルが、何らかの問題で動作しなければ徒労に終わるからです(「何らかの問題」は、マイコン開発では頻繁に発生します)。

弊社テンプレートファイルは、対象マイコンの標準的な無償開発環境と評価ボードで動作します。RL78/G1xテンプレートでは、CS+プロジェクトでQB-R5F100LE-TBを含む4種類の評価ボードをサポートしており、そのままボードにダウンロードすれば動作確認ができます。このテンプレートへ、リリースノート添付サンプルを組込むと、CS+設定不足やミスなどを避けて確認ができると思います。

弊社テンプレートは、このようにお手元にあるサンプルプログラムをそのまま流用/組込み可能なことも特徴の1つです。テンプレートの活用方法として、この組込み容易性にも留意して頂けると嬉しいです。

サンプルプログラム説明の重要性

動作プログラムは、いろいろなパラメタが設定済みで、その結果、動作するものです。パラメタ設定がデフォルトなら問題なしですが、変更した箇所は、だれもが判るような工夫、解説は必要と考えます。どの程度説明するかが悩ましいトコロですが、弊社テンプレート説明資料は、極力この方針で作成しております。ご購入者様のご質問や、お問い合わせ内容などは、テンプレート改版時に反映させますので、お気軽にcustomerservice@happytech.jpへお問い合わせください。

Kinetis Eテンプレート発売

ARM Cortex-M0+ Kinetis Eテンプレート発売開始

freescaleのKinetis Eテンプレート、Processor Expert自作サンプル添付版を¥1000(税込)で販売します。テンプレート解説資料の、P1:概要とP2:仕様を示します。

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

Kinetis Design Studio自作Processor Expertサンプル添付

テンプレートは、LED出力とSW入力のみを組込んだ「シンプルテンプレート」と、組込み必要機能をほぼ全て盛込んだ「メニュードリブンテンプレート」の2つに、Kinetis Design Studioと評価ボードで動作確認済みの「自作Processor Expertサンプルソフト(ADCやTimerなどの17種)」を添付し、もくじ内容の説明資料付きで¥1000です。

購入ご希望の方は、メール(宛先:info@happytech.jp)にてお知らせください。銀行振込口座を返信いたしますので、税込代金¥1000円を振込でください。入金確認後、全もくじページとテンプレート、PEサンプルを一式にしてZIP圧縮ファイル(約30MB、PEサンプルなどを含むため、サイズが大きいです)をメールにてお送りします。後は、ご自由にテンプレートに変更や修正を加えて頂いて、Kinetis E早期習得、アプリ開発に役立てて頂ければ幸いです。

KDS IDE Tipsを豊富に記述

マイコンテンプレートサイトには、テンプレート添付の自作Processor Expertサンプル一覧(もくじP7)とシンプルテンプレート写真(もくじP13)も掲載中です。今回は、特に2014年夏新リリースのKinetis Design StudioのTips(もくじP9-12)にも重点をおきました。現在KDSは、2.0.0ですが、新開発のEclipseベースIDEなので、これらTipsがあると、開発ステップの最初のつまずきが無くなります。その他3種類のマイコンテンプレートの記事も掲載していますので、合わせてご覧ください。

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

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

マイコンと自動車

年末に公表された2つの記事から、マイコン半導体ベンダと自動車会社の共通性について考えます。

車載マイコンの世界シェア

図1 車載マイコンシェア(記事の図より一部抜粋)
図1 車載マイコンシェア(記事の図より一部抜粋)

図1は、車載半導体シェアの記事から、マイコン部分のみを、私が抽出したものです。記事は、昨今の車電動化に伴って、車載半導体とドイツInfineonの伸びが著しいことを記載しています。弊社マイコンテンプレートのルネサス、Freescale、NXPは、図の上位にあります。

ARMコアマイコン提供数

図2 ARMコア供給数(FTF2014 FTF-IND-F0738より一部抜粋)
図2 ARMコア供給数(FTF2014 FTF-IND-F0738より一部抜粋)

図2は、2014年12月4日に開催されたFreescale Technology Form 2014、FTF-IND-F0738の4ページ記載ARMコアマイコン提供数上位のみを、私が抜き出したものです。M0+マイコンでは、FreescaleとNXPは図では同数ぐらいに見えます。オリジナルは、ルネサスもありましたが、少数なので割愛しました。

半導体ベンダと自動車会社の境遇

「超巨大な市場+市場の継続的な伸び」が必須という意味で、半導体ベンダと自動車会社は、同じ環境です。車載半導体が増えれば、制御マイコンも増えます。ただ、マイコン特有問題として、ソフトがあります。半導体ハードの接続インタフェースは統一されていて、複数社の選択/置換えが可能ですが、マイコンはそうはいきません。

同一ベンダでも機種が変わるとソフト、特にアプリケーションの移植は困難です。マイコンがARMコアで、IDE開発環境がEclipseで統一されつつあるのは、このソフトの流用可能性が高まることが背景にあります。1社独占、しかもガラパゴス環境では、採用リスクが大きくなるからです。

選択と集中、そして業界標準

「選択と集中」、この経済判断が、次々に産まれては消えていく自動車です。20年もすれば愛車も廃車、但し自動車なら新車に乗り換えても、普通に運転できます。しかし、マイコンはそうはいきません。

長い目で見ると、我々、技術者/開発者にとってIDE開発環境やマイコンAPIが同じになることは、必要なのかもしれません。自動車は、業界標準が確立後に、各社バラエティーがあります。マイコンは逆に、各社バラエティーが先で、徐々に業界標準化されつつあるのかもしれません。

実動作のマイコンテンプレート

弊社マイコンテンプレートは、低価格な評価ボードと無償IDEで動作確認済みです。マイコン立ち上げ時の「つまづき」がなく、1人でも手軽に、使った経験が無いマイコンやIDEを動作させて試すことができます。

動作できることは、絶対に必要です。現在のマイコン環境は、各社ハラバラです。新マイコン乗換えは、既成マイコンの概念がジャマして、つまづき、動作できないことが良くあります。新車を運転できて初めて、愛車とのクセや違いが判るのです。つまり、使用中マイコンの良さに改めて気が付くこともできます

シンプル/メニュードリブンテンプレートは、全てのテンプレートに付属しますので、その差分/共通部分の比較も容易です。

とかくしわ寄せが集まる技術者/開発者の、マイコン機種が変わった時の(心の)シミュレーションや、移植の参考にもなります。このシミュレーションを、一度でも経験したことが有るのと無いのとでは、実体験時、かなりの差になると、経験者の私は思います。

マイコンテンプレートのサイト立上げのお知らせ

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

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

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

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

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

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

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

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

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

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

Kinetis Design Studio 2.0.0リリース

11月24日Kinetis Design Studioの新版2.0.0がリリースされました。Kinetis Eテンプレートもこの新しいKDS2.0.0で開発します。このKDSにも期待した評価ボード:FRDM-KE02Z40MのProcessor Expert: PEサンプルソフトは付属していません。このことは、テンプレートに自前PEサンプルソフトをつけて販売するというKinetis Eテンプレートの狙いには好都合です。

今回は、KDS2.0.0の簡単な使い方を説明します。

コードサイズ制限なしのKDS

freescaleのIDEには、Code Warrior: CWとKDSの2つがあります。KinetisシリーズはKDSでサポートされ、CWは今サポートしているKinetisのみで打ち切りです。CWは、無償版128KB制限がありますが、KDSは、コードサイズ制限なしで無償版のみです。どちらもEclipseベースですが、細部は異なります

KDSインストール

インストールは簡単です。サイトからWindows版インストーラをダウンロードし、実行すれば完了です。Cドライブ直下のC:\Freescal\KDS_2.0.0\にインストールされます。

起動すると、最初にワークスペースの場所指定が必要です。Cドライブのデフォルトワークスペースを使う場合は、そのままですが、私は、Dドライブのマイドキュメント内にワークスペースを作成します。これにより、KDS再インストやUpdateでも、自作したプロジェクトファイルは影響をうけません。ワークスペース指定後は、別プロジェクトのインポート、または、新プロジェクト作成の作業をします。

サンプルソフトのインポート

KDSの評価ボード:FRDM-KE02Z40Mのサンプルソフトが少ないことは以前記載しました。そこで、別ボードサンプルを使う場合や、CWサンプルをインポートする場合は、「Copy projects into workspaceのチェックを外す点」に注意してください。☑したままでインポートすると、インポートソースの表示ができません。

CodeWarriorサンプルソフトのインポート例
CodeWarriorサンプルソフトのインポート例

新プロジェクト作成

自前のプロジェクト作成時は、File>New>Kinetis Design Studio Projectを選択します。プロジェクト名を入力後、BoardsかProcessorsを選択します。Boardsとは、FRDMなどの評価ボード、ProcessorsとはKDSでサポートしているKinetisシリーズのことです。残念ながらFRDM-KE02Z40MはBoards選択肢にありませんので、Processors>Kinetis E>MKE0x/KEA>KE02Z/KEAZN(20MHz, 40MHz)>MKE02Z64xxx4を選びます。この後、コード生成ツールとしてProcessor Expert: PEを使うか否かの選択をします。

Processor Expertt利用の選択肢
Processor Expert利用の選択肢

PEを選択しないと殆ど何もないmain.cを持つプロジェクトができます。一方、PE選択時は、main.c/Event.c/Event.hの3ファイルから成るスケルトンプロジェクトが生成されます。main.cは、スタートアップ処理後の最初に起動される関数main()を含むファイルで、Event.cとEvent.hは、割込み処理ファイルです。

PE利用時のユーザコード追加

Processor Expert利用のユーザコード追加場所
Processor Expert利用のユーザコード追加場所

main.cとEvent.c/Event.hの一例を示します。ユーザコードを追加できる場所は、/* Write your…*/の後です。この指定場所にPEで作成したコンポーネントのAPI関数を使ってユーザコードを追加していけばソースコード完成です。PEでコンポーネントを変えてAPIを再生成した場合でも、指定場所に追加したユーザコードはそのまま保存されます。

PEを利用しない場合は、これらAPI関数や割込み処理ファイル分割も自分で設計する必要があります。

ソースコード完成後は、ビルドとデバッグの繰返しです。ビルド、デバッグの一連作業は、EclipseベースのIDEならどれも違いはありません。これが、Eclipse IDEが開発者に好まれる理由です。

Kinetis Eテンプレートとは、

KDSを使った、ワークスペース設定>プロジェクト作成>ユーザコード追加>ビルド>デバッグ作業を簡単に説明しました。何回かプロジェクト作成を経験すると、いつも同じようなユーザコードやファイル構成に出合います。Kinetis Eテンプレートは、この同じようなコードとファイル構成を纏めてテンプレート化したものです。つまり、PEが作成したスケルトンに、より完成アプリに近いユーザコードを肉付けし、ファイル構成に工夫を加えたものです。そして評価ボードで動作確認済みで提供します。

PE出力のスケルトンファイルは、どのようなアプリにでも対応できる基本形ですが、API関数を除くと殆どゼロのコーディングスタートです。テンプレートを使えば、このゼロスタートをかなり改善できます。また、時分割の簡易マルチタスク処理も行いますので、OSを使うほどではないマイコンアプリには最適です。結果として、アプリの早期開発、問題点抽出ができます。テンプレートに関する詳細な情報も添付しますので、初心~中級レベルの開発者にとっては有用です。

さらに、評価ボードで動作確認済みの多くの自作PEサンプルソフトをKinetis Eテンプレートに添付します。これで、KDS付属サンプルソフトが少ないことを補完できます。PEサンプルとテンプレートを合わせて使うと、より早くKinetis E理解、アプリ開発ができます。販売開始は、2014年末予定です。

 

現在販売中の他マイコンのテンプレート一覧は、コチラをご覧ください。

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で提供して頂けるとマイコン開発者にとってはありがたいですが、無理でしょうね。