お客様の素早い設計とより早い製品化を実現する、技術情報と専門知識をご紹介します。
1
接続2
ソフトウェアの入手3
ビルドと実行4
作成実際にFRDM-K28Fを使ってみましょう!ショート・ビデオで手順を視聴するか、以下に記載された詳細な手順を参考にして、作業を進めてください。
Something went wrong! Please try again.
注:FXOS8700CQ加速度センサは「生産終了」となっています。お使いのFRDM-K28Fに加速度センサが取り付けられていない場合があります。
Something went wrong! Please try again.
Something went wrong! Please try again.
MCUXpresso SDKは無償で利用することができ、オープンソースのライセンスに基づいて、すべてのハードウェア抽象化およびペリフェラル・ドライバ・ソフトウェアのソース・コード全体が提供されます。SDKについて知りたい場合は、こちら。
下のボタンをクリックして、 FRDM-K28F用に事前設定済みのSDKリリースをダウンロードしてください。
オンラインのSDK Builder にアクセスし、提供されているSDKビルダを使用してFRDM-K28F用のカスタムSDKパッケージを作成することもできます。
Something went wrong! Please try again.
NXPは、MCUXpresso IDEというツールチェーンを無償で提供しています。
問題ありません。MCUXpresso SDKは、IAR、Keil、コマンドラインGCCなどの他のツールをサポートしています。
Something went wrong! Please try again.
MCUXpresso Config Toolsは、ユーザーがMCUXpresso SDKプロジェクトを新規に作成するための構成ツールの統合スイートであり、カスタム・ボード・サポート用の初期化Cコードを生成するためのピンとクロックのツールも備えています。
Something went wrong! Please try again.
サンプル・アプリケーションの多くは、マイクロコントローラのUARTを介してデータを出力します。ボードの仮想COMポート用ドライバがインストールされているか必ず確認してください。ドライバ・インストーラを実行する際は、あらかじめボードをPCに接続してください。
シリアル・ポート・ドライバをインストールした状態で、お好きなターミナル・アプリケーションを実行し、マイクロコントローラのUARTからのシリアル出力を確認します。ターミナルをボーレート115,200、8データ・ビット、パリティなし、1ストップ・ビットに設定します。FRDM-K28Fの仮想COMポートのポート番号を決定するには、デバイス・マネージャを開き、「Ports(ポート)」グループを確認します。
ターミナル・アプリケーションの使用方法がわからない場合は、Tera TermチュートリアルまたはPuTTYチュートリアルのいずれかのチュートリアルをお試しください。
Something went wrong! Please try again.
Something went wrong! Please try again.
MCUXpresso SDKには、サンプル・アプリケーション・コードが豊富に用意されています。利用可能なコードを確認するには、SDKをインストールしたフォルダのSDKボード・フォルダを参照し、FRDM-K28Fボードを選択します ()。
特定のサンプル・コードの詳細については、サンプルのディレクトリにあるreadme.txtファイルを開いてください。
Something went wrong! Please try again.
興味のあるデモ・アプリケーションやドライバのサンプルがいくつかあれば、それをビルドおよびデバッグする方法を知りたくなることでしょう。MCUXpresso SDKのスタート・ガイドでは、SDKでサポートされているすべてのツールチェーンのデモを設定、ビルド、およびデバッグする方法について、わかりやすく手順に沿って解説しています。
以下のガイドを参照し、MCUXpresso IDEを使用してサンプル・アプリケーションを開いてビルドやデバッグを行う方法を習得してください。



次の手順に従ってhello_worldサンプルを開きます。
左下隅にある[Quickstart Panel(クイックスタート・パネル)]を確認します
[Import SDK example(s)(SDKサンプルのインポート)]をクリックします
サンプルをインポートして実行させるボードとしてfrdmk28fボードをクリックして選択し、[Next(次へ)]をクリックします
矢印ボタンを使用して[demo_apps]カテゴリを展開し、hello_worldの横にあるチェックボックスをクリックしてそのプロジェクトを選択します。[Next(次へ)]をクリックします
次の画面で、[Redirect printf/scanf to UART(printf/scanfをUARTにリダイレクトする)]チェックボックスをクリックして、デバッガ経由のセミホスティングを使用する代わりに端末出力がUARTから送信されるようにします。[Finish(完了)]をクリックします
ここで、プロジェクト名をクリックし、[Build(ビルド)]アイコンをクリックして、プロジェクトをビルドします
ビルドの進捗状況は[Console(コンソール)]タブで確認できます

