STM32MP1 – STM32CubeMX
STM32CubeMX グラフィックソフトウェア設定ツール
1.0 版

STM32CubeMX コード生成ツールのプレゼンテーションにようこそ。ここでは、マイクロコントローラの STM32 ファミリに関わるコードの設定、生成、コンパイル、デバッグ、消費電力の推定に使用されるこのツールの主な機能について説明します。

1

概要

2

このプレゼンテーションは厳密には STM32MP1 マイクロプロ
セッサに関するものですが、STM32CubeMX は STM32 ファミリ全体に共通のプラットフォームです。ただし、MPU クラスデバイスで使用できる機能セットは異なります。

2

概要

3

• MCU/MPU を選んで次のものを設定：• ピン配置• クロックツリーのセットアップ• MCU ペリフェラル• 生成する MPU デバイスツリーのソースファイル• ミドルウェア• メモリ

アプリケーション側の利点• 指定された目的に合わせて正しいチップを選べます。
• 組込みマイクロコントローラコアのコードを生成します。
• 開発スピードを高めて幸先のよいスタートを切れます。

STM32CubeMX アプリケーションは、ファームウェアプロジェクトの初期設定をガイドするユーザインタフェースを用いることで開発者がSTM32 マイクロコントローラを使用するのを助けます。
このアプリケーションには、ピン割当て、クロックツリー、組込みペリフェラルを設定して、最終的なプロジェクトの消費電力をシミュレーションする方法を提供します。また、STM32 マイクロコント
ローラポートフォリオから豊富なデータのライブラリを利用できます。
このアプリケーションは、開発者が機能と電力の面で最高の製品を選択して、開発の初期フェーズを簡略化することを目的としています。

3

主な機能
• ペリフェラルとミドルウェアのパラメータやコアコンテキストへの割当て• 消費電力計算機能• コードの生成• ユーザコードを消去せずに M4 の HALコードの再生成が可能です。
• アプリケーションコアのデバイスツリーソー
スを生成します（Linux）。

• テストおよび調整のための DDR テスト
ツール

4• MCU セレクタ
• ファミリ、パッケージ、ペリフェラル、メモリサイズでフィルタします。
• 類似製品を検索します。

• ピン配置設定• 使用するペリフェラルを選択して GPIO と代替機能をピンに割り当てます。

• NVIC および DMA の設定• クロックツリーの初期化• オシレータを選択して PLL およびクロック分周回路を設定します。

ユーザインタフェースは、適切な MCU 選択、必要なペリフェラルの選択、ピン設定の割当てといった自然なワークフローを中心として構築されています。
消費電力計算機能は効率的なシステムの設計をサポートします。
最終的には、プロジェクト初期化コードを生成でき、ユーザコードを消去せずに再生成できます。

4

前提条件と設定

5• STM32CubeMX には Java RE が必要です。
• 追加の要件については、特定のバージョンのリリースノートを確認してください。
• マルチプラットフォームツールが Windows、Linux、macOS で動作します。

• インストール後、Alt+S を押して GUI だけでなく Cube ファームウェアライブラリのアップデータを設定します。
• ソフトウェアライブラリを格納しているフォルダを選択します。

ST のウェブサイトから STM32CubeMX を無料ダウンロードしてインストールします。
次に、[設定] メニューで次の設定を行います。
• アップデータおよびライブラリダウンロードのメニュー（Alt+S）• コードの生成と開発ツールチェーンとの統合のもう 1 つのメニュー（Alt+P）

セットアップを完了すると、新しいプロジェクトを作成できます。

5アップデータ

6• 更新内容には、[ヘルプ] メニューからアクセスできます。
• ツールアップデータを使用すれば、ツールや関連する Cube ライブラリの新しいリリースを検出できます。
• ライブラリマネージャを使用して新しいライブラリパッケージをダウンロードします。

インターネット接続が正しく設定されている場合、ツールでツール自体とプロジェクトワークスペースの生成に使用されるコードライブラリを更新できます。
[新しいライブラリをインストール] オプション（Alt+U）を使用すれば、追加の STM32Cube ライブラリをダウンロードしたり、相互運用の理由で旧バージョンを取得したりできます。
ただし、STM32CubeMX ツールは全てのライブラリリリースでテストしているわけではないため、新しいライブラリリリースがツールの旧バージョンと正しく連携できない場合があることに注意してください。

