[NXP マイコン初心者ガイド 6]へ | |||
NXP マイコン初心者ガイド まとめサイト |
もくじ
- はじめに
- 1. MCUXpresso Config Tools の表示方法
- 2. MCUXpresso Config Tools の使用イメージ
- 3. Pins Tool
- 4. Clocks Tool
- まとめ
はじめに
このコンテンツでは MCUXpresso IDE に付属されている MCUXpresso Config Tools についての紹介と実際の操作方法を紹介します。3章では Pins Tool 、4章では Clocks Tool を解説します。
次回以降の記事で、実際に Tool を触って設定変更を試してみる手順を紹介したいと思います。
MCUXpresso Config Tools は【表1】に記載されている機能を搭載しています。
No |
Name |
Description |
1 | Pins Tool | Pin の初期値を設定し、初期化関数 C コードを生成します。 |
2 | Clocks Tool | 各 Clock の初期値を設定し、初期化関数 C コードを生成します。 |
3 | Peripherals Tool | MCUXpresso SDK ドライバーの初期値を設定し、初期化関数 C コードを生成します。 |
4 | Device Configuration Tool | Device Configuration Data (DCD) の設定を変更し、DCD ファイルを生成します。 |
5 | TEE (Trusted Execution Environment) Tool | メモリ領域、バスマスター、および周辺機器のセキュリティポリシーを構成できます。サポートされていない MCU もあります。 |
詳しい内容は下記 User Guide をご覧ください。
1. MCUXpresso Config Tools の表示方法
【図1】に示すように、MCUXpresso IDE で使用する Project を選択している状態で、右上にある各項目のボタンを押すと、各 Tools 画面に移行します。一度 Tool 画面に移行すると Config Tools に必要な各ファイルが自動生成されます。
"Config Tools Overview" を押すとサマリーを確認でき、各 Tools の ON/OFF を切り替えたり、生成されるファイル名を確認したりできます。(Overview は 各 Tool の右側に常に表示されてます。)
-
注記:"Config Tools Overview" を一番最初に開くとエラーが出る場合があります。
その際は一度各 Tool の画面を開いてから Overview を表示させてください。
【図1】Config Tools の表示方法
2. MCUXpresso Config Tools の使用イメージ
Pins / Clocks / Peripherals Tool を例に Config Tools の使用イメージを【図2】に 示します。
【図2】Config Tools の使用イメージ
main ルーチンに各 Config Tools が生成する関数を記述することで、初期化処理を実施することができます。Hello World のソースコードを確認頂くとわかる通り、下記のように初期化関数が記述されています。
/* Init board hardware. */
BOARD_ConfigMPU();
BOARD_InitBootPins();
BOARD_InitBootClocks();
BOARD_InitDebugConsole();
そして、その各関数は Config Tools が自動生成した board\**.c や board\**.h ファイルの中に定義されており、Config Tools GUI で設定した処理内容が記述されています。その処理内容は SDK が用意している Driver を使用して Register を設定しています。
このように、MCUXpresso Config Tools はユーザーが一番手のかかる各種 Register 初期化処理を Config Tools で自動的に生成してくれ、main ルーチンにて初期化関数を定義するだけで MCU の初期化を完了させることができます。
この機能のおかげで、ユーザーは Application Software 開発にリソースを集中することができます。
3. Pins Tool
Pins Tool では、MCU の Pin 設定を行います。MCU の Pin 数は限られてますので各 Pin は様々な機能を持っています。ユーザーはメイン処理が始まる前に各Pin に割り当てる機能の選択(IOMUX の Register 設定)を行う必要がありますが、前述した通り、設定を行うソフトウェアは Pins Tool で自動生成されますので、設定を Pins Tool の GUI で行い、Main 関数先頭で設定関数(BOARD_InitBootPins() など)を記述する形となります。
3-1. Pins Tool の画面構成
Pins Tool の画面は【図3】となります。大まかな画面の種類は下記の通りです。
- ①. Pins:使用中の MCU の Pin 名 と機能をまとめた表
- ②. Package:使用中の MCU のパッケージイメージと Pin 配置図
- ③. Overview:【図1】で示した Overview と同じ画面
- ④. Routing Details:実際に使用する Pin の機能選択、その他設定を行う表
- ⑤. Problems:設定内容に関するエラーを表示する画面
【図3】Pins Tool の表示画面
3-2. Pins Tool の操作方法
Pin を追加する方法について解説します。
①Pins 画面と ④Routing Details を使って Pin を追加していきます。
- ①Pins 画面にて使用する Pin 番号の横にあるチェックボックスを押します。
- 【図4】のようなポップアップが表示されますので、使用したい Peripheral を選択します。
【図4】Pin 機能セレクト画面
- 【図5】のように ④Routing Details に追加した Pin 情報が表示され、細かい設定が可能です。設定項目について【表2】にまとめています。
【図5】Routing Details の画面
- 編集が完了したら、Update Code ボタンを押し、ソースコードを生成します。
3-3. Routing Details の列項目の概要
Routing Details 項目はデバイス毎に異なっており、i.MXRT1050 を選択した場合の情報を【表2】に示します。
列名 | 概要 |
# | Pin 名 |
Peripheral |
使用する Peripheral 名前 |
Signal | 使用する Peripheral の信号名 |
Arrow | 信号の方向を示す矢印記号 |
Routed pin/signal | Pin 名や内部信号の名前 |
Label | 識別を容易にするための任意設定可能なピンラベル(128文字以内) |
Identifier | pin_mux.h の #define で使用される識別子。; で複数定義できます。 |
Power group | 電源のグループを確認可能 |
Direction | Pin の方向を設定可能 |
GPIO initial state | GPIO Output の初期値。0 または 1 を設定可能 |
GPIO Interrupt |
GPIO Input の割り込み設定。別途割り込みコントローラを有効にする設定が必要です。
|
Software Input On |
選択した Peripheral (MUX_MODE) に関係なく Input Pin として駆動させるかの設定
|
Hysteresis enable |
Pin が Schmitt trigger として機能するかの設定
|
Pull UP/Down Config |
Pull UP/Down の設定
|
Pull/Kepper select |
Pull UP/Down 、Kepper (前の出力値を保持) どちらを有効にするか設定
|
Open drain |
Open drain の設定
|
Speed |
使用する Cloc k の設定
|
Drive strength |
Drive の強さの設定
|
Slew rate |
Slew Rate の設定
|
-
注記:各列の選択項目は MCU のデバイスによって異なります。詳しくは各デバイスの Reference Manual の IOMUXC に関する章をご覧ください。
ポイント:各列の詳細は Routing Details の右上を押すと表示されます。
【図6】Routing Details 解説表示方法
4. Clocks Tool
Clocks Tool では MCU の System Clock (Core / System / Bus / Peripheral) の初期値設定を行います。
ユーザーはメイン処理が始まる前に System Clock の初期化を行う必要がありますが、前述した通り、設定を行うソフトウェアは Clocks Tool で自動生成されますので、設定を Clocks Tool の GUI で行い、Main 関数先頭で設定関数(BOARD_InitBootClocks() など)を記述する形となります。
4-1. Clocks Tool の画面構成
Clocks Tool の画面は【図7】となります。大まかな画像の種類は下記の通りです。
- ①. Clock Diagram:Clock の設定内容を GUI で確認でき、設定の変更も可能
- ②. Overview:【図1】で示した Overview と同じ画面
- ③. Problems:設定内容に関するエラーを表示する画面
【図7】Clocks Tool の Clock Diagram 表示画面
4-2. Clocks Tool の操作方法
Clock の設定を変更する方法を解説します。
設定の変更は基本的には Clock Diagram で行います。【図8】のように Clock Selector や Clock Divider などの設定を行うことで設定を変更できます。
【図8】Clock 設定方法
ただ、PLL 等は【図8】のようなプルダウンが出てこないことがありますので、 Details 画面にて変更ください。【図9】のように Clock Diagram にて各要素を Click すると右側に Details 画面が表示されます。ここでも変更が可能です。
【図9】Clocks Tool Details 画面
編集が完了したら、Update Code ボタンを押し、ソースコードを生成します。
ポイント:デバイスの Reference Manual に Clock Tree や Clock Clock 図が用意されていることが多いですので、そちらと、Clock Toos の Clock Diagram の画面を見比べるとどのような Clock 構成になっているのか把握することができます。
まとめ
MCUXpresso の特徴でもある便利な MCUXpresso Config Tools をご紹介しました。この Tool を駆使することで、MCU を動かす為に必要な初期値を GUI で設定していくことができます。Peripherals Tool や Device Configuration Tool などには触れていませんが、今後紹介していきたいと思います。
[NXP マイコン初心者ガイド 6]へ | |||
NXP マイコン初心者ガイド まとめサイト |