重要な情報
-
C-SPYマクロ
__loadModule(filename, suppress)
は、__loadImage(patch, offset, debugInfoOnly)
という名前に変わりました。 -
C-SPYマクロ
__sleep(microseconds)
は、__delay(milliseconds)
に置き換えられました。時間の間隔の違いに注意してください。 -
ARM用IAR Embedded WorkbenchのC-SPYには、フラッシュローダ機能のための改善されたメカニズムと設定方法が用意されています。以前の設定のフラッシュローダを採用する既存のプロジェクトは、自動的にデフォルト設定を持つ新しい方法に移行されます。ほとんどの場合、デフォルト設定で十分です。以前の設定は新しい設定ファイル(拡張子
.board
)に変換され、デフォルト設定が適切でない場合に使用することができます。フラッシュローダの新しいメカニズムおよび設定方法の詳細は、フラッシュローダガイドを参照してください。 -
mbedデバイス(例えば LPC1768)を装備したCMSIS-DAPを使用する前に、テクニカルノート69741をお読みください。
-
assert()
の新しい動作
(7.10.1の新機能)assert()
関数でダイアログボックスが表示され、ユーザが中止、デバッグ、無視を選択できるようになりました。
以前の動作を希望する場合は、アプリケーションのソースコードに以下を追加します:void __aeabi_assert(char const * msg, char const *file, int line) { printf( "%s:%d %s -- assertion failed\n", file, line, msg ); abort(); }
新機能
- なし
既知の問題
Cortex-M割込みのサポートは、シミュレータでは限られています。一度に1つの割込みだけがシミュレーションされます。ネストされた割込みや、テイルチェーンなどはありません。NVIC割込みコントローラはシミュレーションされません。割込みは、PRIMASKレジスタまたは組込み関数
__enable_interrupt()
および__disable_interrupt()
を使用して、グローバルで有効/無効にすることしかできません。逆アセンブラは、統一されたアセンブラを完全にサポートしているわけではありません。
関数内に定義された静的変数をウォッチすると、変数が間違ったスコープで処理されるために失敗します。対策は、[ローカル]ウィンドウを使用するか、[ウォッチ]ウィンドウのスコープ内の名前を指定することです。たとえば、
main::the_static_var
というように指定します。リトルエンディアンモードで[メモリ]ウィンドウにおいて移動コマンドを実行する際、位置(IDEのメインウィンドウの右下に
pos #######
として表示)が移動フィールドに入力された値と同じになりません。
[EW14355]プロジェクトオプション>デバッガ>プラグインを選択し、工場出荷時設定オプションを選んでも、何も影響がありません。
[EW16078]大きなプロジェクトのプロファイリングが遅くなることがあります。
[EW17781]絶対アドレスに配置された配列が、配列ではなく単一の整数として[ウォッチ]ウィンドウに表示されます。変数がユーザ定義セグメントに配置されていると、この問題は発生しません。
[EW20207]ETMを持つCortex-Mの[タイムライン]ウィンドウで、スタックグラフおよびデータロググラフが時間どおり正確に相互に関連しません。データログイベントのソースを見つけるには、イベントをダブルクリックしてください。
可変数関数呼出し上にいるときに(引数の変数値を持つ場合など)、"ステップイン"が"ステップオーバ"として実行されるときがあります。
[EW20673]割込みルーチンにある最後の命令上にあるときに、ステップオーバ (F10) 機能が動作しません。
[EW22343]複数のソースファイルで定義された静的変数が、コンパイラで事前にインクルードされたファイルが使用される場合に曖昧になります。
[EW22487]デバッガでPowerサンプリングを無効にするのが、困難な場合がありました。[SWO構成]ダイアログボックスのPCサンプリングのステータステキストが"ON:PC Sampling for Power Logs"(オン: PowerログのPCサンプリング)の場合、1. 関数プロファイリングを有効にして、2. [関数プロファイラ]ウィンドウで右クリックして[Powerサンプリング]の選択を解除すると、Powerサンプリングを無効にできます。
[EW22779][タスクリスト]ウィンドウの[最大] (および[最大%])に、uC/OS-II RTOS awarenessプラグインでの正しい値の4倍の値が表示されます。
[EW22933]-
スクロールバーのズーム設定が10nsの場合に、[タイムライン]ウィンドウが0usまでスクロールできません。
[EW23048] -
cspybatで環境変数がIDEのときと同じように拡張されません。
[EW23060] -
シミュレータのデバッグセッションが、1回に500 KBのRAMを必要とします。
[EW23161] -
C-SPYが、FlexBusのクロックが有効になる前にFreescale Vybrid FlexBusのアドレス範囲にアクセスします。これによってバスエラーが発生し、CPUが反応しなくなります。
EWARM 6.60.2で対策を提供済み:
C-SPYマクロおよびI-jetのメモリ構成変更を持つJ-Linkのアドレス範囲を除外すると、FlexBusのアドレス変更からリードができなくなります。
[EW23914] -
CMSIS-DAPでLPC1768をデバッグする場合、リセットに問題があります。これが発生したら、対策としてUSBケーブルを抜き差しします。
また、このデバイスを装備したCMSIS-DAPを使用する前に、テクニカルノート69741をお読みください。
[EW23926] -
[逆アセンブリ]ウィンドウをアクティブな状態のときに閉じると、実行が停止するたびに再び開きます。
[EW24054] -
[逆アセンブリ]ウィンドウでコードカバレッジを有効にした場合、関数プロファイラを有効にして[関数プロファイラ]ウィンドウのコンテキストメニューで[ソーストレース(フラット)]を有効にしない限り、適切に動作しないことがある。
[EW24089] -
MBED CMSIS-DAPファームウェアのバージョン141212を搭載したLPC1768にはバグがあり、これにより応答しなくなり、新しいデバッグセッションの前にプローブに電源サイクルを実行しなければならないことがあります。
[EW24587] -
embOSプラグインが有効の場合に、実行が停止すると[ローカル]ウィンドウの内容がリフレッシュされない場合があります。
[EW24591] -
[逆アセンブリ]ウィンドウで、コードがデータとして表示されることがごく稀にあります。
[EW24661] -
IAR Embedded Workbenchの複数のインスタンスで、uC/Probeプラグインを同時に使用できません。使用するとデバッガが終了します。
[EW24664] -
現在のスタックポインタの値を変更する文をステップオーバした後(現在のSPであるSPを変更する場合など)、想定する通りに実行が停止しないことがあります。
[EW24834] -
リアルタイムの割込みを使用するアプリケーションで、ゼロによる除算のC-RUNチェックと同時に未処理のswitch caseを挿入すると、デバッガがクラッシュすることがあります。
[EW24975] -
割込みハンドラからステップアウトすると、デバッガでターゲットへの接続が失われることがあります。
[EW24984] -
C-SPYを使用して実行中のThreadXアプリケーションにアタッチする場合、停止後に[タスクリスト]ウィンドウに現在のタスクが表示されません。
[EW25079] -
switch-case文内のローカルを参照できません。
[EW25305] -
ブレークポイントが条件マクロを呼び出し、マクロがブレークポイントを操作しようとすると、[逆アセンブリ]ウィンドウにデッドロックが発生することがあります。
[EW25403、EW25405] -
[ウォッチ]ウィンドウで構造体エレメントを展開できません。
[EW25459] -
インクルードされたファイルパスに漢字が使われ、2番目のバイトが
0x5c
の場合、ソースブラウザが機能しません。
[EW25572]
プログラム修正
- なし
ユーザガイドの訂正
- なし
その他
-
APB/AHBアクセスポートがメモリゾーンとして使用可能に
MEM-APアーキテクチャを実装したAPB/AHBアクセスポートが、メモリゾーンとしてアクセス可能になり、カスタムのDDFファイルを使用して[メモリ]ウィンドウ、[デバッガ]マクロウィンドウ、[レジスタ]ウィンドウからアクセスすることができます。
ゾーン名は以下のとおりです:AP_Memory:現在選択されているポート。
AP0_Memory - AP5_Memory:ポート0から5までを表示します。.
現時点では、これらのゾーンはC-SPY I-jetドライバまたはC-SPY CMSIS-DAPドライバの使用時にのみアクセスすることができます。
リリース履歴
V7.40 2015-02-19
プログラム修正-
[ライブウォッチ]ウィンドウの変数が、ウィンドウを数回更新した後に変更されない場合でも、赤で記されることがあります。
[EW23114] -
EclipseからC-SPYシミュレータを実行することができません。
[EW25160] -
SVDデバイス記述ファイルを使用するデバイスの割込みログになかった割込み名を修正しました。
[EW25190] -
EWARM 7.40.2:
特定の状況で[ダウンロードしてデバッグ]を使用すると、PCが間違った値に設定されることがあります。
[EW24825] -
EWARM 7.40.3:
VybridでのCMSIS-DAPのサポートが改善されました。
[EW24616] -
EWARM 7.40.3:
CMSIS-DAPドライバがC-SPYで正しく識別されるようになりました。
[EW24949] -
EWARM 7.40.3:
ES1.21 CC3200デバイスが、汎用のCC3200デバイスとは異なる個別のデバイスになりました。これは、リンカ設定ファイルでの不整合を修正するためです。
[EW25307] -
EWARM 7.40.3:
VPADD
とVPMAX
のようにペア単位でのSIMD処理のシミュレーションを実行する場合、結果がDレジスタに正しく配布されるようになりました。
[EW25341] -
EWARM 7.40.3:
TI CC2538用のSWO初期化マクロが正しいものになりました。
[EW25352] -
EWARM 7.40.3:
シミュレータが、IT状態での割込みから戻る場合、正しく実行を続けるようになりました。
[EW25353] -
EWARM 7.40.3:
FPUをサポートするCMSIS DSPライブラリが、正しいパラメータによってビルドされるようになりました。
[EW25372] -
EWARM 7.40.3:
EFM32GGのメモリ構成が修正されました。
[EW25400] -
EWARM 7.40.3:
オンラインリセットのデフォルトのリセット方式が、I-jetとCMSIS-DAPについてソフトウェアに設定されていないことがありました。
[EW25404] -
EWARM 7.40.3:
Kinetis W2xシリーズで、ETM初期化のC-SPYマクロが正しく機能するようになりました。
[EW25435] -
EWARM 7.40.3:
ビットバンディングがシミュレータで正しく機能するようになりました。
[EW25444] -
EWARM 7.40.5:
実行中プログラムにアタッチするが、ARM7およびARM9でデバッグ中に正しく機能するようになりました。
[EW22435] -
EWARM 7.40.5:
FreeRTOS用RTOS認識プラグインを使用する際、不安定になることがあります。
[EW24317、EW25433] -
EWARM 7.40.5:
データログブレークポイントの設定/編集が正しく機能するようになりました。
[EW25386] -
EWARM 7.40.5:
外部でビルドされた実行可能ファイルと外部のイメージからのデバッグ情報しか持たないプロジェクトのデバッグに関する問題を修正しました。
[EW25479] -
EWARM 7.40.5:
CMSIS-DAP:C-SPYが同じIAR Embedded Workbenchの複数のインスタンスを使用して同じプローブにアタッチしようすると、クラッシュすることがありました。
[EW25515] -
EWARM 7.40.5:
ツールチップのテキストが長すぎると、クラッシュすることがありました。入りきらないテキストは切り詰められるようになりました。
[EW25525] -
EWARM 7.40.5:
プログラムに名前のない構造体タイプがいくつかあって、同じ名前と型のフィールドがあって異なるオフセットがあると、デバッガで構造体タイプのどれかが間違って表示される場合があります。
[EW25545] -
EWARM 7.40.5:
50を上回るレジスタグループを使用すると、C-SPYが正しく起動しない場合がありました。
[EW25569] -
EWARM 7.40.5:
[逆アセンブリ]ウィンドウで、 奇数アドレス上のバイト長の変数ラベルが表示されるようになりました。
[EW25633] -
EWARM 7.40.5:
[割込みログ]ウィンドウの内容をファイルに保存すると、[実行時間]フィールドも含まれるようになりました。
[EW25649] -
EWARM 7.40.7:
現在のロケール取得の際のエラーにより、間違ったコードページがロードされ、非ASCII文字が誤って解釈されることがありました。
[EW25720] -
EWARM 7.40.7:
ThreadXプラグインが有効になっている場合、たとえプラグインは使用されていなくても、ブレークポイントなどで停止するときにC-SPYが突然クラッシュすることがあります。
[EW25737]
- なし
V7.30 2014-09-24
プログラム修正-
新しいファームウェアで修正済み。arm\drivers\pemicro\OpenSDA\DEBUG-FRDM-K64F_Pemicro_v108a_for_OpenSDA_v2.0.binにあるファームウェアを使用してください。
システムリセットを使用して、必要があればウォッチドッグを手動で無効にします。
[EW24841] -
シミュレータが、
SMMLS(R)
命令を正しくシミュレーションするようになりました。
[EW24912] -
EWARM 7.30.3:
型と同じ名前を変数に使用すると、[ウォッチ]ウィンドウと[クイックウォッチ]ウィンドウはそのような変数やそれらを含む式を評価できません。
[EW19334、EW21566、EW25058] -
EWARM 7.30.3:
C-SPYドライバによっては、追加で選択可能なメモリゾーンが正しく機能しません。
[EW24914] -
EWARM 7.30.3:
[タイムライン]ウィンドウのデータロググラフ設定が保持されません。
[EW24953] -
EWARM 7.30.3:
[ウォッチ/クイックウォッチ]ウィンドウで関数のポインタを拡張すると、デバッガがクラッシュすることがあります。
[EW24989、EW25014、EW25016] -
EWARM 7.30.3:
[コードカバレッジ]ウィンドウの自動更新で、実行済みの文を実行済みとしてマークできないことがあります。
[EW25010] -
EWARM 7.30.3:
CONTROL
レジスタのFPCA
ビットが、C-SPYドライバによってはアクセス時に間違ってマスクされることがあります。
[EW25047] -
EWARM 7.30.3:
アサートが原因のメッセージボックスがモーダルではありません。つまり、クラッシュの原因となりかねない他のコマンドを実行可能です。
[EW25070] -
EWARM 7.30.4:
シミュレータがCONTROL.FPCA
ビットを正しく処理するようになりました。
[EW25048] -
EWARM 7.30.4:
ThreadXプラグインで、特定のタスクがアクティブの場合に条件付きブレークポイントが停止するようになりました。
[EW25127]
- なし
V7.20 2014-05-19
プログラム修正-
[ウォッチ]ウィンドウで変数を符号付き64ビットまたは符号なしの整数として表示できません。これは、[ウォッチ]ウィンドウに[表示フォーマット]>[符号付き64ビット]および[表示フォーマット]>[符号なし64ビット]のコマンドがないためです。
[EW24420] -
class/struct/union
型のオブジェクトの一部で、前に'+'の符号がないために展開できないものがあります。
[EW24598] -
プロジェクトが非対称マルチコアデバッグ用に設定されていても、メニューコマンド[表示]>[コア]が無効になっていました。
[EW24606] -
さまざまなC-SPYウィンドウのゾーン表示ドロップダウンリストで特定のメモリゾーンを選択すると、"A fatal error has occurred. The debugger will terminate"(重大なエラーが発生しました。デバッガは終了します)というエラーメッセージとともにC-SPYが異常終了していました。
[EW24636] -
C-SPYシミュレータがCortex M4Fレイジースタッキングを正しくシミュレーションしません。
[EW24675] -
Cortex M4Fの使用時に、命令
VFMA
、VFMS
、VFNMA
、VFNMS
が正しくシミュレーションされるようになりました。
[EW24692] -
BFI
命令のシミュレーションにより、LSBが0で幅が32のときに正しい結果が生成されるようになりました。
[EW24695] -
EWARM 7.20.2:
C-SPYシミュレータでシミュレーションを実行したときに、命令UXTAB
で、正しい結果が生成されるようになりました。
[EW24693] -
EWARM 7.20.2:
VCVT
命令のシミュレーションが正しく実行されるようになりました。
[EW24696] -
EWARM 7.20.2:
C-RUN規則を追加したり、デフォルトのC-RUNアクションを変更すると、C-RUNのウィンドウがグループ化された場合にIDEがクラッシュしていました。.
[EW24708] -
EWARM 7.20.2:
デフォルトでSymListプラグインをロードする必要がありますが、ロードされていません。
[EW24718] -
EWARM 7.20.2:
シミュレータは、FPSCR
レジスタのFZ
ビットが設定されている場合に、非正規数の例外のみをチェックするようになりました。
[EW24726] -
EWARM 7.20.2:
BFC
命令およびBFI
命令のシミュレーションが、ビットが選択された場合(lsb = 0、かつwidth = 32)に想定した通りに機能するようになりました。
[EW24727] -
EWARM 7.20.2:
シミュレータが、SMLAL
命令について正しいサイクル数を報告するようになりました。
[EW24735] -
EWARM 7.20.2:
複数のThreadXミューテックスを使用し、ThreadXプラグインのミューテックスウィンドウが表示されている場合に、EWARMがクラッシュしなくなりました。
[EW24752] -
EWARM 7.20.2:
リードオンリーのマップされたメモリにリードオンリーのSFRが配置されていても、ワーニングメッセージが表示されなくなりました。
[EW24753] -
EWARM 7.20.5:
[コールスタック]ウィンドウで長い関数名が切り詰められます。
[EW24826] -
EWARM 7.20.5:
[コールスタック]ウィンドウでリソースのリークが発生します。
[EW24867]
- なし
V7.10 2014-02-21
プログラム修正-
アーキテクチャで定義されたコアレジスタ、CP14レジスタとCP15レジスタが、[レジスタ]ウィンドウで使用可能になりました。
[EW23046、EW23780、EW23919、EW24276、EW24504] -
ダウンロードの段階で問題が発生したときに、状態が正しくリセットされるようになりました。
[EW24105、EW24520] -
EWARM 7.10.2:
CMSIS-DAPが7.10で使用可能になりました。
[EW24515] -
EWARM 7.10.3:
ごく稀に、[ウォッチ]ウィンドウに変数を追加すると、デバッガが異常終了することがあります。
[EW24398] -
EWARM 7.10.3:
場合によっては、マクロを使用してターゲットメモリをファイルに保存すると、デバッガがクラッシュすることがあります。
[EW24551、EW24553] -
EWARM 7.10.3:
被除数が0x80000000で除数が0xFFFFFFFFの場合に、シミュレータが正しいUDIV
の結果を返すようになりました。
[EW24563] -
EWARM 7.10.3:
シミュレータで、#プレフィックス(#PC
など)を使用してexecUserExecutionStopped()
マクロ内のレジスタを読み込むことができません。
[EW24569] -
EWARM 7.10.3:
ターゲットアプリケーションがモニタモードに変わった場合、シミュレータが異常終了しなくなりました。
[EW24576] -
EWARM 7.10.3:
P&E Micro JTAGプローブを用いてデバッグ中に、コードが正しくダウンロードされたときに[ベリファイする]で「ターゲットの整合性不一致が見つかりました」というメッセージが表示されることがありました。
[EW24579] -
[逆アセンブリ]ウィンドウで、データがコードとして表示されることがごく稀にあります。
[EW24580] -
SFRグループがデバイス記述ファイル(
.ddf
)で定義されていても、[レジスタ]ウィンドウにそれらが表示されないことがあります。
[EW24592]
リセットの選択肢
複数のリセット選択肢をサポートするデバイスで、これらをツールバーのドロップダウンリストから簡単に選択できるようになりました。アーキテクチャで定義されたコアレジスタ、CP14レジスタとCP15レジスタが、[レジスタ]ウィンドウで使用可能になりました。
V6.70 2013-10-29
プログラム修正-
C-SPYがブレークポイントで停止する際、エディタウィンドウをクリックするまでステータスバーの[関数に移動]ボタンと挿入ポイントが表示されませんでした。
[EW24182] -
非常に長い行を含む
.svd
ファイルによって、IAR Embedded Workbench IDEが反応しなくなることがありました。
[EW24189] -
JTAGのみまたはSWDのみをサポートするデバイスで、強制的にサポートされているモードに設定されていました。
[EW24234] -
EWARM 6.70.2:
[タイムライン]ウィンドウで割込みログを表示する場合、[時間軸単位]がサイクルに設定されていても、割込み期間が常に時間単位で表示されていました。
[EW24291] -
EWARM 6.70.2:
外部でビルドされたELF/DWARFオブジェクトファイルに関数スコーププロトタイプで宣言された構造体が含まれていると、ファイルのダウンロード中にデバッガが異常終了することがありました。
[EW24312] -
EWARM 6.70.2:
デバッガの実行中にブレークポイントを削除すると、デバッガが不安定になることがありました。
[EW24374]
- なし
V6.60 2013-06-27
プログラム修正-
デバッガ[ウォッチ]ウィンドウでの巨大配列を拡張すると、メモリ不足クラッシュを引き起こすことがありました。現在、5000エレメントの後に配列拡張が停止しますが、手動で継続できます。
[EW23262] -
EWARM 6.60.2:
ファイル終端EOF
、stdin
の条件が正しく処理されるようになり、_read()
、fread()
などが正しいステータスを返すようになりました。
[EW24039] -
EWARM 6.60.2:
IAR Embedded Workbenchセッション中にデバッガを数回起動および停止すると、重大なメモリリークによって異常終了となることがありました。
[EW24052、EW24058、EW24081] -
EWARM 6.60.2:
SVDリーダーが、dimElementGroup
を持たない<cluster>
エレメントを処理できるようになりました。
[EW24163]
CMSIS SVDクラスタエレメント
デバッガは現在、CMSISシステムビュー記述ファイル内のクラスタエレメントをサポートしています。assert()
の新しい動作 (6.60.2の新機能)
assert()
関数でダイアログボックスが表示され、ユーザが中止、デバッグ、無視を選択できるようになりました。
以前の動作を希望する場合は、アプリケーションのソースコードに以下の関数を追加します:int __iar_ReportAssert(char const *file, char const *line, char const *func, char const * msg) { printf( "%s:%s %s -- assertion failed\n", file, line, msg ); return 0; }
V6.50 2012-11-10
プログラム修正-
複数の同時割込みがある場合、割込みログの入り口/出口の指定が正しく行われるようになりました。
[EW23457] -
NeonとVFPを持つA9プロセッサをシミュレーションする際、32ビットの乗算が失敗しなくなりました。
[EW23516] -
STM32F4xxをデバッグする際、[ETMトレース]ウィンドウにデータ出力が表示されるようになりました。
[EW23560] -
EWARM 6.50.2:
値がC/C++ lvalueにならなかった[ライブウォッチ]ウィンドウの式は、実行時更新しませんでした。これは修正されました。
[EW23205] -
EWARM 6.50.2:
レジスタがSP
のとき、シミュレータはMOV.W
を正しくシミュレーションするようになりました。
[EW23575] -
EWARM 6.50.2:
シミュレータが、FSTMIAX
およびFLDMIAX
命令を正しくシミュレーションするようになりました。
[EW23577] -
EWARM 6.50.2:
シミュレータが割込みに入ると、EPSR
レジスタ内のIT/ICI
ビットはクリアされるようになりました。
[EW23600] -
EWARM 6.50.2:
QDADD
命令が正しくサチュレーションするようになりました。
[EW23604] -
EWARM 6.50.2:
デバッグセッション終了のフリーズをIDEに引き起こさせる可能性のあるいくつかの問題は修正されました。
[EW23618] -
EWARM 6.50.3:
高度に最適化されたコードにブレークポイントを設定すると、IAR Embedded Workbenchが異常終了することがありました。これは修正されました。
[EW23521] -
EWARM 6.50.3:
uC/OS-IIIプロジェクトにブレークポイントを設定すると、C-SPYが応答しなくなることがありました。これは修正されました。
[EW23672] -
EWARM 6.50.3:
uC/OSプラグインはイベントフラッググループが破損したときでも応答し続けます。
[EW23723] -
EWARM 6.50.3:
場合によっては、間違ったプロジェクト設定を行うと起動時にデバッガでエラーが発生し、エラーが修正された後に異常終了していました。これはもう発生しなくなりました。
[EW23725] -
EWARM 6.50.3:
SFR定義がSVDファイルに提供されたとき、割込み定義がC-SPYに正しく追加されるようになりました。
[EW23774] -
EWARM 6.50.6:
CMSIS-DAP向けドライバ固有のメニューの名前と内容が修正されました。
[EW23807] -
EWARM 6.50.6:
スタックウィンドウが開いている場合、デバッグ中にリセットコマンドを実行するとクラッシュを引き起こすことがありました。
[EW23916] -
EWARM 6.50.6:
内部の整合性チェックを実行しているとき、フラッシュローダが誤ったアラームを引き起こすことがありました。これによって、flash0.trace
ファイル内に誤った警告の長いリストが生成されました。
[EW23933]
JTAGjet-Traceサポート
ETBおよびETMを含む、IARシステムズのJTAGjet-Traceデバッグプローブに関するフルサポート。ソースブラウザがグラフ表示をコール
機能階層を簡単に移動できるよう、ソースブラウザが呼出しグラフを表示できるようになりました。マルチコアSWDサポート
IAR Embedded Workbenchの2つのインスタンスがそれぞれ、SWD経由で複数コアデバイスの コアに1つずつアクセス可能になりました。オンデマンドでマクロを実行(および式を評価)する新しい[マクロクイック起動]ウィンドウ。
I-jetとTI XDS100のデバッガドライバで、PCに接続された複数のプローブが処理可能になりました。
V6.40 2012-06-05
プログラム修正-
配置属性を持たない共用体データメンバを含む、RVDSによりビルドされたアプリケーションをデバッグする際に[シンボルメモリ]ウィンドウを開くと、C-SPYが異常終了していました。これは修正されました。
[EW23143] -
EWARM 6.40.2:
[プロジェクト]>[オプション...]>[TI XDS100]>[設定]>[TIエミュレーションパッケージのインストールパス]のデフォルト値が正しく処理されるようになりました。
[EW23158] -
EWARM 6.40.2:
[コードカバレッジ]ウィンドウでリーフをダブルクリックすると、エディタウィンドウにパスがないために、IDEがクラッシュすることがありました。これは修正されました。
[EW23282] -
EWARM 6.40.2:
空のセクションを含むデバイス記述ファイル(.ddf
)を開いたときに、IDEが応答しなくなることがなくなりました。
[EW23286] -
EWARM 6.40.2:
TI XDS100でのデバッガドライバの問題が修正されました。 -
EWARM 6.40.3:
デバッグセッション中にデータログブレークポイントが有効/無効にされた場合、[タイムライン]ウィンドウが正しく更新されませんでした。これは修正されました。
[EW22807] -
EWARM 6.40.3:
[逆アセンブリ]ウィンドウの最も下の行で一番左にある列をクリックすることによりブレークポイントを設定/消去しても、いつも正しく機能するようになりました。
[EW23040] -
EWARM 6.40.3:
[ウォッチ]ウィンドウでローカライズ(日本語化)された文字列が文字化けしていました。これは修正されました。
[EW23335] -
EWARM 6.40.3:
1つのユニットを入力した後にメモリの内容を編集する際、[メモリ]ウィンドウの焦点が失われていました。これは修正されました。
[EW23340] -
EWARM 6.40.4:
[シンボルメモリ]ウィンドウが、タブのサイズを変更した後も正しく動作するようになりました。
[EW21509] -
EWARM 6.40.4:
C-SPYはELFファイル中の特定のフラグを間違って認識し、一部のリードオンリーのセグメントが書込み可能とみなされることがありました。これによって、デバッグセッションを開始する際にメモリ整合性チェックの障害となることがありました。これは修正されました。
[EW23327] -
EWARM 6.40.4:
ダウンロードされたアプリケーションにCの変数(静的記憶寿命を持つもの)が含まれない場合、I-jetドライバがRAMとして指定されたメモリ内に変数が見つからないことに関してワーニングを発しなくなりました。
[EW23440] -
EWARM 6.40.4:
[メモリ構成]ウィンドウで、開始アドレスよりも小さい終了アドレスを入力できなくなりました。
[EW23450] -
EWARM 6.40.4:
[強制割込み]ウィンドウの空白領域に対してコンテキストメニューコマンドの[強制]を実行すると、デバッガが異常終了していました。これは修正されました。
[EW23470]
ITMイベントログ
ITMイベントを線グラフとしてプロットできるようになりました。C-SPYマクロ
2つの新しいC-SPYマクロ、execUserExecutionStarted()
とexecUserExecutionStopped()
が追加されました。これらは、プログラムの実行開始の直前および実行停止の直後にC-SPYマクロコードの実行に使用できます。I-jetメモリ構成
メモリアクセスマップを詳細に設定して、領域のキャッシュを設定したり、制限された領域へのアクセスをブロックすることができます。デフォルトのメモリ構成は、[メモリ構成]ダイアログボックスを使用して変更できます。
V6.30 2011-10-22
プログラム修正-
アプリケーションがchar型を使用しないときに、
(char *)42
のようなchar型を含むキャスト式を評価すると、クラッシュすることがありました。これは修正されました。
[EW20519] -
ThreadX RTOSプラグインビューで右クリックしても、C-SPYが異常終了しなくなりました。
[EW22508] -
AM1808デバイスをデバッグする際に、ワーニングメッセージが表示されなくなりました。
[EW22557] -
[ウォッチ]ウィンドウで、Thumb関数のポインタが正しい関数名とともに表示されるようになりました。
[EW22664] -
[呼出しスタック]ウィンドウが開いているときにシングルステップを行ったり、ブレークポイントまで実行しても、IDEが反応しなくなることがなくなりました。
[EW22765] -
2つ以上のモニタを使用し、メインのIDEウィンドウを一方のモニタで開き、もう一方のモニタに[逆アセンブリ]ウィンドウがある状態でデバッグセッションを終了すると、デバッグセッションを再起動したときにIAR Embedded Workbenchが異常終了することがありました。これは修正されました。
[EW22762] -
EWARM 6.30.3:
[タイムライン]ウィンドウで長いトレース取得 (数時間) の後に、デバッガが不意に終了しなくなりました。
[EW22452] -
EWARM 6.30.3:
シミュレータが、システムモードでSPSR
命令を正しくシミュレーションするようになりました。
[EW22801] -
EWARM 6.30.3:
P&E Microデバッガのブレークポイント処理の問題により、ソースコードでステップインする際に予期しない動作が起こることがありました。これは修正されました。
[EW22838] -
EWARM 6.30.6:
gcc
によって生成されたモジュールを含むファイルをロードしようとしても、IDEがクラッシュしなくなりました。
[EW22866] -
EWARM 6.30.6:
新しいCMSIS SVDキーワード、RESERVED
のサポートが実装されました。
[EW22895] -
EWARM 6.30.6:
[静的]ウィンドウの内容が、デバッグセッション開始時に開いた場合はフィルタされませんでした。ウィンドウが更新されるまでは(ステップコマンドを実行した後など)、正しい内容が表示されませんでした。これは修正されました。
[EW22900] -
EWARM 6.30.6:
場合によっては、[逆アセンブリ]ウィンドウで複数のPage Upコマンドを実行すると、コードが誤って逆アセンブリされることがありました。これは修正されました。
[EW22922] -
EWARM 6.30.6:
デバッグセッションの開始直後に、[割込みログ一覧]ウィンドウに初期化されていない内容が表示されることがありました。これは修正されました。
[EW23007] -
EWARM 6.30.7:
[プロジェクト]>[オプション...]>[デバッガ]>[イメージ]ページで、オフセットを0x7FFFFFFFより大きい値に設定できるようになりました。
[EW23030] -
EWARM 6.30.7:
CSpyBatでRDIドライバを使用可能になりました。
[EW23068] -
FreeRTOS 7.1.1がC-SPY FreeRTOSプラグインと互換になりました。詳しくはFreeRTOS 7.1.1 readmeを参照してください。
(これは明示的なEWARMバージョンには限定されていません)。
[EW23130]
ETM/ETBの選択
ETMとETBの両方をサポートするデバイスで、どちらかを選択できるようになりました。
V6.21 2011-07-05
プログラム修正-
エディタウィンドウの選択項目に対して[[ウォッチ]に追加]を実行すると、[ウォッチ]ウィンドウが開くほか、それにエントリが追加されるようになりました。
[EW22408] -
不明なアドレスの逆アセンブリで、デバッガがクラッシュしなくなりました。
[EW22458] -
特定の場合に、C-SPYが表示するターゲットシステムスタックの十分な情報を持っていないときに、[スタック]ウィンドウが開いてすぐにクラッシュしなくなりました。
[EW22486] -
EWARM 6.21.2:
P&E Micro用のC-SPYドライバによって、デバッガがクラッシュしないようになりました。
[EW22554] -
EWARM 6.21.3:
[逆アセンブリ]ウィンドウのコンテキストメニューの[混在モード]エントリの前にあるチェックマークが、正しく表示されるようになりました。
[EW22604]
Texas Instruments XDS100v2のサポート
Texas InstrumentsのデバッグプローブXDS100v2が、TI TMS570デバイス対応になりました。XDS100v2を使用するには、[デバッガ]>[設定オプション]ページの[ドライバ]ドロップダウンリストで[TI XDS100]を選択してください。XDS100v2デバッグドライバには、Texas Instrumentsのエミュレータパッケージをインストールする必要があります。エミュレータパッケージをインストールするには、...\arm\drivers\ti-xds\ti_emupack_setup.exe
を開始してインスト���ルの手順に従います。エミュレータパッケージは推奨されたデフォルトの場所にインストールしてください。これによって、デバッガがエミュレータパッケージを自動的に見つけることができます。何らかの理由でパッケージがカスタムの場所にインストールされる場合、オプション--xds_rootdir=path
を[デバッガ]>[その他のオプション]のオプションページで指定する必要があります。
V6.20 2011-04-29
プログラム修正-
絶対アドレスに配置された配列、構造体、共用体、クラス型の変数が、[ウォッチ]ウィンドウのファミリで正しく表示されるようになりました。
[EW19987] -
[レジスタ]ウィンドウで、
LR
とPSP
レジスタに正しい値が表示されるようになりました。
[EW22279] -
例外の実行時に、シミュレータが
PendSV
例外の保持ビットをリセットするようになりました。また、例外の優先度もより効率的にシミュレーションされます。例外の優先度の動的な変更および優先度のグループ化の使用もサポートされるようになりました。
[EW22301] -
32ビットThumb命令
LDR(literal)
があらゆるオペランドの組み合わせについて正しくデコードされ、シミュレーションされるようになりました。
[EW22360] -
LSRS R0,R0,#32
が正しくシミュレーションされるようになりました。
[EW22371] -
EWARM 6.20.4:
フラッシュのプログラミングの際にマクロexecUserFlashInit()
が使用可能になりました。
[EW22473]
なし
V6.10 2010-11-04
プログラム修正-
フラッシュローダが引数の存在を確認するときに、冗長なワーニングがありました。このワーニングは出力されなくなりました。
[EW21861] -
IAR C-SPYデバッガが名前を解決するときに、名前空間が使用できませんでした。これは修正されました。
[EW21868] -
[ウォッチ]ウィンドウで表示されている場合、アセンブリファイルで宣言された変数に間違ったアドレスが指定されることがありました。これは修正されました。
[EW21873] -
Windows 7では、embOSとPowerPac RTOS awarenessプラグインで、設定および製品情報のダウンロードが正しく表示されませんでした。
[EW21901] -
トレース/SWOポートを設定するときに、SFRの他のビット(
DBGMCU_CR
など)が変更されないようになりました。
[EW21970] -
トレースの最後のインデックスが、ファイルに保存する際に含まれるようになりました。
[EW22012] -
C-SPYマクロ
__setLogBreak()
が、すべての適切なデバッガドライバで認識されるようになりました。
[EW22030] -
ステップ実行およびブレークポイントの設定で、
#line
ディレクティブが考慮されるようになりました。
[EW22044] -
EWARM 6.10.2:
uCOS-II プラグインで、HKEY_LOCAL_MACHINE
ではなくレジストリサブツリーHKEY_CURRENT_USER
に設定が保存されるようになりました。
[EW22109] -
EWARM 6.10.2:
[レジスタ]ウィンドウにCP15
レジスタCPACR
を表示する際に、個々のビットの値が正しく表示されるようになりました。
[EW22128] -
EWARM 6.10.2:
ThreadXプラグインの[メッセージキュー]ウィンドウで1つのキューに多数のメッセージが含まれる場合、IDEがクラッシュしなくなりました。
[EW22142] -
EWARM 6.10.3:
関数へのポインタを含む型定義で、デバッガを起動するとIAR Embedded Workbenchが不意に終了する原因となっていた間違ったデバッグ情報が生成されなくなりました。
[EW22176]
メモリ領域のブラックリスト (6.10.2の新機能)
デバイス記述ファイルで、任意でデバイスに有効なメモリ領域を指定できるようになりました。有効な領域外のユーザアクセスはブロックされます。トレース付きでデバッグ時にエディタのコンテキストメニューに新しい項目を追加
ドライバでトレースが使用可能な場合、新しいコンテキストメニューの項目[トレースを検索]がエディタのコンテキストメニューに表示されます(デバッグの実行中)。ターゲットのコードに対応するソースコードをクリックすると、トレースウィンドウが空でなければ、メニュー項目が有効になります。これを選択すると、指定したトレースデータに一致するものがないかトレースウィンドウ内を直接検索し、[トレースを検索]ウィンドウで標準検索の結果を報告します。[タイムライン]ウィンドウおよび関連のウィンドウからコードに移動する場合
既存の機能:[タイムライン]ウィンドウでダブルクリックすると(表示するものがある場合)、エディタウィンドウが開いて、対応するソースコードがあればその位置に挿入ポイントが示されます。これは、[データログ]や[割込みログ]ウィンドウなど関連のウィンドウでダブルクリックした場合にも同じ結果になります。
同じ状況での新機能:逆アセンブリウィンドウがすでに開いている場合、挿入ポイントも正しい位置に配置されます。必要なコードの位置に対応するソースコードがない場合(この場合エディタウィンドウにコードは表示できません)、そのコードは逆アセンブリウィンドウでのみ表示され、このウィンドウが必要に応じて開きます。プロセッサ'待機'モード中にログが生成されたかどうかが、Powerログシステムに表示されます
待機モード中にログが生成されたというターゲットからのシグナルがあれば、[Powerログ]ウィンドウ、PowerStripeツールチップ、Powerログをファイルに保存するシステムで、PCの値として'待機'という文字が表示されます。
V5.50 2010-04-21
プログラム修正-
EWARM 5.50.5:
CMXプラグインモジュールをJ-LinkおよびCortex-Mと使用した場合に、タスクウィンドウが更新されるようになりました。
[EW21819] -
EWARM 5.50.6:
ARMで実行中の例外ルーチンからThumb状態に戻る際に、pc
のリターン値がシミュレータで間違っていることがありました。
[EW21908] -
EWARM 5.50.6:
命令QADD
、QDADD
、QDSUB
のシミュレーションによって、一部の入力値について間違った結果が生成されなくなりました。
[EW21971] -
EWARM 5.50.6:
[トレース]ウィンドウが閉じた状態でトレースに基づいたプロファイリングが有効な場合に、デバッガがクラッシュして終了しなくなりました。
[EW21919] -
EWARM 5.50.6:
CONTROL
レジスタのUNPRIV
ビットがシミュレータで正しくリセットされるようになりました。すなわち、Cortex-M3およびCortex-M4デバイスでシミュレータが権限のないモードで起動しなくなりました。
[EW21982]
- [関数プロファイラ]ウィンドウで、入力がETMトレースの場合に、フラットサンプリング方式が任意で使用できるようになりました。これによって、アプリケーションがRTOSを使用するときなど、デバッガが正しい呼出しチェーンのビルドに失敗した場合でも、正確なプロファイリングが可能になります。
V5.41 2009-12-14
プログラム修正-
LDREX
とSTREX
命令が、Cortex-M3のシミュレータから抜け落ちていることがなくなりました。
[EW19814] -
修飾参照された関数ポインタを含む式を[メモリ]ウィンドウにドラッグしても、デバッガがクラッシュしなくなりました。
[EW21390] -
ソース行に設定されたトレース開始または停止、フィルタポイントを編集しても、エラーメッセージが表示されなくなりました。
[EW21393] -
ターゲットプロジェクトで"queue"のようなシンボルが足りない場合に、CMX RTOSプラグインでエラーが発生しなくなりました。
[EW21437] -
EWARM 5.41.2:
RFE
命令のシミュレーション中に、メモリからCPSR
レジスタにビットが間違ってコピーされなくなりました。
[EW21580] -
EWARM 5.41.2:
C-SPYのコードサイズの制限制御に定数データやデータイニシャライザが含まれなくなりました。
[EW21591]
-
新しいC-SPYマクロ関数
__targetDebuggerVersion()
は、デバッガのバージョンを返します。これによって、異なるバージョンのデバッガに適合するデバッガマクロスクリプトを記述できます。
V5.40 2009-07-10
新機能-
ddf
ファイルの割込み定義は、Cortex-Mデバイスの割込みシミュレーション設定ダイアログにあります。 -
以下の新機能がcspybatに追加されました。
- コードカバレッジ
- ダウンロードのみのモード
- タイムアウトオプション
-
新しいC-SPYマクロ
__delay(milliseconds)
。
-
デバッガが呼出しスタックの巻き戻し中に無限のループに入ることがありました。
[EW20280] -
インクルードファイルが完全に空の場合、ステップ実行のデバッグ情報が1行ずれていました。
[EW20541] -
C-SPYマクロ
__gdbserver_exec_command
がありませんでした。
[EW20857] -
Cortex-Mコアに対して、例外番号が16より小さい例外のシミュレーションが可能になりました。
[EW20866、EW20867、EW20931] -
割込み記述を編集する機能が、
IRQ
およびFIQ
割込みしか持たないコアについて無効になっています。これによって、紛らわしいエラーメッセージが表示されるのを防ぎます。
[EW20868] -
Motorola S37形式のファイルを間違ったメモリ位置にダウンロードする際の、まれな問題が修正されました。
[EW20964] -
EWARM 5.40.4:
--drv_vector_table_base
オプションを使用しても、フラッシュローダが失敗しなくなりました。
[EW21171] -
EWARM 5.40.4:
[関数プロファイラ]で正しい値が表示されるようになりました。
Cortex-Mのトレースウィンドウでの逆アセンブリが正しく機能するようになりました。
[EW21187] -
EWARM 5.40.4:
外部でビルドされたELF/DWARFオブジェクトファイルから取得されたソースファイルのパスが、デバッガで正しく認識されるようになりました。
[EW21223] -
EWARM 5.40.4:
デバッガの行番号の情報が正確になりました。強調表示とブレークポイントの設定が正しく機能するようになりました。
[EW21268] -
EWARM 5.40.4:
フラッシュメモリにダウンロードした場合に、IDEが応答するようになりました。
[EW21297] -
EWARM 5.40.4:
複雑なC++プログラムにステップインを実行しても、表示されたソースコードの場所が現在のプログラムカウンタを反映するようになりました。
[EW21300] -
EWARM 5.40.4:
RTOSがthumbモードでコンパイルされたときに、CMXプラグインがCMX RTOSを検出できるようになりました。
[EW21311]
5.30 2009-01-23
プログラム修正-
本リリースでは[自動]ウィンドウが用意されています。
-
CMXプラグインモジュールは、初期化中に2つではなく1つのブレークポイントを使用します。これによって、ハードウェアのブレークポイント不足によるプラグインの失敗のリスクを低減します。
[EW19139] -
一部の浮動小数点式の結果が、[ウォッチ]ウィンドウに誤って表示されていました。
[EW20303] -
Luminary FTDIドライバを使用した場合、データブレークポイントは最初のダウンロードの直後にだけしか使用できませんでした。その後のダウンロードでは、データブレークポイントは無効になり、有効にできませんでした。
[EW20360] -
ARMモードでの逆アセンブル時に、
CPSID
とCPSIE
が誤って逆になっていました。これは修正されました。
[EW20521] -
MCR
命令が、誤ってMCR2
として逆アセンブルされていました。これは修正されました。
[EW20523] -
以前のフラッシュローダフレームワークに基づいたフラッシュローダが、
cspybat.exe
から正しく呼び出せませんでした。これは修正されました。
[EW20529] -
C-SPYマクロ
__openFile ( input_file, "r+b" )
は、入力ファイルにリードオンリー属性が設定されている場合、これまでは失敗することがありました。これは修正されました。
[EW20268] -
デバッガがセミホスティングコマンド
SYS_FLEN
をサポートしておらず、Cライブラリ関数fseek()
とftell()
が失敗していました。これは修正されました。
[EW20680] -
VFPの無効な状態(FPSCRにEN)でシミュレータがVFP命令を実行しようとした場合、UNDEF命令(オフセット0x4)を正しく受け入れていましたが、LRが4バイトではなく2バイトずれていました。これは修正されました。
[EWARM-169]
5.20 2008-07-11
プログラム修正外部エディタがIDEで使用された場合、それがデバッガでも使用されました。これによって、ソースコードにブレークポイントを設定できなくなることがありました。デバッガが常に内蔵のエディタを使用するようになりました。
[EW19591]シミュレータが無効な命令を含むタイトなループを実行した場合、[デバッグログ]ウィンドウがエラーメッセージでいっぱい��なり、IDEがハングしていました。これは修正されました。
[EW19815]デバッガが、RealView 3.1により生成されたすべてのELF/DWARFファイルを読み込めるようになりました。
[EW19868]ツールチップまたはそれを[ウォッチ]ウィンドウに追加することにより、クラスメンバである関数ポインタをチェックしても、デバッガがクラッシュしなくなりました。
[EW20034]fopen()
ライブラリ関数を使用してファイルを開く際に、何度も失敗すると、使用可能なファイルハンドラをすべて使いきってしまうことがありました。これはもう発生しなくなりました。
[EW20102]Cortex-Mコアの場合、PCが目的のレジスタの場合に、16ビットのMOV(レジスタ)命令が正しくシミュレーションされるようになりました。
[EW20200]
- デバッガの起動
コードをダウンロードしてもしなくても、ツールバーの新しい2つのボタンまたは新しい2つのプロジェクトメニューコマンドを使用して、デバッガを起動できるようになりました。これに対応して、デバッグセッション中にデバッガを再起動する新しい方法も2つ加わりました。 - 複数のELFイメージのロード
デバッガは、C-SPYマクロ__loadModule()
を使用して、複数のELFイメージをロードできます。 - [シンボル]ウィンドウ
[シンボル]ウィンドウに、プロジェクト内で使用される全シンボルのリストが表示されます。ソースブラウザとは対照的に、シンボルのリストはプロジェクトソースファイルに基づくのではなく、デバッグ情報から読み込まれます。つまり、ソースを持たないライブラリからのシンボルもリストされることになります。また、他のウィンドウで都合よく表示されないアセンブララベルもリストされます。 - 新しいフラッシュローダのメカニズム
速度と柔軟性が向上した新しいフラッシュローダのメカニズムを利用できます。
5.11 2007-11-28
プログラム修正マクロ関数
__openFile()
は、"r"
や"w"
だけでなく、あらゆる種類のパラメータを受け入れるようになりました。特に、"b"
パラメータを使用して、ファイルをバイナリモードで開くことが可能です。
[EW17017, EW19034]CPSID
とCPSIE
が、Cortex-Mの逆アセンブリで交換されていました。
[EW18739]システムコプロセッサ(CP15)のサポートを持たないコアをシミュレーションする際、CP15命令によってシミュレータがクラッシュする可能性がありました。
[EW19244]いくつかのコンパイルユニットが同じタイプを使用した場合、デバッグ情報の問題によって、そのタイプのインスタンスの一部が間違ってC-SPYにより処理されることがこれまでありました。これによって、そのタイプを含むC-SPYの式で構文エラーが発生する可能性があっただけでなく、そのメンバを拡張することもできませんでした。
[EW19338、EW19340]シミュレータが、Cortex-Mについて
SVC
命令を正しくシミュレーションしませんでした。
[EW19484]破損したセミホスティングのデータ構造体が、デバッガがクラッシュする要因となることがありました。
[EW19507]場合によっては、[クイックウォッチ]、[ウォッチ]、[ローカル]の各ウィンドウで参照が間違って表示されていました。これは修正されました。
[EW19542]大きな切替え文にブレークポイントを設定すると、これまで失敗することがありました。
[EW19553、19611]ネストされた切替え文をARMモードでデバッグする際に、現在のソースコード位置が誤って表示される可能性がありました。これにより、間違ったcase文が実行されたかのように見えていました。
[EW19681]
Cortex-M1コアのサポート。
5.10 2007-07-02
プログラム修正以前Cortex-M3デバイスは、シミュレータで権限のないモードで起動されていました。
[EW18742]ベースクラスがテンプレートクラスであるコードの場合、デバッガがクラッシュしていました。
[EW18999]ブレークポイントによって呼び出されたC-SPYマクロが同じブレークポイントを削除する場合に、C-SPYがクラッシュしなくなりました。
[EW19001]C-SPYが、大きなイメージをターゲットにダウンロードできるようになりました。
[EW19855]