6

MCU/MPU セレクタ

7

• MCU を名前で検索• シリーズやラインナップで素早く指定• アプリケーションの要件で検索• パッケージ（ピン数）• RAM サイズ
• NV メモリ要件• 組込みペリフェラル• インタフェースの数とタイプ• コアと周波数• 価格• 関連資料への便利なリンク• テーブルの Excel ファイルへのエクスポート[新しいプロジェクト] オプションを選択すると、MCU セレクタのウィンドウが表示されます。ユーザが使用する MCU を把握している場合、すぐに見つけることができます。
把握していない場合は、特定の要件に基づいて使用可能な製品をフィルタできます。

7

ピン割当て8• ピン配置方法：• ペリフェラルツリー• 手動• 自動的な信号の再配置• ペリフェラルとミドルウェ
アの依存関係の管理（FatFS、USB …）

次のステップは、使用するペリフェラルの選択と、入力と出力へのピンの割当て（適用される場合）です。
独立した GPIO も設定できます。
信号はデフォルトのピンに割り当てられますが、他の場所に転送でき、ピン上で CTRL を押しながらクリックすると表示されます。
たとえば、I2C ペリフェラルが有効である場合、ツールによって自動的にデフォルトのピンに割り当てられます。
ツールでは、ペリフェラルとそれが管理するソフトウェアコンポーネントの間の結びつきが自動的に考慮されます。

8ピン割当て（続き）

9

ピンをクリックして置き換え可能な機能を表示します。

オレンジ色は、ペリフェラルが有効になっておらず、ピンのみが割り当てられていることを示しています。

ペリフェラルが使用できず、すべて代わりとなるピンが割り当てられています。
ピンアイコンを使用して信号の配置を固定します。

さらに多くのピンが代わりの機能用に予約済みであると、他のペリフェラルに残された設定の選択肢は減ります。
他のペリフェラルノードでアイコンが変化することで、制限が示されます。
ピンを左クリックして代わりの機能を表示します。
ピンを右クリックすると、ピン割当てを命名したり選択したりできます。
特定のペリフェラルが有効ではない状態でピン配置を選択した場合や、ピン配置に他の問題が発生している場合、ピンは緑色ではなくオレンジ色になります。

9ピン割当て（続き）

10• ペリフェラルモードで想定される各状態は次の通りです。
• 灰色：別のモードを設定する必要があるため、モードを使用できません。
• 黄色：制限付きでモードを使用できます。
• 赤色：このモードに必要な信号をピン配置に配置できません。

• ピン配置表示から直接信号を設定したり移動したりできます。
• ピンをクリックし、想定される信号の一覧を表示して選択します。
• 信号のオルタネートピンを表示するには、CTRL を押しながら信号をクリックして他の場所にドラッグします。
• 未使用のピンは、コードジェネレータで省電力アナログモードに設定できるため無視します。

• ブートステージ設定• 一部の IP は、ブート ROM ステップで使用可能なブートデバイスとして選択できます。

ペリフェラルモードで想定される各状態は次の通りです。
•灰色：別のモードを設定する必要があるため、モードを使用できません。灰色のモードにマウスポインタを置いて理由を確認します。無効にしたクロックソースが必要である場合や他のペリフェラルの依存関係がある場合があります。
黄色：一部のオプションが競合によってブロックされているため、制限•付きでモードを使用できます。たとえば、すべての選択可能なクロックピンが取得されているため、USART を同期モードに設定できない場合があります。
•赤色：このモードに必要な信号をピン配置に配置できません。たとえば、重要な信号のすべてのオルタネートピンが他のペリフェラルによって使用されている場合に、これが発生する可能性があります。
ピン配置表示から直接信号を設定したり移動したりできます。
•ピンをクリックし、想定される信号の一覧を表示して選択します。これは、ペリフェラルが割り当てられていない GPIO に対して機能します。
•
信号のオルタネートピンを表示するには、CTRL を押しながら信号をクリックします。すると、その信号を新しいピンにドラッグアンドドロップできるようになります（CTRL キーを押したままの状態のとき）。
未使用のピンすべてを手動でアナログに設定する必要はありません。
•
この操作を行う半自動のステップがあります。

