(UTC)標準で入っているJ-Link関連の物のバージョンが古いため、STM32H7でのデバッグでは少し調子が悪そうに動きます。そのため、今回は無理やりバージョンアップする方法を紹介します。downloadsから、自分の環境にあったものをダウンロード。インストーラの形式で配布されているので、指示に従ってインストール。(x86)\SEGGER\JLink_V652」にインストールしましたので、ご自身の環境に合わせて読んでください。「C:\ST\STM32CubeIDE_1.0.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.jlink.win32_1.0.0.201904160814\tools\bin」にあります。「C:\ST\STM32CubeIDE_1.0.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.jlink.win32_1.0.0.201904160814\tools\bin」内にコピーします。「C:\ST\STM32CubeIDE_1.0.0\STM32CubeIDE\plugins」内部を「JLink」などで検索すると目的のディレクトリが見つかります。(念の為バックアップ取っておいたほうがいいと思います。SoftwareがCubeIDE内で利用できるようになります。CubeIDE環境で、UTF-8に対応する「ええっ!?このIDEはUTF-8に対応していないの???」いや、対応はしているんです。私達が文字を認識できないだけでして...早速環境の設定をしていきます。以下、執筆時の環境です。開発したいプロジェクトのプロパティを開きます。Mac:Command+I)を押してください。適当に画像のようにチェックを入れればOKです。私はWindowsのほか、Macでも開発をするので、Other:Linuxに設定してあります。Macの方はここで終わりです。内容が無い記事でごめんなさい。以下Windowsの方。2フォントを変更するCubeIDEの標準のフォントは、一部日本語に対応していません。Fontsを開きます。Fontを、フォント名をConsolasからお好きなものに変更します。読みやすいと思います。Takaoフォントは、https://launchpad.net/takao-fontsからTakaoFonts_xxxxx.xx.zipをダウンロードして、インストールするだけで、Windows環境でも利用できるようになります。これでコメントアウトが文字化けして困る事もなくなりました。以上です、お疲れ様でした。・J-Linkを繋げたいとか、諸々の都合でJTAGで接続することがあるかと思います。毎回接続ピンが行方不明になって調べているので、メモとして残しておきます。みんな細かいことよりさっさと接続関係が欲しいのは理解していますから。このとき、基板上のST-LinkV2/1にあるCN2のジャンパはすべてオープンにしてあります。1JTAGのピンについてJ-Linkのデータシート・UM08001によると以下のようになっています。20-pinのピン配置は、(デバッガのオプション的なピンを除いて)どのデバッガでもほとんど変わりはなく、STLinkV2/V3等でも僅かな違いがあるものの、利用できます。次のようにつなぎます。signal参考にしたデータシートはJ-Linkのデータシートのほか、F405データシートであるDocID022152が参考になります。2Nucleoボードとのピンの関係これらより、3V3,GND,PB4,PA15,PA13,PA14,PB3,NRSTを接続すれば動作することがわかりました。Nucleoボードの場合、ピンアサインがめちゃくちゃなので、自分でマイコンピンとの対応を考える必要があります。UM1724P.35には以下のような図があります。これを見て比較するのが楽かと思います。以上の作業を得て、一番最初の接続関係が導けます。Libraryを利用すると、簡単に高速な演算ができます。できることは、三角関数や平方根だけに留まらず、行列操作、FIRフィルタ・FFT、PIDコントローラ、クラーク変換・パーク変換等、幅広く入っています。導入することで利用できる関数は以下のページにまとめられています。https://www.keil.com/pack/doc/cmsis/dsp/html/modules.htmlさて、このCMSIS-DSPですが、故・TrueStudioでの環境構築は、わかりやすくまとめられておりますが、CubeIDEでは少し操作する項目が増えておりますのでまとめてみます。以下、執筆時の環境です。(UTC)マイコンSTM32F446RE1ライブラリの追加STM32Cubeのディレクトリから以下の2ファイルをコピーします。これらをプロジェクトフォルダ内にコピーします。Windows環境でしたらユーザフォルダ内にSTM32Cubeがあるかと思います。Vxxxxは適宜読み替えてください。>Linker>Librariesの設定で以下の2項目を登録します。(先程arm_cortexM4lf_math.aをコピーしたディレクトリ)を選択します。endian,fpuの略。endian)のfpuなしのmathライブラリは使う機会があるのか疑問。precision)を扱えるものもある。3Includeをする関数を使いたい.c/.cppファイルにて、以下を定義してIncludeします。マイコンボードによって変更します。別のCPUの時は適宜読み替えてください。3足りないものを追加する試しにこの段階でビルドしてみましょう。次のような怒られが発生するはずです。^~~~~~~~~~~~(以前のTrueStudio環境では、この段階で勝手に足りないものを取ってきてくれて、ビルドが通った記憶があります。)いろいろ足りないので、必要なファイルをIncに追加します。STM32Cube\Repository\STM32Cube_FW_F4_Vxxxx\Drivers\CMSIS\DSP\Include内にある、arm_math.harm_const_structs.harm_common_tables.hをインクルードできる場所に追加します。(例えばプロジェクト内のInc)以上の操作にて、CMSIS-DSPのライブラリが利用できるようになります。試しに以下のようにmainの内部を変更して、コードを実行してみます。*/ブレークポイントを打って実行をすると、以下のように動作の確認ができるかと思います。今回は手抜きをしたのでタイマを動かして動作時間の解析等はしませんでしたが、タイマを動作させて実行時のタイマ値を読んだりすると面白いかと思います。Tips今回は説明の便宜上、必要なものを全てプロジェクトフォルダやIncに入れていますが、別のフォルダにパスを通して、ライブラリに必要なもの一式を入れると見やすくて良いかと思います。