お客様の素早い設計とより早い製品化を実現する、技術情報と専門知識をご紹介します。
1
接続2
ソフトウェアの入手3
ビルドと実行4
作成実際にFRDM-K28Fを使ってみましょう!ショート・ビデオで手順を視聴するか、以下に記載された詳細な手順を参考にして、作業を進めてください。
Something went wrong! Please try again.
注:FXOS8700CQ加速度センサは「生産終了」となっています。お使いのFRDM-K28Fに加速度センサが取り付けられていない場合があります。
Something went wrong! Please try again.
FRDM-K28Fには、1 Hzの速度で点滅する「LED点滅」デモが搭載されています。ボードの電源がオンになると、RGB LEDが断続的に「赤色で」点滅します。
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.
別のツールチェーンを使用したい場合は?
問題ありません。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からのシリアル出力を確認します。ターミナルをボーレート115200、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プラットフォームを使用するため、K60ファミリのパックを選択します。パックの横にある[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
になります。
インストール・フォルダの正確なパス名については、GNU Arm GCC Embeddedツールのインストール・フォルダを参照してください。
CMakeからCMake 3.0.xをダウンロードします。
CMakeをインストールします。インストール時には、必ず[Add CMake to system PATH(CMakeをシステムPATHに追加)]オプションを選択します。すべてのユーザーが使用できるパスにインストールするか、現在のユーザーのみが使用できるパスにインストールするかは、ユーザーが選択します。今回の例では、すべてのユーザーに対してインストールしています。
インストーラの残りの手順に従います。
PATHの変更を適用するには、システムの再起動が必要になる場合があります。
サンプル・アプリケーションをビルドする手順は次のとおりです。
[プログラム]>[GNU Tools Arm Embedded ]に移動して、[GCC Command Prompt(GCCコマンド・プロンプト)]を選択します。
サンプル・アプリケーションのプロジェクト・ディレクトリに移動します。パスは次のようになります。
/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 から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/frdmk28f/demo_apps/hello_world/armgcc/debug
「arm-none-eabi-gdb.exe
」というコマンドを実行します。この例の場合、「arm-none-eabi-gdb.exe hello_world.elf
」というコマンドになります。
次のコマンドを実行します。
アプリケーションがダウンロードされ、リセット・ベクタで停止します。「monitor go」コマンドを実行すると、サンプル・アプリケーションが開始されます。
hello_worldアプリケーションが実行され、ターミナル・ウィンドウにバナーが表示されます。
Something went wrong! Please try again.
オプションA:MCUXpresso IDEを使用して、サンプル・プロジェクトのクローンを作成します。
オプションB:MCUXpresso Config Toolを使用して、サード・パーティ製IDEで使用するために既存のMCUXpresso SDKのサンプルのクローンを作成します。
gpio/led_output
」プロジェクトを選択します。[Next(次へ)]をクリックします Something went wrong! Please try again.
次に、MCUXpresso Configパッケージの一部であるピン・ツールを使用し、プロジェクトに新しいGPIOピンを追加してLEDを点滅させる方法を紹介します
pin_mux.c
ファイルも更新され、変更が反映されています 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
」をコピーします。BOARD_INITPIN_My_LED_GPIO
」に置き換えます。pin_mux.h
から「BOARD_INITPINS_MY_LED_GPIO_PIN
」をコピーします。BOARD_INITPIN_My_LED_GPIO_PIN
」に置き換えます。Something went wrong! Please try again.
次に、MCUXpresso Configパッケージの一部であるクロック・ツールを使用し、クロックの設定と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開発プラットフォームの仮想シリアル・ポートから送信された情報を表示できます。
豊富な品揃えのNXPセンサ・ソリューションで、世界に目を向けましょう。NXPなら、加速度センサ、圧力センサ、タッチ・センサなど、プロジェクトに適したセンサ・ソリューションを見つけることができます。詳細については、センサをご覧ください
NFC (Near Field Communication) は、簡単なタッチだけで周りの世界とセキュアにやり取りできるシンプルで直感的なテクノロジです。NXPのNFCソリューションの詳細については、NFCをご覧ください
他のエンジニアとつながり、Kinetis MCUとMCUXpressoのソフトウェアやツールを使用した設計に関して専門的なアドバイスを受けることができます。Kinetis MCUコミュニティ、MCUXpressoソフトウェアおよびツール・コミュニティ という2つの専門コミュニティのいずれかで、コミュニティ・ディスカッションにご参加ください。