10

ペリフェラルの設定

11• モード選択で各ペリフェラルをコア／ステップに割り当てます。
• 使用可能な初期化パラメータはす
べて簡単な説明およびオプションとともに表示されます。
• 割込みをペリフェラルに割り当てることができます。
• DMA を関連付けることができます（適用される場合）。
• ペリフェラルの GPIO を入力または出力で設定します。

ペリフェラル設定時、最も重要なことは割り当て対象のブートステップと Arm® コアを決定することです。それによって、どのようなコードを生成するかが決まります。各モードに対してすべてのIP が使用できるわけではありません。
ダイアログウィンドウには、基本的なパラメータ、依存関係、制約が示されます。適用される場合、シンプルなドロップダウンメ
ニューが使用されます。
割込みの優先順位は、[NVIC 設定] タブでのみ設定できます。ペリフェラルウィンドウは、各割込みの有効化／無効化にのみ使用できます。
DMA 設定タブには、初期化に関連する DMA リクエストのパラメータすべてが含まれていますが、ランタイム時のパラメータ（開始アドレスなど）はここで管理されません。
GPIO 設定タブは、GPIO のパラメータや機能、ピンのフィルタリングを定義したり、識別しやすいように各信号にラベルをつけるために使用します。

11

NVIC 設定パネル

12• すべての割込みを 1 つのコントロールパネルで設定します。
• 優先順位やサブ優先度を管理します。
• 一覧で割込みの検索、フィルタリング、ソートをします。
• コード生成タブで割込みの初期化をカスタマイズできます。

使用可能な割込みや有効になった割込みの概要とそれらの優先順位がわかりやすく示された中心となる場所こそが、
STM32CubeMX のもう 1 つのメリットです。このウィンドウは、選択したペリフェラルの割込みを有効化したり、優先順位を設定したりするために使用します。

12

DMA 設定パネル

13• メモリ間を含むすべての DMA リクエストを管理します。
• 方向、優先順位、その他を設定します。

対応する DMA チャネルのタブを選択し、[追加] ボタンをクリックして指定されたペリフェラルの DMA リクエストを追加します。すべての設定オプションを確認します。これで DMA チャネルを設定できますが、DMA 転送について網羅しているわけではないことに注意してください。これはアプリケーションコードで対応する必要があります。

13

GPIO 設定パネル• アプリケーションは、最も多い GPIO パラメータの検出できるデフォルト値を設定しようとします。

14

shift キーか CTRL キーを押しながら選択します。

• デフォルト値はロースピードかつプルアップなしで選択されます。
• 複数のピンを選択して、同じ設定にできます。
速度が正しいことを確認します。

ピン設定ウィンドウの GPIO タブによって、各ピンの設定と初期化設定が容易になっています。
各ピンは、ユーザラベルとともにピン設定の概要を示した表形式で一覧化されます。
ドロップダウンメニューを使用して選択したピンに対してソート、検索、変更を適用します。
ツールによって割り当てられたデフォルト値は安全ですが、特定のペリフェラル設定と連動しない場合があります。
ペリフェラルの通信速度に対して、ツールによって選択されたGPIO の速度が十分であること、必要に応じて内部プルアップ接続が選択されていることを確認します。
もっと迅速に設定を割り当てるには、ピンを個別に設定するより、ピンのグループを選択してみましょう。タブを使用して、特定のペリフェラルに特化したピングループを取得します。
初期化中に適用される設定はランタイム時に変更できますが、STM32CubeMX ツールの対象外であることに注意してください。

14

ミドルウェアの設定

15• サポートされている各ソフトウェアコンポーネント別のオプションを表示します。
• すべての設定が論理的なグループに整理されています。
• 説明や制約について参照しやすくなっています。

ミドルウェアのソフトウェアコンポーネントごとに異なるオプションがありますが、それらすべてが同様の形式で表示されており、初期化オプションにアクセスしやすく、説明も確認できます。

15

ペリフェラルとミドルウェアの設定

16• 使用するペリフェラルとミドルウェアを全体表示できます。
• 設定状態がハイライトされます。

