お客様の素早い設計とより早い製品化を実現する、技術情報と専門知識をご紹介します。
1
接続2
ソフトウェアの入手3
ビルドと実行4
作成実際にFRDM-KL03Zを使ってみましょう。ショート・ビデオで手順を視聴するか、以下に記載された詳細な手順を参考にして、作業を進めてください。
Something went wrong! Please try again.
FRDM-KL03Zには、オンボード加速度センサを利用した「水準器」のデモが搭載されています。ボードが水平の場合、RGB LEDはオフのままです。ボードが傾いている場合、X軸の傾きに応じて赤色のLEDが、Y軸の傾きに応じて緑色のLEDが徐々に点灯します。
Something went wrong! Please try again.
Something went wrong! Please try again.
Kinetisソフトウェア開発キット (SDK) は無償で利用することができ、すべてのハードウェア抽象化およびペリフェラル・ドライバ・ソフトウェアが、オープン・ソースのライセンスに基づいてフル・ソース・コードで提供されます。
下のボタンをクリックして、お使いのコンピュータのOSに適したSDKリリースをダウンロードしてください。
Something went wrong! Please try again.
NXPでは、Kinetis Design Studio (KDS) というツールチェーンを無償で提供しています。
別のツールチェーンを使用したい場合は?
問題ありません。Kinetis SDKは、 IAR、 Keil、 コマンドラインGCCなどの他のツールをサポートしています。
Something went wrong! Please try again.
サンプル・アプリケーションの多くは、MCU UARTを介してデータを出力します。そのため、ボードの仮想COMポート用ドライバがインストールされているか必ず確認してください。ボードをPCに接続すると、インストールが自動的に開始します。ドライバが自動的にインストールされない場合は、こちらをクリックしてインストーラをダウンロードしてください 。
シリアル・ポート・ドライバをインストールした状態で、お好きなターミナル・アプリケーションを実行し、マイクロコントローラのUARTからのシリアル出力を確認します。ターミナルをボーレート115200、8データ・ビット、パリティなし、1ストップ・ビットに設定します。FRDM-KL03Zの仮想COMポートのポート番号を調べるには、デバイス・マネージャを開き、「Ports(ポート)」グループを確認します。
ターミナル・アプリケーションの使用方法がわからない場合は、次のいずれかのチュートリアルをお試しください。
Tera Termチュートリアル、PuTTYチュートリアルSomething went wrong! Please try again.
Something went wrong! Please try again.
Kinetis SDKには、デモ・アプリケーションやサンプル・ドライバが多数付属しています。 利用可能なコードを確認するには、SDKをインストールした場所にあるexamplesフォルダに移動し、FRDM-KL03Zボードを選択します
/examples/frdmkl03z
デモ・アプリケーションやサンプル・ドライバの詳細については、次の場所にある「Kinetis SDK Demo Applications User's Guide(Kinetis SDKデモ・アプリケーション・ユーザー・ガイド)」をご覧ください。
/doc
Something went wrong! Please try again.
興味のあるデモ・アプリケーションやドライバのサンプルがいくつかあれば、それをビルドおよびデバッグする方法を知りたくなることでしょう。Kinetis SDKのスタート・ガイドでは、SDKでサポートされているすべてのツールチェーンのデモを設定、ビルド、およびデバッグする方法について、わかりやすく手順に沿って解説しています。
Kinetis Design Studio (KDS) IDEを使用してサンプル・アプリケーションを開き、ビルドやデバッグを行う方法については、下記のガイドをご覧ください。
KSDKでKDS IDEを使用する前にツールが最新であるか確認することを推奨します。以下の手順はWindows版のKDSを使用して説明されていますが、MacユーザーとLinuxユーザーの場合も同じです。
[Help(ヘルプ)]>[Check for Updates(アップデートの確認)]の順に選択します。
Freescale/NXPによるすべてのアップデートをインストールします。このようなアップデートには「com.NXP.xxx」または「com.nxp.xxx」と記載されています。ツールチェーンやデバッグ・インターフェースなどもアップデートされている場合があります。これらの追加のアップデートは通常はインストールしても問題ありませんが、KDSツールチェーンの一部としてリリースされてはいないため、場合によっては問題が発生することがあります。
次の手順に従ってhello_worldアプリケーションを開きます。他のサンプル・アプリケーションでは、手順がわずかに異なる場合があります。アプリケーションによってはパスのフォルダ階層が深くなるためです。
注:Linux OSやMac OSでも、Windowsの場合と同じ手順を行います。
KDS IDEメニューから、[File(ファイル)]>[Import(インポート)]の順に選択します。表示されるウィンドウで、Project of Projectsフォルダを展開し、[Existing Project Sets(既存のプロジェクト・セット)]を選択します。[Next(次へ)]ボタンをクリックします。
[Import from file:(次のファイルからインポート:)]オプションの横にある[Browse(参照)]ボタンをクリックします。
サンプル・アプリケーション・プロジェクトをポイントします。このプロジェクトは次のパスで見つけることができます。
/boards////kds
このガイドでは、次の特定の場所を選択します。
/boards/frdmke15z/demo_apps/hello_world/kds
正しいディレクトリを指定すると、下の図のような[Import Working Sets and Projects(ワーキング・セットとプロジェクトをインポート)]ウィンドウが表示されます。[Finish(完了)]ボタンをクリックします。
各KSDKプロジェクトに対して、以下の2つのプロジェクト設定(ビルド・ターゲット)がサポートされます。
下の図に示すように、ハンマー・アイコンの横にある下向きの矢印をクリックして、[Debug(デバッグ)]または[Release(リリース)]のうち、適切なビルド・ターゲットを選択します。ここでは、[Debug(デバッグ)]ターゲットを選択します。
ビルド・ターゲットを選択すると、ライブラリのビルドが開始されます。今後、ライブラリをリビルドする際は、ハンマー・アイコンをクリックします(同じビルド・ターゲットを選択する場合)。
FRDM-KE15Zボードには、工場出荷時にmbed/CMSIS-DAPデバッグ・インターフェースが搭載されています。ボードのデバッグOpenSDAアプリケーションを変更している場合、OpenSDAにアクセスして、ボードを更新または工場出荷時の状態に復元する方法をご確認ください。
注:Macユーザーは、KDS IDEを使用してダウンロードやボードのデバッグを行う場合、J-Link OpenSDAアプリケーションをインストールしておく必要があります。
開発プラットフォームをPCに接続します。ボード上の「SDAUSB」USBポートとPCのUSBコネクタをUSBケーブルでつないでください。
PCのターミナル・アプリケーション(PuTTY、Tera Termなど)を開き、事前に確認したデバッグCOMポートに接続します。次の設定値を用いてターミナルを設定します。
Linux OSユーザーの場合のみ、ターミナルで次のコマンドを実行します。これにより、システムにlibudevがインストールされます。libudevは、KDS IDEでデバッガを起動する際に必要になります。
user@ubuntu:~$ sudo apt-get install libudev-dev libudev1
user@ubuntu:~$ sudo ln –s /usr/lib/x86_64-linux-gnu/libudev.so/usr/lib/x86_64-linux-gnu/libudev.so.0
接続するターゲットに対して、デバッガが適切に設定されているか確認します。これは、ボードのOpenSDAインターフェースを指します。ボードの内容が不明な場合は、このダイアログの右上隅にリンクされているPDFの付録Bを参照してください。
利用可能なデバッガ設定を確認するには、緑色の[Debug(デバッグ)]ボタンの横にある小さな下向きの矢印をクリックして、[Debug Configurations(デバッグ構成)]を選択します。
[Debug Configurations(デバッグ構成)]ダイアログ・ボックスで、使用しているハードウェア・プラットフォームに対応するデバッグ構成を選択します。WindowsユーザーまたはLinuxユーザーの場合、[OpenOCD For Mac users(Macユーザー向けOpenOCD )]にある[mbed/CMSIS-DAP]オプションを選択します。
デバッガ・インターフェースを選択したら、[Debug(デバッグ)]ボタンをクリックしてデバッガを起動します。
アプリケーションがターゲットにダウンロードされると、自動的にmain()まで実行されます。
[Resume(再開)]ボタンをクリックして、アプリケーションの実行を開始します。
hello_worldアプリケーションが実行され、ターミナルにバナーが表示されます。表示されない場合は、ターミナルの設定と接続を確認してください。
MDKツールをインストールした後、デバッグ目的でデバイスを完全にサポートするには、CMSIS (Cortex® Microcontroller Software Interface Standard) デバイス・パックをインストールする必要があります。このパックには、メモリ・マップ情報、レジスタ定義、フラッシュ・プログラミング・アルゴリズムなどが含まれています。下記の手順に従って、適切なCMSISパックをインストールしてください。
µVisionという名前のMDK IDEを開きます。IDEで、[Pack Installer(パック・インストーラ)]アイコンを選択します。
[Pack Installer(パック・インストーラ)]ウィンドウで、Kinetisパックのセクションに移動します(アルファベット順に並んでいます)。Kinetisパックの名前は、「Keil::Kinetis」で始まり、マイクロコントローラ・ファミリ名が続きます(「Keil::Kinetis_K60_DFP」など)。ここではFRDM-KE15Zプラットフォームを使用するため、K60ファミリのパックを選択します。パックの横にある[Install(インストール)]ボタンをクリックします。このプロセスを正常に完了するには、インターネット接続が必要となります。
インストールが完了したら、[Pack Installer(パック・インストーラ)]ウィンドウを閉じて、µVision IDEに戻ります。
次の手順に従ってhello_worldアプリケーションを開きます。他のサンプル・アプリケーションでは、手順がわずかに異なる場合があります。アプリケーションによってはパスのフォルダ階層が深くなるためです。
目的のデモ・アプリケーション・ワークスペースをまだ開いていない場合は以下で開きます。
/boards////mdk
ワークスペース・ファイルの名前は、
/boards/frdmke15z/demo_apps/hello_world/iar/hello_world.uvmpw
デモ・プロジェクトをビルドするには、[Rebuild(リビルド)]ボタン(赤色でハイライト表示)を選択します。
ビルドが正常に完了します。
FRDM-KE15Zボードには、工場出荷時にmbed/CMSIS-DAPデバッグ・インターフェースが搭載されています。ボードのデバッグOpenSDAアプリケーションを変更している場合、OpenSDAにアクセスして、ボードを更新または工場出荷時の状態に復元する方法をご確認ください。
開発プラットフォームをPCに接続します。ボード上の「SDAUSB」USBポートとPCのUSBコネクタをUSBケーブルでつないでください。
PCのターミナル・アプリケーション(PuTTY、Tera Termなど)を開き、事前に確認したデバッグCOMポートに接続します。次の設定値を用いてターミナルを設定します。
アプリケーションが正しくビルドされたら、[Download(ダウンロード)]ボタンをクリックして、アプリケーションをターゲットにダウンロードします。
[Download(ダウンロード)]ボタンをクリックすると、アプリケーションがターゲットにダウンロードされ、自動的に実行されます。アプリケーションをデバッグする場合、[Start/Stop Debug Session(デバッグ・セッションの開始/終了)]ボタン(赤色でハイライト表示)をクリックします。
[Run(実行)]ボタンをクリックすると、コードが実行され、アプリケーションが起動します。
hello_worldアプリケーションが実行され、ターミナルにバナーが表示されます。表示されない場合は、ターミナルの設定と接続を確認してください。
ここでは、Kinetis SDKでサポートされているように、Arm GCCツールチェーンを使用してKSDKデモ・アプリケーションのビルドと実行を行う際に必要となるコンポーネントをインストールする手順について説明します。Arm GCCツールの使用方法はさまざまですが、今回の例では、Windows環境に焦点を当てています。ここでは省略しますが、GCCツールは、Linux OSやMac OS Xの環境でも利用できます。
GNU Arm Embeddedツールチェーンからインストーラをダウンロードして、実行します。これは実際のツールチェーンです(コンパイラ、リンカなど)。Kinetis SDKリリース・ノートに記載されている、サポート対象の最新バージョンのGCCツールチェーンを使用する必要があります。
MinGW (Minimalist GNU for Windows) 開発ツールは、サード・パーティ製のCランタイムDLL(Cygwinなど)に依存しないツール・セットを提供します。KSDKで使用されているビルド環境ではMinGWビルド・ツールを利用せず、MinGWとMSYSのベース・インストールを活用しています。MSYSは、Unix系のインターフェースと各種ツールを備えた基本シェルを提供します。
MinGW - Minimalist GNU for Windowsファイルから最新のMinGW mingw-get-setupインストーラをダウンロードしてください。
インストーラを実行します。インストール・パスとしては「C:\MinGW
」を推奨しますが、他のどの場所にでもインストールできます。
注:インストール・パスにスペースを含めることはできません。
[Basic Setup(基本セットアップ)]で、「mingw32-base」と「msys-base」が選択されていることを確認します。
[Installation(インストール)]メニューで[Apply Changes(変更を適用)]をクリックし、残りの手順に従ってインストールを完了します。
Windows OSのPath環境変数に適切なアイテムを追加します。これは、[Control Panel(コントロール・パネル)]>[System and Security(システムとセキュリティ)]>[System(システム)]>[Advanced System Settings(システムの詳細設定)]の[Environment Variables...(環境変数)]セクションで設定します。パスは次のとおりです。
デフォルトのインストール・パスであるC:\MinGW
を使用した例を以下に示します。パスが正しく設定されていないと、ツールチェーンは機能しません。
注:PATH変数に「C:\MinGW\msys\x.x\bin
」が設定されている場合(KSDK 1.0.0向けの旧仕様)、これを削除してください。削除されていないと、新しいGCCビルド・システムが正しく機能しない場合があります。
新しいシステム環境変数を作成して、「ARMGCC_DIR」という名前を付けます。この変数の値で、Arm GCC Embeddedツールチェーンのインストール・パスを指定します。今回の例では、次のようになります。
C:\Program Files (x86)\GNU Tools Arm Embedded\4.9 2015q3
インストール・フォルダの正確なパス名については、GNU Arm GCC Embeddedツールのインストール・フォルダを参照してください。
CMakeからCMake 3.0.xをダウンロードします。
CMakeをインストールします。インストール時には、必ず[Add CMake to system PATH(CMakeをシステムPATHに追加)]オプションを選択します。すべてのユーザーが使用できるパスにインストールするか、現在のユーザーのみが使用できるパスにインストールするかは、ユーザーが選択します。今回の例では、すべてのユーザーに対してインストールしています。
インストーラの残りの手順に従います。
PATHの変更を適用するには、システムの再起動が必要になる場合があります。
サンプル・アプリケーションをビルドする手順は次のとおりです。
GCC Arm Embeddedツールチェーンのコマンド・ウィンドウが開いていない場合はここで開きます。ウィンドウを開くには、Windows OSの[スタート]メニューから、[プログラム]>[GNU Tools Arm Embedded
サンプル・アプリケーションのプロジェクト・ディレクトリに移動します。パスは次のようになります。
/boards////armgcc
このガイドの場合、実際のパスは次のようになります。
/boards/frdmke15z/demo_apps/hello_world/armgcc
コマンドラインで「build_debug.bat」と入力するか、Windows OSのエクスプローラで「build_debug.bat」ファイルをダブルクリックして、ビルドを実行します。次のような出力画面が表示されます。
GCCツールを使用するには、J-Linkデバッグ・インターフェースが必要となります。ボードのOpenSDAファームウェアを最新のJ-Linkアプリケーションにアップデートするには、OpenSDAにアクセスしてください。J-Link OpenSDAアプリケーションをインストールしたら、「SEGGER Downloads」からJ-Linkドライバとソフトウェア・パッケージをダウンロードします。
開発プラットフォームをPCに接続します。ボード上の「SDAUSB」USBポートとPCのUSBコネクタをUSBケーブルでつないでください。
PCのターミナル・アプリケーション(PuTTY、Tera Termなど)を開き、事前に確認したデバッグCOMポートに接続します。次の設定値を用いてターミナルを設定します。
J-Link GDBサーバ・アプリケーションを開きます。J-Linkソフトウェアがインストールされている場合、Windows OSの[スタート]メニューに移動し、[プログラム]> [SEGGER]> [J-Link
次のように設定を変更します。この例で選択されているターゲット・デバイスは、「MK64FN1M0xxx12」であり、SWDインターフェースを使用しています。
接続すると、画面は次の図のようになります。
GCC Arm Embeddedツールチェーンのコマンド・ウィンドウが開いていない場合はここで開きます。ウィンドウを開くには、Windows OSの[スタート]メニューから、[プログラム]>[GNU Tools Arm Embedded
デモ・アプリケーションの出力を格納するディレクトリに変更します。出力は、選択したビルド・ターゲットに応じて、次のいずれかのパスに格納されます。
/boards////armgcc/debug /boards////armgcc/release
このガイドの場合、パスは次のようになります。
/boards/frdmke15z/demo_apps/hello_world/armgcc/debug
次のコマンドを実行します。
arm-none-eabi-gdb.exe.elf
今回の例の場合、パスは次のようになります。
arm-none-eabi-gdb.exe hello_world.elf".
次のコマンドを実行します。
アプリケーションがダウンロードされ、リセット・ベクタで停止します。「monitor go」コマンドを実行すると、サンプル・アプリケーションが開始されます。
hello_worldアプリケーションが実行され、ターミナル・ウィンドウにバナーが表示されます。
Something went wrong! Please try again.
Something went wrong! Please try again.
独自のプロジェクトを作成して、シンプルなSDKベース・アプリケーションを作成してみましょう。NXPでは、直感的に操作できるシンプルなプロジェクト作成ユーティリティを提供しています。このプロジェクト・ジェネレータにより、Kinetis SDKをベースとするカスタム・プロジェクトが作成できます。
Something went wrong! Please try again.
ZIPファイルを解凍したら、お使いのコンピュータのOSに適したKSDK_Project_Generatorの実行ファイルをクリックして、ユーティリティを開きます。ツールの設定画面で、SDKのインストール・パスを指定して、プロジェクト名を入力し、リファレンスとして使用するボードを選択します。[Quick Generate(クイック作成)]ボタンをクリックして完了します。
Something went wrong! Please try again.
新しいプロジェクトは、
に作成されます。ステップ3.2の手順に沿って、お使いのツール・チェーンでプロジェクトを開きます。
Something went wrong! Please try again.
では、実際に新規プロジェクトを作成し、無限ループでスピンする動作以外のことを実践してみましょう。SDKサンプルは、LEDやスイッチ、ペリフェラル・インスタンスといったアイテム向けのマクロや定義など、ボード固有のさまざまな処理の実行に必要なボード・サポート・パッケージ (BSP) を提供します。ここでは、説明をシンプルにするため、BSPマクロを使用してLEDを点滅させることにします。
次のコードを使用して、プロジェクトのmain.cファイルにあるmain()関数をアップデートします。
let copy = ""
let copied = ""
let lang = NXP.locale ? NXP.locale : "en"
switch (lang) {
case "en":
copy = "Copy"
copied = "Copied"
break
case "zh":
copy = "复制"
copied = "已复制"
break
case "cn":
copy = "复制"
copied = "已复制"
break
case "ja":
copy = "コピー"
copied = "コピー済"
break
default:
break
}
volatile int delay;
// Configure board specific pin muxing
hardware_init();
// Initialize the UART terminal
dbg_uart_init();
PRINTF("\r\nRunning the myProject project.\n");
// Enable GPIO port for LED1
LED1_EN;
for (;;) {
LED1_ON;
delay = 5000000; while(delay--);
LED1_OFF; delay = 5000000;
while(delay--);
}
Something went wrong! Please try again.
main()関数を変更したら、アプリケーションをビルドします。ここまでで他のSDKサンプルをビルドしていない場合は、まずSDKプラットフォーム・ライブラリをビルドする必要があります。ビルドが完了したら、ボードにアプリケーションをダウンロードします。
アプリケーションのビルド、ダウンロード、実行の詳細については、ステップ3.2の各ツールのガイドをご覧ください。
Something went wrong! Please try again.
アプリケーションをダウンロードすると、FRDM-KL03Zの緑色のLEDが点滅します。
問題ありません。ボードのパッケージングが古いだけで、フラッシュ・メモリには別のクイック・スタート・デモが搭載されています。
RGB LEDが、赤色、青色、緑色の3色の間で切り替わるはずです。 他に問題がなければ、次のステップに進んでください。
次のステップに進み、別のサンプル・アプリケーションを実行してみてください。それでも問題が解決しない場合は、NXPコミュニティを通じてお問い合わせください。
Something went wrong! Please try again.
Tera Termは、広く利用されているオープン・ソースのターミナル・エミュレーション・アプリケーションです。このプログラムを使用して、NXP開発プラットフォームの仮想シリアル・ポートから送信された情報を表示できます。
SourceForgeからTera Termをダウンロードします。ダウンロードしたら、インストーラを実行し、このウェブページに戻って手順を続行します
PuTTYは、広く利用されているターミナル・エミュレーション・アプリケーションです。このプログラムを使用して、NXP開発プラットフォームの仮想シリアル・ポートから送信された情報を表示できます。