無償mbed OS 10月15日リリース予定

mbed OSリリーススケジュール(記事より抜粋)
mbed OSリリーススケジュール(記事より抜粋)

弊社ブログ記載のARM無償提供mbed OSのリリーススケジュールが、“ARM 「mbed OS」とは何か?その詳細と動向”記事にあります。本年2015年10月15日以降には、mbed OSを試せそうです。

mbed OS層構造

mbed OSの構造(記事より抜粋し加筆)
mbed OSの構造(記事より抜粋し加筆)

ARM Cortex-M0/M0+のマイコンに無償で使えるmbed OSは、図のように各種標準通信プロトロルを提供します。ROM容量の少ないマイコンは、この中の一部を選択して実装できるそうです。

CMSISとIPv4、IPv6実装済み無償OSがC++ APIで使える10月15日が待ち遠しいです。弊社テンプレート提供中のARMマイコン、LPC812、LPC1114/5、Kinetis Eにも適用できそうです。

実物を診ないと断言はできませんが、テンプレートもこのmbed OSの上(Applicationsの層)に配置できる気がします。超うすいテンプレートだからです。勝手にライバル視してきましたが、実は、CMSISと同じ感覚でネット接続APIが使える可能性もあり、ますます待ち遠しいです。
一方、IoT向けPC:Raspberry Pi 2に無償提供されるWindows 10にとっては、強力ライバルソフトになりそうです。Raspberry Pi 2は、ARM搭載ですので、当然このmbed OSが実装できると思うからです。

マイコン技術者必読情報

PC Watchサイトの2015年1月1か月集中講座:「IoTの波に乗るマイコン事情」という記事を紹介します。PC用のCPUからスマホ、マイコンまで、全てのプロセサ事情が網羅され、まとめられた記事です。マイコン開発の技術者は、必読です。

マイコン技術者は第4回から読むと良いかも?

8ビット、16ビット、32ビットと変わってきたマイコンの歴史や、位置づけ、現状入手可能なマイコン開発で押さえておくべき特徴などが解りやすく解説されています。この第4回に自分が担当するマイコン記載がない場合には、第2回のARM Cortex記事にくわしく解説されています。

ベンダによるCortex特徴記事は、他社と差別化点のみを強調する傾向があります。Cortexの変遷や特徴などを、ベンダを跨いで解説したARMコア特集の第2回記事を読めば、よりARMコアの理解が深まります。

過去、現在、そして将来

マイコンの機種選定は、難しいものです。現在の価格、入手性は簡単に評価できますが、一旦開発すると納入先での長い運用が始まり、将来の拡張性や動向などを考慮することは、不可能な気もします。しかし、本記事記載の過去の経緯や変遷から、ご自分が開発したマイコンとその開発技術が、将来どうなるか、そして何が本質的に重要な要素かを考えてみるのも良いと思います。

IoTへのヒント

私は、この記事から多くのヒントを得ました。その中の1つを示し、今後のマイコン開発に役立てたいと思います。

第1回より:IoTやセンサーにはMCUが必須で、切っても切れない関係にある。理由はコストと効率性である。MPUは「何でもできる」が「何をさせるのにも適している」わけではない。用途によってはMCU:マイコンを外付けにして、ここに作業をオフロードした方が賢明というケースは少なくない

マイコン消費電力低減の検証

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種のマイコンテンプレートは、全てこの低減方法を実装済みです。

LPCOpen v2.15対応LPC8xxテンプレート発売

LPC8xx用LPCOpenライブラリのv2.15バージョンアップに対応した、LPC8xxテンプレートVersion2を発売します。テンプレート概要と仕様は、こちらのサイトをご覧ください。

LPCOpen v2.15とv2.01の相違点

LPCOpen v2.15は、評価ボードにLPCXpresso824が新たに追加されました。これにより、対応ボードは、LPCXpresso812(テンプレート使用中)、LPCXpresso824、812-MAXの3種になりました。このボード関連で、v2.15には、プロジェクト名とBOARD層名、readme内容に変更があります。主な相違内容をまとめます。

相違点 内容
LPC812ボードプロジェクト名 CHIP層は、”lpc_chip_8xx”に変更

BOARD層は、”lpc_board_nxp_lpcxpresso_812”に変更

BOARD名変更 BOARD_NXP_LPCXPRESSO_812に変更
デフォルトIRC システム動作クロック源供給元が、デフォルトでIRCに変更
I2C I2c_common_8xx、i2cm_8xx.c(マスタ)、i2cs_8xx.c(スレーブ)の3つに分離

APIは不変

APIは、v2.15とv2.01は同じですので、LPC8xxテンプレートは、そのまま使えます。例外は、I2C初期化のみで、Chip_I2C_Init(void)が、Chip_I2C_Init(LPC_I2C)に変更が必要です。

追加されたLPC82xとは

LPC81xで搭載していなかったDMAとADCを搭載(12-bit, max 12ch )し、SCTimer(ステート・コンフィギュアブル・タイマ)/PWMという、ステートマシンとタイマを組み合わせ、イベントや状態遷移、割込み発生ができるタイマを搭載したLPC800シリーズの新マイコン。

 

今回のLPCOpenバージョンアップは、対応ボード追加が主目的と思われます。外部Xtal使用が、デフォルトでIRC使用に変わったことや、I2Cのマスタ/スレーブ分離は、評価ボードを実際のボードへ移植する際には役立つと思います(LPC8xxテンプレートv1では、既にIRC利用に変更済みです)。

個人的には、LPC81xでLPCOpen v2.01ご利用中の開発者様は、あえてv2.15対応にせず、そのまま継続利用することをお勧めします。

LPC8xx用LPCOpen v2.15へ1年3か月ぶりに更新

LPC8xxテンプレートに使用中の、NXP LPC8xx用LPCOpenライブラリが、v2.01(2013/10/04リリース)からv2.15(2015/01/08リリース)へバージョンアップされました。変更箇所(原文)を抜粋します。

Changes

  • Fixed system clock frequency calculation function
  • Fixed IAR/Keil build warnings
  • Added support to run from IRC without using PLL
  • Keil Projects updated to Keil uVision v5.xx
  • IAR Projects updated to IAR version 7.xx
  • Updated ADC and ACMP examples [Directly connects to POT in EA Base board]
  • Examples updated, so that it won’t depend on EA Motor control board
  • Glitch Filter APIs updated
  • Board library UART Fractional generator configuration updated
  • Fixed low power mode API Chip_PMU_SleepState()
  • readme files updated
  • Updated SCT Examples
  • Fixed a stack overwrite problem in IAP code
  • PININT interrupt names made consistent

LPC8xxテンプレート改版予定

これに伴って、LPC8xxテンプレートも、この新しいLPCOpenライブラリを使い、近いうちに改版予定です。先ずは、NXPのLPCOpenライブラリ改版速報をお知らせしました。

ちなみに、LPC111xテンプレートのLPCLPC11xx用のLPCOpenライブラリは、2015/01/10現在v2.00a(2013/09/13リリース)のまま不変です。

マイコン開発ツールの考察

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

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

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

マイコン本体選定と頻度

最重要は、システムに使うマイコン本体の選定です。私は、入手性、価格、性能、開発のし易さの順に選びます。個人利用可能な電子部品サイトは、秋月通商、マルツ、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つの方法です。必要経費を、最初の表に示しました。この程度の金額であれば個人でチャレンジすることも容易だと思うのです。

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年末予定です。

 

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