クリックして DMA を設定します。

ピン配置とシステム表示をすぐ切り替えられます。

 未設定
 OK
非ブロッキング問題

 誤差

GPIO 設定に誤りがあるとみなされていますが、コードを生成できます。

ここの設定は有効です。
設定のエラーです。コードジェネレータに警告メッセージが表示されます。

メインウィンドウの [設定] タブには、STM32CubeMX でセットアップできる設定可能なハードウェアとソフトウェアのコンポーネントすべての概要が表示されています。
設定オプションにアクセスする各ボタンは、設定状態を示す小さなアイコンとともに表示されます。
デフォルトの状態は未設定です。ペリフェラルやミドルウェアのボタンをクリックすると、設定オプションが表示されます。
正しく設定されている場合でも、さらに変更できます。
誤った設定は警告記号で通知され、この状態でコードが生成された場合、ペリフェラルは機能しません。
重大なエラーは赤い「X」で示され、続行するには設定を変更する必要があります。
ペリフェラルやコンポーネントを追加するには、[ピン配置] タブに戻ります。

16

クロックの設定

17• すべてのクロック値をすぐに表示します。
• アクティブと非アクティブのクロックのパスが区別されます。
• クロックの制約と機能を管理します。

クロック設定タブでは、すべてのクロック･ソース、分周回路、および逓倍回路とともにクロックのパスの概要が表示されます。実際のクロック速度を確認できます。
アクティブで有効になっているクロック信号は青色でハイライトされます。
ドロップダウンメニューとボタンを使用して、実際のクロック設定を変更します。

17

クロックの設定（続き）

18• エラーは赤色ですぐにハイライトされます。
• 青い枠内に値を入力す
れば、ツールで分周回路と逓倍回路を調整できます。
• 値をロックすればツールによる変更を防げます。

設定値が範囲外である場合、すぐに赤色に変わり、問題をハイライトします。
また別の機能として、必要なクロック速度を青い枠内に入力すると、その速度が得られるようにソフトウェアによって分周回路と逓倍回路が再設定されます。青色のクロック値を右クリックすれば、その値をロックして変更されないようにします。

18

コードの生成19• STM32HAL ベースの C コードを生成して MCU ペリフェラルを初期化します。
• アプリケーションコアのデバイスツリーソース生成は、UBoot や Linux カーネルの設定に役立ちます。
• サポートされる開発ツールチェーンのプロジェクトファイルを生成します。

ここにユーザコードを書き込んで、プロジェクトを再生成します。

• ユーザコードを専用のセクションに追加でき、再生成時も維持されます。
• 最新のライブラリバージョンを使用するか、再生成時も同じものを使用するかを選択できます。

すべての入力、出力、ペリフェラルを設定したら、コードの生成準備完了です。
まず、メインウィンドウのプロジェクトメニューにある設定を確認します。
Arm M コアには STM32Cube HAL 初期化コードが、Arm アプリケーションコアにはデバイスツリーソースが生成されます。
複数のサポート開発ツールから 1 つを選択して、生成されたプロジェクトを引き継ぎます（Keil、IAR、Atollic のツールチェーンを含む）。
カスタムコードに影響を与えずに STM32Cube MX で初期化設定を変更するために、ユーザコードは「USER CODE」コメントブロックの間に記述する必要があります。

19

コード生成プロジェクトの設定

20• 保存時にプロジェクトに名前を付けます。
• プロジェクトの場所を参照します。
• 推奨するツールチェーンを選択します。
• 正確な MCU/MPU タイプとライブラリバージョンを確認します。

このウィンドウはプロジェクトの保存時（名前を付けて保存）に使用できます。ツールチェーンフォルダは、実際のツールチェーンアプリケーションの場所ではなく、ツールチェーンを配置するワークスペースの場所を参照します。Alt+P のショートカットでこのダイアログウィンドウの制限付きバージョンを使用してプロジェクト設定を表示できます。

20

コード生成オプション

21• ライブラリパッケージ•

ライブラリ全体または必要な部分を、生成されたプロジェクトフォルダにコピーできます。

•または、元の場所にライブラリを保存しながら、すべてのプロジェクトからそこを参照できます。

• 生成するファイル•