MCUXpressoは接続されたボードを確認し、FRDM-K28Fに統合されたOpenSDA回路の一部であるMBED CMSIS-DAPデバッグ・プローブを検出します。[OK]をクリックして続行します
ファームウェアがボードにダウンロードされ、デバッガが起動します
[Resume(再開)]ボタンをクリックして、アプリケーションの実行を開始します。
hello_worldアプリケーションが実行され、ターミナルにバナーが表示されます。表示されない場合は、ターミナルの設定と接続を確認してください
命令の一時停止、ステップ・イン、ステップ・オーバーを行うにはメニュー・バーのコントロールを使用します。デバッグ・セッションを停止するには、[Terminate(終了)]アイコンをクリックします。
次の手順に従ってhello_worldアプリケーションを開きます。他のサンプル・アプリケーションでは、手順がわずかに異なる場合があります。アプリケーションによってはパスのフォルダ階層が深くなるためです。
目的のサンプル・アプリケーション・ワークスペースをまだ開いていない場合はここで開きます。ほとんどのサンプル・アプリケーション・ワークスペースのファイルは、次のパスに置かれています。
/boards////iar hello_worldデモをサンプルとして使用する場合、パスは次のようになります。
/boards/frdmk28f/demo_apps/hello_world/iar ドロップダウン・リストから、目的のビルド・ターゲットを選択します。ここでは、「hello_world - Debug」ターゲットを選択します
アプリケーションをビルドするには、下の図で赤色でハイライト表示されている[Make(作成)]ボタンをクリックします
ビルドが正常に完了します
FRDM-K28Fボードには、工場出荷時にmbed/CMSIS-DAPデバッグ・インターフェースが搭載されています。ボードのデバッグOpenSDAアプリケーションを変更している場合、OpenSDAにアクセスして、ボードを更新または工場出荷時の状態に復元する方法をご確認ください。
開発プラットフォームをPCに接続します。ボード上の「SDAUSB」USBポートとPCのUSBコネクタをUSBケーブルでつないでください
PCのターミナル・アプリケーション(PuTTY、Tera Termなど)を開き、事前に確認したデバッグCOMポートに接続します。次の設定値を用いてターミナルを設定します。
[Download and Debug(ダウンロードとデバッグ)]ボタンをクリックして、アプリケーションをターゲットにダウンロードします
アプリケーションがターゲットにダウンロードされると、自動的にmain()関数まで実行されます
[Go(実行)]ボタンをクリックすると、コードが実行され、アプリケーションが開始されます
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-K28Fプラットフォームを使用するため、K28ファミリのパックを選択します。パックの横にある[Install(インストール)]ボタンをクリックします。このプロセスを正常に完了するには、インターネット接続が必要となります
インストールが完了したら、[Pack Installer(パック・インストーラ)]ウィンドウを閉じて、µVision IDEに戻ります
次の手順に従ってhello_worldアプリケーションを開きます。他のサンプル・アプリケーションでは、手順がわずかに異なる場合があります。アプリケーションによってはパスのフォルダ階層が深くなるためです。
目的のデモ・アプリケーション・ワークスペースをまだ開いていない場合は以下で開きます。
/boards////mdk ワークスペース・ファイルの名前は、です。今回の例の場合、実際のパスは次のようになります:
/boards/frdmk28f/demo_apps/hello_world/iar/hello_world.uvmpw デモ・プロジェクトをビルドするには、[Rebuild(リビルド)]ボタン(赤色でハイライト表示)を選択します
ビルドが正常に完了します
FRDM-K28Fボードには、工場出荷時に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アプリケーションが実行され、ターミナルにバナーが表示されます。表示されない場合は、ターミナルの設定と接続を確認してください
ここでは、Arm GCCツールチェーンを使用してKSDKデモ・アプリケーションのビルドと実行を行う際に必要となるコンポーネントをインストールする手順について説明します。この手順はMCUXpresso SDKでサポートされているものです。Arm GCCツールの使用方法はさまざまですが、今回の例では、Windows環境に焦点を当てています。ここでは省略しますが、GCCツールは、Linux OSやMac OS Xの環境でも利用できます。
GNU Arm Embeddedツールチェーン からインストーラをダウンロードして、実行します。これは実際のツールチェーンです(コンパイラ、リンカなど)。MCUXpresso 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(環境変数)]セクションで設定します。パスは次のとおりです。
\bin デフォルトのインストール・パスである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
CMakeからCMake 3.0.xをダウンロードします
CMakeをインストールします。インストール時には、必ず[Add CMake to system PATH(CMakeをシステムPATHに追加)]オプションを選択します。すべてのユーザーが使用できるパスにインストールするか、現在のユーザーのみが使用できるパスにインストールするかは、ユーザーが選択します。今回の例では、すべてのユーザーに対してインストールしています
インストーラの残りの手順に従います
PATHの変更を適用するには、システムの再起動が必要になる場合があります
サンプル・アプリケーションをビルドする手順は次のとおりです。
サンプル・アプリケーションのプロジェクト・ディレクトリに移動します。パスは次のようになります。
/boards////armgcc このガイドの場合、実際のパスは次のようになります。
/boards/frdmk28f/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
次のように設定を変更します。この例で選択されているターゲット・デバイスは、「MK28FN2M0xxx15」であり、SWDインターフェースを使用しています
接続すると、画面は次の図のようになります。
GCC Arm Embeddedツールチェーンのコマンド・ウィンドウが開いていない場合はここで開きます。ウィンドウを開くには、Windows OSの[スタート]メニューから、[プログラム]>[GNU Tools Arm Embedded
デモ・アプリケーションの出力を格納するディレクトリに変更します。出力は、選択したビルド・ターゲットに応じて、次のいずれかのパスに格納されます。
/boards////armgcc/debug /boards////armgcc/release このガイドの場合、パスは次のようになります。
/boards/frdmk28f/demo_apps/hello_world/armgcc/debug 「arm-none-eabi-gdb.exe 」コマンドを実行します。この例の場合、「arm-none-eabi-gdb.exe hello_world.elf」というコマンドになります
次のコマンドを実行します。
hello_worldアプリケーションが実行され、ターミナル・ウィンドウにバナーが表示されます
Something went wrong! Please try again.
Something went wrong! Please try again.
オプションA:MCUXpresso IDEを使用して、サンプル・プロジェクトのクローンを作成します。





オプションB:MCUXpresso Config Toolsを使用して、サード・パーティ製IDEで使用するために既存のMCUXpresso SDKのサンプルのクローンを作成します。



Something went wrong! Please try again.
次に、MCUXpresso Config Toolsパッケージの一部であるピン・ツールを使用し、プロジェクトに新しいGPIOピンを追加してLEDを点滅させる方法を紹介します。








PTB22は赤色LEDを切り替えるためのGPIOとしてルーティングされています。PTB22を無効にし、GPIO機能を使用して青色LEDを点灯させるためにPTB21のmux設定を変更しますPTB22フィールドをクリックして、GPIOとしてのPTB22(赤色LED)を無効にします。これによりピンが無効になります(ピンのボックスのチェックが外れます)。したがってリストからも削除されます 
PTB21をGPIOとしてルーティングします。最初に、[Show Routed All/Pins(ルーティングされたピン/すべてのピンを表示)]の選択を解除して、すべてのピンを再表示させます。次に、[Pins(ピン)]ビューでPTB21を検索します。最後に、GPIO列のボックスをクリックします。ボックスが緑色でハイライト表示され、ピンの横にチェックが表示されます 
PTB21が[Routed Pins(ルーティングされたピン)]タブにも表示され、PTB22は削除されています。pin_mux.cファイルも更新され、変更が反映されています 
PTB21には、「led_output」サンプルの設定としてFRDM-K28F用に設定された定義済み識別子(「LED_BLUE」)があります。ここで、PTB21を検索し、ピンの表内のPTB21の横にある識別子を「My_LED」に変更します。これにより、LEDを識別するために使用される#defineがpin_mux.hファイルに追加されます 
ここで、右側の[Sources(ソース)]タブをクリックして[Sources(ソース)]ビューに移動し、エクスポート・アイコンを選択することで、pin_mux.cファイルとpin_mux.hファイルをエクスポートします
pin_mux.cファイルとpin_mux.hファイルをエクスポートするディレクトリを選択します。この例では、前のセクションで作成したワークスペース内の「led_output」プロジェクトにある「board」フォルダ (C:\MCUXpressoIDE_Lab\frdmk28f_driver_examples_gpio_led_output\board) にエクスポートします。[Finish(完了)]を選択します
pin_mux.cファイルとpin_mux.hファイルを置き換えます 
gpio_led_output.cファイルをダブルクリックして、エディタにファイルを表示します。GPIOドライバ機能で使用されているマクロはBOARD_LED(つまり赤色LED)を指していることにご留意ください。これらを先ほど作成した「My_LED」のマクロに置き換える必要があります 
pin_mux.hファイルをダブルクリックします。ファイルが更新されたため、「F5」を押すか、[File(ファイル)]>[Refresh(リフレッシュ)]の順に選択して、エディタ内のファイルを更新します。pin_mux.hのBOARD_INITPIN_My_LED_GPIOをコピーします 
gpio_led_output.cの87行目と92行目で、BOARD_LED_GPIOをBOARD_INITPIN_My_LED_GPIOに置き換えます 
pin_mux.hからBOARD_INITPINS_MY_LED_GPIO_PINをコピーします 
gpio_led_output.cの87行目と92行目で、BOARD_LED_GPIO_PINをBOARD_INITPIN_My_LED_GPIO_PINに置き換えます 
Something went wrong! Please try again.
次に、MCUXpresso Config Toolsパッケージの一部であるクロック・ツールを使用し、クロックの設定とLEDの点滅速度を変更します。




clock_config.cファイルとclock_config.hファイルをエクスポートします 
clock_config.cファイルとclock_config.hファイルをエクスポートするディレクトリを選択します。この例では、ワークスペース内の「led_output」プロジェクトにある「board」フォルダ (C:\MCUXpressoIDE_Lab\frdmk28f_driver_examples_gpio_led_output\board) にエクスポートします。[Finish(完了)]を選択します
clock_config.cファイルとclock_config.hファイルを置き換えます 

Something went wrong! Please try again.
アプリケーションが変更され、FRDM-K28Fの赤色LEDがゆっくりと点滅します。また、ターミナル・プログラムを使用して、ターミナル出力を確認できます。
Something went wrong! Please try again.
Tera Termは、広く利用されているオープン・ソースのターミナル・エミュレーション・アプリケーションです。このプログラムを使用して、NXP開発プラットフォームの仮想シリアル・ポートから送信された情報を表示できます。


PuTTYは、広く利用されているターミナル・エミュレーション・アプリケーションです。このプログラムを使用して、NXP開発プラットフォームの仮想シリアル・ポートから送信された情報を表示できます。

問題ありません。ボードのパッケージングが古いだけで、フラッシュ・メモリには別のクイック・スタート・デモが搭載されています。
RGB LEDが、赤色、青色、緑色の3色に切り替わるはずです。 他に問題がなければ、次のステップに進んでください。
次のステップに進み、別のサンプル・アプリケーションを実行してみてください。それでも問題が解決しない場合は、NXPコミュニティを通じてお問い合わせください。
NXPのいずれかのコミュニティ・サイトで、他のエンジニアとつながり、FRDM-K28Fを使用した設計に関する専門的なアドバイスを受けることができます。