NXPマイクロコントローラの開発環境が一新されました。NXPと旧フリースケールのマイコンであるLPCマイコンとKinetisマイコンの開発環境が漸く統合された形になりました。
クロックやピン配設定をグラフィカルに設定出来るコンフィグツールやSDKビルダー、ライセンスフリーで使用可能な開発統合環境(IDE)が用意されています。
更には、消費電力をシミュレーション出来るツールも提供されています。
IDEはサイズに制限もなく無料で使用可能なため、ホビーユーザーから企業の開発目的まで使用可能で範囲は広いです。
今回は、MCUXpresso Clock Toolの使い方について見ていきましょう。
コンテンツ
チュートリアル:MCUXpresso Config tool
Config toolで出来ること
MCUXpresso Config toolはピンの機能を指定する(マルチプレックス)設定や使用するピンの配置を確認にしたり、設定(ピン配)することが可能です。また、クロックコンフィグレーションをGUI設定で簡単に行えるツールです。
Config Toolでクロックやピンを設定し、MCUXpresso SDKでは使用するデバイスのOS及びミドルウェアを選択し、自分専用のSDKを自動生成(SDKビルダーを使用)することができます。
今回説明するMCUXpresso Config Toolは、WebベースとPCにインストールして使うデスクトップ版の2種類が用意されています。今回はデスクトップ版(MacOS版)で使用方法を説明しますが、基本的にはその他デスクトップ版(Windows版/Linux版)やWeb版と同様です。
説明は、MacOS版MCUXpresso Config Toolを使用していますが、Windows版、Linux版でもこの説明を参考にできます。
Config toolのダウンロードは、こちらからダウンロード可能です。
(NXP MCUXpresso Config toolダウンロード)
では、行きましょう。
まず、要点から
Clock toolでは、
- 事前にSDKのインストールが必要
- Config Toolの起動
- 基本操作は、シングルクリックとダブルクリック
- グルーバル設定
- クロックソースからペリフェラルモジュールまでの自動計算
- クロックツリーを確認、クロック選択をする
- レジスタ設定内容を確認できる
- クロック設定ソースファイルを自動生成が可能
事前準備
Clock Toolを起動する前に、使用するマイコンのSDK(MCUXpresso SDKを使用してSDKを生成)を事前にダウンロードしておく必要があります。
SDKの設定とダウンロードについては、別の記事でも紹介していますので、参考にしてください。(MCUXpresso SDKの作り方)
Config Toolの起動
Clock Toolを起動すると、SDKへのフォルダのパスを設定する画面が現れます。SDKは任意のフォルダに保存可能です。
保存したSDKフォルダパスを指定します。
Create new configurationを指定してNext。
今回は、FRDM-K64Fを使用するので、” New FRDM-K64F configuration ”を選択してFinishをクリック。
Config Toolのメイン画面が開きます。
メニューバーのTool-Clocksをクリックすると、クロック設定画面が開きます。
基本操作
クロックテーブル(Clock Table タブ)やクロックダイアグラム(Clock Diagramタブ)ビューで各クロック設定要素上で、
1)カーソルを移動するだけ
カーソルをそのクロック要素に移動すると、その要素の設定ヒントが表示されます。
2)シングルクリック
その設定要素の設定値プルダウンメニューが表示されます。
3)ダブルクリック
その設定要素のポップアップ画面が表示されます。
設定時に下記のアイコンが表示されることがあります。
ロック
設定不可
変更
グローバル設定を設定する
クロック設定は、複数持つことができます。例えば、複数の周波数クロックモードとして、コンフィグ設定を複数持つことが可能です。
まず、下の図のようにRUNモードやMCGモードを設定します。
K64の動作モードは、RUN(通常動作)及びVLPR(Very Low Power RUN)モードが用意されています。MCGモードは、各種クロックソース選択できるモードで設定できる周波数も異なってきます。
今回はPEEモード(外部クロックソース使用及びPLL使用)を使用します。
クロックのコンフィグ設定は、既にRUNモードとVLPRモードとしてデフォルトで設定されています。別のクロック周波数などを設定する場合は、タブ右側の+ボタンを押すことで追加可能です。
自動的にクロックソースからペリフェラルモジュールまでのクロックを計算できる
Clock toolでは、Clock TableとClock Diagramタブがあります。
Clockテーブル(Clock Table)では、使用する基板で使用する目的の周波数や外部クロックソースの有無(Availableにチェック)などを設定します。
各クロックソース及びクロック出力の周波数を希望の周波数に設定します。変更する場合は、クリックして単位(MHzなど)付きで入力します。
今回は、FRDM-K64Fを使用しますので、OSC外部リファレンスクロックを使用します。

クロックソースの周波数を変更すると、右側の各モジュールへの出力クロックが自動的に計算されて設定されます。
OSCに外部水晶発振子を使用する場合は、発振周波数に応じて周波数範囲(Frequency Range)とOSCモードをExternal crystal(Low PowerかHigh power: 起動時間や消費電力、安定性などのドレードオフあり。通常はLow powerに設定)に設定します。
クロックツリーを確認、クロック選択をする
Clock Diagramでは、クロックツリー(クロックパスや各モジュールへのクロック供給出力)が確認可能です。
また、各クロックソースの選択(マルチプレックス設定)をクリックして選択可能です。下図では、PLLS(PLLかFLL出力の選択)を示しています。
レジスタ設定内容を確認できる
設定した内容が実際のデバイスにどのように反映されるのか、実際のレジスタ設定値を確認することも可能です。
View-Registerで表示されます。
クロック設定をソースファイルとして自動生成する
ここまで設定すると、あとはソースコードに落とし込むだけです。
MCUXpresso Config toolでは、この設定した内容を自動的にソースコードに変換する機能がサポートされています。
View-Sourcesでソースコード(clock_config.c, clock_config.h)を確認できます。
まとめ
ワークフローとしては、Global設定(クロックコンフィグレーション)を用意し、クロックソースの設定、ターゲットクロックを決める。
クロックダイアグラムではクロックパスを確認する。目的の回路ブロックまでのクロックパスをクロック選択(マルチプレックス)することで経路を決定する。
入力したクロックソース、ターゲットクロック出力により、自動的にその他クロックや設定を行ってくれる。
設定内容は、実際のマイコンのレジスタ値を確認することが可能。
更に、設定したクロックのソースコードを自動生成させることが可能です。
いかがでしたでしょうか?
まずは、ダウンロードして動かしてみてください。
最後までお読みいただきありがとうございました。
宜しければシェアしていただけると幸いです。