各ペリフェラルは、個別ファイルか共通のソースファイルで初期化されます。

•

旧ファイルで動作させるためのオプションがあります。

•

ユーザコードを消去しないオプションはここにあります。

• HAL 設定•

使用可能なピンをアナログにセットして消費電力を抑えることができますが、明示的にピン配置で SWD/JTAG を選択するように注意してください。

•フルアサートはデバッグに役立ちます。

STM32Cube HAL ライブラリは、さまざまな方法でプロジェクトと関連付けることができます。プロジェクトをコンパクトパッケージとして移行する必要がある場合や、ライブラリコードをカスタマイズする必要がある場合は、コピーオプションを選択します。ライブラ
リを元の場所に保存したままにすることで、複数のプロジェクト間で最新バージョンのライブラリを共有しやすくなります。
また、stm32mp1xx_hal_msp.c ファイルですべてのペリフェラルの初期化コードをまとめて生成したり、ペリフェラルごとにファイルを 1 つ生成したりできます。
旧ファイルのバックアップや削除のためのオプションは、推奨ワークフローにおいて重要です。このオプションは再生成機能と結びついていることを心に留めておきましょう。これは、[再生成時にユーザコードを維持する] オプションが有効になっている場合も当てはまります。
[すべての空きピンをアナログに設定] 設定は、消費電力を抑えるのに役立ちますが、SWD/JTAG インタフェースが具体的にピン配置タブで選択されていない場合、このオプションによってデバッグインタフェースが無効になります。

21

「フルアサート」は HAL 関数に渡すパラメータを確認でき、過度なデバッグを行わずにユーザコードのバグを発見するのに役立ちます。

21

警告と免責条項

22• 時折、STM32 ファミリ全体に普遍的に気を配ることで、ツールが特定の製品の特定の機能に集中することを防ぎます。
• STM32CubeMX GUI ツールはリファレンスマニュアルやデータシートの代わりではありません。
• 詳細については、必ずテクニカルドキュメントを参照してください。
• 重要な機能は製品や HAL で使用できることが多いですが、GUI では使用できないことがあります。

• GUI はプロジェクトの開始や動作設定の初期化に役立ちますが、設定はランタイム時に動的に変化する場合があります（GPIO、NVIC 優先度、クロック設定など）。

ユーザインタフェースは素晴らしいツールで、すべての STM32マイクロコントローラを普遍的にサポートします。しかし、多岐にわたる STM32 ポートフォリオの役立つ概要を示す一方で、各製品の詳細すべてを取り扱うことはできません。
疑問点がある場合、詳細や正確な情報についてはリファレンスマニュアルやデータシートを参照してください。詳しく知るためにアプリケーションノートや例をお読みください。通常、試作品をすぐに動作させるためには STM32CubeMX とともにアプリケーションを起動し、動的な変化が必要な場合はコードを変更します（通常は同じアプリケーションで異なるクロックや新しい GPIO 設定をサポートするため）。
STM32CubeMX ジェネレータによって定義されたユーザ領域内にユーザがコードを書き込んだ場合、ユーザインタフェースの最上位でいくつか変更が必要となったときに、初期のSTM32CubeMX セットアップに戻すことができます。通常、これには GPIO ピン設定の追加、別のクロックの選択、NVIC 優先度などが含まれます。

22プラグインとツール

組込みアプリケーションを開発しているときに、よく低い消費電力が主な設計目標となります。データシートから消費電力レベルを抽出するのは、時間がかかる上に面倒な作業です。消費電力計算機能なら、データシートからスマートグラフィックツールに参照値を抽出して、この作業を簡略化し、設定可能な使用例から有益な推定値を提供します。外部メモリのタイミング設定では、自動の DDR メモリテスタも使用できます。

23

概要

24

• 消費電力計算機能（PCC）は標準的な値のデータベースを使用して、消費電力、DMIPS、STM32 MCU のバッテリ寿命を推定します。
• グラフィックツールは STM32CubeMX スイートに統合されています。
• 有効性確認付きの使用例は高度に設定可能です。
• バッテリセレクタを使用したり、カスタムバッテリを定義したりできます。
• その他の MCU/MPU やその他の電力オプションと容易に比較できます。
• レポートのインポート、エクスポート、生成が可能です。

