Kinetis SDKは、フリースケールが提供するKinetisマイクロコントローラ向けの新しい無償ソフトウェアです。Kinetisソフトウェア開発キット(SDK)は、Kinetisマイクロコントローラでのアプリケーション開発を簡素化および加速するように設計された、堅牢なペリフェラル・ドライバ、スタック、ミドルウェア、サンプル・アプリケーションの広範なスイートを提供します。ソフトウェアとボードのサポート構成にProcessor Expertテクノロジーを追加することで、比類のない使いやすさと柔軟性が実現します。Kinetis SDKには、すべてのハードウェア抽象化ソフトウェアとペリフェラル・ドライバ・ソフトウェアに対する寛容なオープンソース・ライセンスの下で、完全なソース・コードが含まれています。
KinetisSDKは、次の場所からダウンロードできます http://freescale.com/ksdk
このドキュメントでは、Kinetis SDKの使用を開始するための基本事項と、一般的なトラブルシューティングのヒントについて説明します。
Kinetis SDKとFRDM-K64F入門
FRDM-K64Fは、120MHz Cortex M4ベースのKinetis K64 MCUを搭載したフル機能のFreescale Freedomボードです。このボードは、Arduinoハードウェア互換性、加速度計と磁力計(Freescaleの FXOS8700CQ)、プッシュボタン/LED、さらにイーサネットポート、microSDポート、デバッグ用のOpenSDAv2も備えています。
まず、Kinetis SDKの最新リリースを http://freescale.com/ksdk からダウンロードしてインストール します
次に、Kinetis SDKがサポートする5つのIDEのいずれかを選択します。
Kinetis Design StudioとARM GCCはコードサイズに制限なく、Linuxでも実行できます。
次に、/docフォルダ内のドキュメント、 特にリリース・ノートとKinetis SDK入門(KSDK) のドキュメントを参照してください。リリース・ノートには、Kinetis SDKの概要、サポートされているデバイス、ディレクトリ構造の詳細、既知の問題が記載されています。
また、基本的なKinetis SDKディレクトリ構造にも注意してください。詳細については、リリースノートを参照してください。
すべての例は demos フォルダにあるため、 \demos\hello_world\
特定のIDEのデモをコンパイルして実行する方法の詳細については、 KSDK入門ガイド を使用してください。
また、Kinetis SDKがサポートする他のボード、MQX RTOSおよびその他のRTOSサポート、KSDKによるUSBサポートなどについては、 Kinetis SDK FAQ をご覧ください。
FRDM-K64FでのKinetis SDKのデバッグ:
通常、デバッグはFRDM-K64Fボードに組み込まれた OpenSDAv2 回路を介して行われます。イーサネットポートの左側にあるUSBコネクタJ26を必ず使用してください。デフォルトでは、FRDM-K64FはデバッグプロトコルとしてCMSIS-DAP / mbedインターフェイスを使用します。ただし、代わりに P&E Micro または Segger JLink デバッグ インターフェイスをボードで使用することもできます。
CMSIS-DAP/mbed インターフェイスを使用したデバッグ:
FRDM-K64F ボードは、OpenSDAv2 を使用しているため、デフォルトで CMSIS-DAP/mbed インターフェイスを使用します。KSDK 1.1 デモ プロジェクトは、FRDM-K64F プロジェクトに対してデフォルトで CMSIS-DAP デバッグ インターフェイスを使用するように設定する必要があります。
P&E Micro Interfaceによるデバッグ:
P&E Microインターフェースを使用してデバッグするには、P&E Micro OpenSDAv2アプリをOpenSDAv2回路にロードする必要があります。このアプリの読み込みと使用の手順については、 KSDK入門ガイドの付録Cを参照してください。DEBUG_K64F_MBED_PEMICRO_V108を使用します 。 Kinetis SDK zipファイルに含まれているBINファイル。
元のCMSIS-DAP/mbedインターフェースに戻したい場合は、FRDM-K64F mbedページでOpenSDAv2ブートローダーにドラッグアンドドロップするバイナリアプリを見つけることができます。ファームウェア FRDM K64F - ハンドブック |MBEDの
トラブルシューティング:
IAR で CMSIS-DAP/mbed デバッグ インターフェイスを使用していますが、ボードに接続できなくなり、「致命的なエラー : プローブが見つかりません。セッションが中止されました!":
Kinets SDK リリースノートに記載されているように、OpenSDAv2 で CMSIS-DAP インターフェースを使用するときにコードが main() 関数を終了できると、デバッガーが応答しなくなる可能性があるという問題があります。
ボードを回復するには、いくつかのオプションがあります。
これは、CMSIS-DAP/mbed インターフェイス アプリの将来のバージョンで修正される予定です。それまでの間、main() を終了する前に、コードに while(1) ループを入れてください。また、Eclipse上のMCUに関するこの問題に関するブログエントリもご覧ください
シリアルポートは以下を列挙していません。
デフォルトの CMSIS-DAP/mbed インターフェイスを使用している場合、Windows 上で正しく列挙するには、 まず mbed Windows シリアル ポート ドライバー をインストールする必要があります。ドライバーなしでMacOSおよびLinuxで動作するはずです。
デバッグを開始すると、"Undected.USBケーブルを抜き差しします。[リストの更新] をクリックします。
考えられる問題は、FRDM-K64F にデフォルトの CMSIS-DAP/mbed ファームウェアがあり、プロジェクトが P&E Micro または JLink インターフェイスを使用しようとしていることです。IDEのデバッグ・インタフェースを変更して、CMSIS-DAPを使用します。または、OpenSDAv2 回路のファームウェアを、Getting Started with KSDK ドキュメントの付録 C で説明されている適切なファームウェアに変更します。
Kinetis SDKプラットフォーム・ライブラリをIAR 7.10.xでコンパイルすると、次のエラーメッセージが表示されました:Error[Pm056]:すべてのif、else ifコンストラクトに最終的なelse句を含める必要があります(MISRA C 2004ルール14.10):
これは、MISRA C 2004 のルール違反が原因です。ベータ版のKinetis SDKはIAR 6.70を使用して構築されていましたが、IARが7.10.xに移行した際にMISRA Cチェックが変更されましたこれがIAR 7.10.xで発生する理由です。
このエラーは、プロジェクト設定でMISRA Cチェックを無効にすることで修正できます。
platform_lib プロジェクトを右クリックし、[General Options] カテゴリで (右側の矢印キーを使用して) [MISRA-C-2004] タブまでスクロールし、[Enable MISRA-C] のチェックを外します。
P&E Micro OpenSDAv2 アプリでデバッグすると、「OpenSDA ハードウェアからのデータの読み取り中にエラーが発生しました。E17925」
これは調査中で、IAR 7.10.xに影響を与えるようですおよびCW10ですが、IARの以前のバージョンはありません。それまでの間は、代わりにCMSIS-DAP/mbedインターフェースアプリを使用してください。
Eclipse Lunaを使用してFRDM K64Fのプロジェクトを成功裏に構築し、ARM組み込みプロセッサ用のGNUツールを使用して新しいKSDK 1.2.0をビルドすることができました。私はそれをすべて設定する方法についてのブログを作成しました。お役に立てば幸いです: ツールチェーン:KSDK 1.2.0とEclipse 4.4(Luna)およびGNU ARMプラグイン |ケンタウリアン
Erich Stygerのチュートリアルは、彼のブログ「 Constructing a Classroom IDE with Eclipse for ARM |Eclipse上のMCU
evalバージョンを使用している場合は、IARプロジェクト設定でMISRAチェックをオフにすることができます。
KSDKは、IAR、Keil、Kinetis Design Studio、GCCをサポートしています。これらのツールチェーンの説明は、『KInetis SDK K64 User's Guide』の\docフォルダにあります。
ユーザーガイドドキュメントに記載されているGCC/MinGWソリューションを使用してビルドとデバッグを行うことができました。cygwinを使ったことがある人もいると思いますが、エドが言ったように、彼は問題を抱えていました。cygwinでも「make」ではなく「mingw32-make」を使用する必要があります。
個人的には、私はこのためにIARを購入しませんでした。ただし、上記の私の投稿からわかるように、GCCを使用してSDKを直接構築することも成功しませんでした。必要なものを引っ張り出して、自分のビルドを作成しました(gcc / makeを使用)。それほど悪くはありませんでした。しかし、GCCのものが箱から出してすぐに機能するのを見るのは良かったでしょう。
誰かがgccツールを使用してSDKの下でアプリを構築したことがありますか?
私はSDKからコードを抽出し、自分で何かを構築することができました。しかし、私はさまざまなアプリの下でmakefileを直接使用して正常にビルドすることができませんでした。私の環境は、cygwinとcodesourceryのクロスコンパイラを備えたW7です。詳細については、 FRDM-K64Fの起動の問題 を参照してください。