FAQ

ソフトウェア開発環境

DSP命令(Cortex-M4やM7)を使うときの統合開発ツールの設定方法を教えてください。
CMSISにはDSPというレイヤーがあって、ソースコードはARMより提供されています。
これらを使用するには開発環境の事前設定が必要です。まず、オプション設定のカテゴリC/C++コンパイラで、 “ARM_MATH_CM4”をシンボル定義します。次に、オプション設定のカテゴリのリンカでライブラリタグにCMSIS-DSPのlibを追加します。
使い方の詳細はドキュメントを読んでください。これらは、STの製品ではなく、コンパイラベンダーから ライブラリとして提供されるものなので、ご質問はコンパイラベンダーにお願いします。
JTAGバウンダリスキャン機能を持った開発ツールはありますか?
ARM DS-5やMDK-ARMは、JTAG ICE接続時にJTAGバウンダリースキャンを実施してコア内部のCoreSightシステムにアクセスしますが、回路全体を含むJTAGバウンダリースキャンを行う機能はツール自体には含まれていません。また、IAR殿のツールでもJTAGバウンダリスキャン機能は提供していません。専用機器および、ソフトウェアが必要となります。ARMのConnect Service(マイARM)のアカウントをお持ちであれば、「https://silver.arm.com/browse/BX008」からRealView ICE RDDI Packages (BX008-DA-10019)というライブラリ群をダウンロードすることが可能ですこちらがARMから現状提供されている唯一のJTAGバウンダリースキャンを、お客様が記述したソフトウェアから実施できるものになります。このライブラリをソフトウェアから呼び出すことでTDIからデータをドライブして、TDOからキャプチャすることが可能となります。詳細な説明につきましては、ダウンロード後zipファイルを解凍していただきますと、「include\html」フォルダ内に生成されるドキュメントに記載があります。同フォルダ内の「index.html」をご参照ください。IAR殿、Keil殿以外の日本のメーカでJTAGバウンダリースキャンをサポートしている会社は以下になります。特殊電子回路株式会社http://www.tokudenkairo.co.jp/jtag/tech/。アンドールhttp://www.andor.jp/jtag/whyjtag.html
スタック(ポインタ)をソフトウエア開発時に統合開発ツールで管理することはできますか?
可能です。例えば、実際の内蔵RAMの容量サイズから、使用可能な最大スタックサイズを超えるような状況場合を知りたい場合、2つの方法があります。それは、ビルド時点で、見積もりを表示する機能とデバッグ時点でブレークする機能です。ビルド前に各ツールで決められたタグにチェックをしておくと、ビルドした際にマップファイルなどに、スタックの想定使用量が表示されます。一方、デバッグ時に、スタックがオーバフローを起こす直前でブレークをかける方法もあります。具体的な方法は各統合開発ツールの使い方をご参照ください。
消費電流(STM32)を知りたいのですが、実デバイスが未入手です。何か概算を計算する良い方法はありますか?
STM32CubeMXは、PC上で動作するソフトウェア設定ツール(初期設定のC言語生成ツール)です。その機能のひとつに消費電流を計算できるシミュレーション機能も含まれます。STM32CubeMXを開けていただき、デバイスを指定して次に進みます。そして、「Pinout」タブの同じ並びにある「PowerConsumptionCalculator」タブを選択します。左側に使用環境(電源電圧、動作温度等)、電源の種類(電池の種類、容量)を入力し、メイン画面で、動作周波数、使用する周辺機能等を入力すると、自動的に消費電流を計算します。各低電力モードにも対応しています。さらに、電池の容量にしたがって、電池の寿命計算も可能です。低電力アプリケーションには非常に便利な機能ですので、是非ご活用ください。