消費電力計算機能で、主電源や補助電源として使用されるバッテリの寿命を推定できます。シーケンスは容易にインポートしたりエクスポートしたりできます。不正な状態遷移も検出されます。
2 つの異なる MCU や MPU のシーケンス実行を比較してレポートを生成することもできます。

24

使用方法

25

全般 PCC 設定
ペイン

シーケンス設定結果概要

消費電力計算機能は、STM32CubeMX メインウィンドウの 4 番目のタブです。このウィンドウは、いくつかのペインに分かれています。
全般設定ペインには、標準的な動作条件と現在使用されているMCU タイプがまとめられています。
2 番目のペインには、シミュレーションシーケンスとそのコントロールが表示されています。
シミュレーションを実行するボタンはありません。結果はすぐに確認できます。

25

全般 PCC パラメータ26• STM32CubeMX から取得された MCU 選択• データシートへの直接リンクで詳細な情報を確認できます。

• パラメータ選択• 温度や電圧の選択は、選択した MCU によって制限される場合があります。

• バッテリ選択 – 既存のものか独自に定義したものを選択• バッテリは、容量、電圧、自己放電、電流制限によって定義されます。

• 情報ノート• 推定値制限に関して警告するために使用されます。

全般 PCC 設定ペインには、選択した MCU やデフォルトの電源がまとまっており豊富な情報があります。
選択した MCU や使用可能な消費電力データに応じて、温度や電圧などのパラメータも定義できます。
バッテリ選択ペインは、バッテリタイプの選択や定義に使用されます。バッテリソースはオプションであり、定義した場合、選択したシーケンスステップでのみ使用でき、デバイスの電源が独立している場合と外部電源に接続している場合のデバイス動作をシミュレーションできます。
情報およびヘルプのセクションには、ユーザに役立つメモが含まれています。

26

シーケンスの構築

27• シーケンスとは、順番が付けられたステップのセットです
既存のステップを追加またはコピーして新しいステップを作成します。

シーケンスを異なる製品と比較します。
既存のシーケンスをロードして適用します。

提案された電力ステップの移行が有効であるか自動で確認します。

[シーケンステーブル] では、異なる継続時間や設定を持つ一連のステップを定義します。この長さは実質無制限です。
シーケンスはロード、変更、再利用が可能です。
各ステップはユーザインタフェースを使用してシーケンス内でコピーして位置を変更できます。
有効にした場合、すべての状態遷移が基本的な有効性規則に対して確認され、周波数や電力の範囲での不正な跳ね上がりを防ぎます。問題のあるステップは、[シーケンステーブル] ですぐにハイライトされます。
詳細を表示するには、[ログを表示] ボタンをクリックします。
[比較] 機能では、保存されたシーケンスの現在のシナリオでの電力と性能の比較が表示されます。異なる MCU を含んだ異なる設定を互いに評価できます。

27消費電力のステップ定義

28

1. クロック設定で性能と消費電力を調整します。
2. コードを実行するメモリを選択します。
3. Vdd – 複数の主な設定が使用できます。
4. ステップでどのコアをアクティブにするか選択します。

電力ステップは、このダイアログウィンドウで追加・編集できます。
トランジションチェッカを有効にした場合、新しいステップが許容値にプリセットされます。
電力ステップは、最も重要である電力モードとともに複数の特性で決まります。各電力モードの可用性と特性は、指定のリファレンスマニュアルやデータシートに記載されています。電力モードの選択は、その他の設定の可用性、インタフェース、電力／性能のバランスに最も大きく影響します。
電圧レギュレータは、コアの電圧を設定します。電圧が低いほど、システムクロック周波数は制限されますが、多くの場合、消費電力が大幅に下がります。詳細については、データシートを参照してください。
命令によって取得されたアドレスおよび関連する設定も、消費電力や使用可能なクロック速度に影響する場合があります。
消費電力を計算する際に使用される電源電圧です。実際の電圧が使用できない場合は、一番近い想定値を使用します。
最後のオプションは、たとえばデバイスがバッテリ消費モデルでUSB に接続されている場合を除外するために存在します。

28

電力モードの詳細については、システム電力制御モジュールのトレーニングプレゼンテーションを参照してください。

