3
3

More than 5 years have passed since last update.

NXP MCUXpressoでHello World

Last updated at Posted at 2017-07-28

NXP MCUXpressoのインストール手順で構築した開発環境をつかって、Hello Worldに挑戦します。

最初に、NXP MCUXpresso IDEへSDKが読み込まれているか確認

起動後の画面の右下にあるinstallのタブに、SDKが読み込まれているか確認してください。
SDKが表示されない場合は、ダウンロード後に解凍したSDKフォルダを
~/mcuxpresso/SDKPackages
の下に解凍済みSDKフォルダ移動します。MCUXpresso IDEを再起動して読み込まれればOKです。
SDKの入手方法は、こちらの投稿を参照してください。
NXP MCUXpressoのインストール手順
p-22.png

Hello Worldのプロジェクトテンプレートを入手

MCUXpressoでは、開発ターゲットに合わせてテンプレートを提供しています。
このテンプレートは、Hello World以外にも、I2C用等も用意され初期段階でかかるコーディングの手間を軽減してくれます。テンプレート入手には2つの方法がありますが、方法その1で紹介していますIDEでインポートをお勧めします。

方法その1 MCUXpresso IDEでインポート
MCUXpresso IDE内でインターネット経由でテンプレートのインストールができます。
p-30.png
画面には、開発ターゲットの設定が求められますのでご自身の開発環境に合わせて選択をしてください。ターゲットの選択リストはインストールされたSDKに依存していますので、もし必要なターゲットが見つからない場合はSDK Builderを使ってSDKをダウンロードして、環境下のフォルダに配置してください。
p-31.png

次の画面で利用できるExamplesのリストが表示されますので、hello worldプロジェクトを探してチェックボックスを選択し、Finishボタンを押してください。
p-32.png
あとは、hello_worldプロジェクトがダウンロードされてIDEに自動でインポートされます。

方法その2 MCUXpresso Config Toolsサイトからダウンロード
MCUXpresso IDEからインストールできない場合は、MCUXpresso Config Toolsサイトにアクセスしてダウンロードしてください。

  1. NXP MCUXpressoサイトにアクセス
  2. Config Settingを選択
  3. JumpStart your Configrationを選択
  4. Example Projectsの画面から、demo_app/hello_worldを選択してダウンロード p-21.png
  5. ダウンロードしたzipを解凍してworkspaceフォルダに移動
    hello_world.zipを解凍してできるhello_worldフォルダをMCUXpressoで指定したworkspaceフォルダの下に移動します。OSXの場合は、ユーザフォルダ下の書類の中にあるMCUXpressoIDE_x(xはバージョン)にworkspaceフォルダがあります。

  6. hello word プロジェクトをインポート__
    FileメニューからImportを選択してインポート画面を表示します。
    Projects from Folder or Archiveを選択しNextを押します。
    p-23.png
    フォルダ選択画面から hellow_worldフォルダを選択してFinishを押します。

  7. projectの確認__
    画面左のprojectタブにhellow_worldプロジェクトが表示されれば読み込みが完了しています。
    p-25.png

Hello Worldをうごかしてみる。

1. Hello Worldの挙動を確認
とりあえずHello Worldがなにをするのかを確認してみましょう。フロジェクトのhello_worldの中にあるdocフォルダを開いてreadme.txtを開きます。内容を見るとデバグ用コンソールに、hello worldというテキストをプリントするようにプログラムされているようです。また、その後に続く無限ループ内で1文字入力を受け取り、その1文字を出力するようになっています。

int main(void)
{
    char ch;

    /* Init board hardware. */
    BOARD_InitPins();
    BOARD_BootClockRUN();
    BOARD_InitDebugConsole();

    PRINTF("Yes!\r\n");

    while (1)
    {
        ch = GETCHAR();
        PUTCHAR(ch);
    }
}

動作の確認のためには、ターゲットとパソコンを接続してパソコン側でターミナルを起動して、モニタする必要があるようです。

2.開発ボードのセッッティング
今回は、開発ターゲットとしてFRDM-KL03Zを用意しました。この開発ボードはKL03ファミリーのMCUを使っていて、ARM ContrexM0+となります。接続はUSB mini ケーブルをつかってパソコンと接続します。
p-27.jpg

認識するドライバはMCUXpressoIDEアプリをインストールする際にまとめてインストールされています。認識されているかは、IDEの左下にあるQuick Startと呼ばれる場所にあるDebug 'hello world'[Debug]を選択するとDebugビルドの後に接続済みターゲットの一覧が表示されます。
p-26.png
こちらに接続したターゲットがない場合は、パソコンに認識されていませんのでドライバーのインストールなどを確認します。

3. デバグで実行
Quick StartDebug 'hello world'[Debug]をつかって実行してみます。s 選択すると、2.で表示された利用可能なターゲット一覧からターゲットを選択してOKボタンを押します。パッケージ化処理の後にターゲットへのダウンドードが実行されて、IDEがデバグ実行状態で一時停止します。
p-28.png
停止箇所は、hello_world.cのmain()のBORAD_initPins()の手前となります。IDEのデバグでは、通常この場所で一時停止するように設定されていますので、処理を継続する場合は、ウィンドウメニューにあるResumeボタンを押して処理を継続実行します。
継続実行すると、画面下で開発ボードとの通信内容を表示するConsoleタブが表示され、hello worldと表示されれば、成功です。
p-29.png

4. hello world をカスタマイズ
それでは、hello_world.cを修正して、実行してみます。デバグ実行しているなら停止ボタンを押してデバグを終了させます。
次にsourceフォルダ内のhello_world.cを開いて

PRINTF("hello world.\r\n");

の部分を

PRINTF("Yes!\r\n");

と修正して保存します。
先ほどと同様に、Quick StartDebug 'hello world'[Debug]をつかって実行してください。ConsoleタブにYes!と表示されれば成功です。
main()内の無限ループでキーボードからのテキストをオウム返しする処理がありますので、コンソールが上にスクロールしてしまい、Printされた文字がなくなってしまいます。Consoleを上にスクロールするとPrint文があるので、見当たらない場合はスクロールしてみてください。

以上です。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3