28

シーケンス消費量プロファイルの表示29• プレゼンテーション用にチャートを外部ディスプレイに切り離すことができます。
• 複数の異なる表示を選択できます。
• 電流対時間での描画• 円グラフ• ペリフェラルの消費量

消費電力計算機能には、強力なプレゼンテーションツールが搭載されています。[外部ディスプレイ] ボタンをクリックして別のウィンドウにレポートを表示できます。消費電流推定値をグラフィック形式で描画できる数多くの方法があります。デフォルトの方式は、電力ステップシーケンスと消費電力の時間経過に基づいています。
別の方式として、それぞれのモードで消費されるエネルギー率をグラフ化できます。円グラフで各モードのシェア率を表示したり、RUN モードと低電力モードのみに表示を分けたりできます。
ペリフェラルの消費電力も分けてグラフ化できます。デジタルペリ
フェラルのみ、アナログペリフェラルのみ、両方の描画も可能です。

29

DDR テストスイート

30

• 設定
• テスト
• 調整

次のスライド 3 枚は新しい STM32CubeMX 機能に関する概要です。現状、STM32MP1 MPU に特化しています。標準的な外部 DDR メモリへの接続を設定、テスト、微調整できます。

30

DDR テストスイートの前提条件

31• STM32MP1 MPU を搭載したボードを接続する必要があります（UART ポートでの接続）。
• U-Boot セカンダリプログラムローダ（SPL）バイナリでロードします（外部Flash または SYSRAM に対して）。
• 外部メモリからブートしない場合、
SYSRAM での U-Boot SPL のロードに STM32cubeProgrammer が必要になります。

ピン配置タブでハードウェアを設定します。
メモリデータシートからパラメータを設定します。

STM32CubeMX のその他の機能とは違い、これには物理的なボード接続とロードするためのバイナリが必要になります。スター
タパッケージの基本的な U-Boot SPL バイナリイメージが使用できます。ディスカバリボードを使用している場合、シンプルなSTLink の仮想 Com ポート（VCP）で接続できます。ユーザ固有のボードをテストする場合、U-Boot SPL で接続に使用されるデフォルトのポートは UART4 ポートになります。

31

DDR テスト

32• テストは U-Boot SPL で実行されます。
• STM32CubeMX ツールは、テストを設定して結果を表示するだけです。

この機能でさまざまなテストを実行して、動的なメモリで想定される障害を容易に検出・特定できます。基本テストとストレステストが U-Boot SPL で使用でき、STM32CubeMX スイートから実行可能です。

32

DDR 調整33• ターゲットハードウェア、特に PCB ルーティングでのわずかな不完全性を補うことが目的です。
• この調整によって、ビットデスキュー、DQS ゲーティング、アイセンタリングの最適値を設定できます。
• 詳細については、アプリケーションノート AN5168 および AN5122 を参照してください。

DDR 調整は、DDR メモリインタフェースの細かい設定を決定し、等しくないルート長やその他の要素を補う半自動のプロセスです。
詳細については、アプリケーションノート AN5168 およびAN5122 を参照してください。詳細は、STM32CubeMX の関連資料でも確認できます。

33

出力およびレポート生成

34• オプションのステップとして、PDF レポートの生成があります。
• PDF レポートは PCC なしでも使用できます。
• 保存されるプロジェクト作業一式には次が含まれています。
• Project.ioc• Project.pcs• Project.pdf• Project.txt• Project.jpg• サポートされる開発環境用に生成されるプロジェクト

拡張子 .ioc のファイルには、静的な初期化設定が含まれています。電力シーケンスは .pcs の拡張子で保存されます。
簡単なテキストやピン配置を記した個別の JPG 画像ファイ
ルとともに PDF レポートが生成されます。

34

参照

35

• 詳細については、次のリソースを参照してください。
• UM1718 – ユーザマニュアル• DB2163 – 製品仕様• TN0072 – 製品テクニカルノート• RN0094 – 製品リリースノート• ST のウェブサイト www.st.com でツールをダウンロード

STM32CubeMX コード生成ツールの使用に関する詳細は、www.st.com でこのスライドに列挙されている関連資料がダウンロードできます。

35