JAJZ044A December   2024  – October 2025 AM62D-Q1

 

  1.   1
  2.   概要
  3. 1使用上の注意およびアドバイザリ マトリックス
    1. 1.1 サポート対象デバイス
  4. 2シリコンの使用上の注意およびアドバイザリ
    1. 2.1 シリコンの使用上の注意
      1.      i2351
      2.      i2330
      3.      i2372
    2. 2.2 シリコンのアドバイザリ
      1.      i2049
      2.      i2062
      3.      i2087
      4.      i2134
      5.      i2189
      6.      i2196
      7.      i2199
      8.      i2208
      9.      i2249
      10.      i2278
      11.      i2279
      12.      i2310
      13.      i2311
      14.      i2312
      15.      i2366
      16.      i2371
      17.      i2120
      18.      i2137
      19.      i2253
      20.      i2383
      21.      i2401
      22.      i2407
      23.      i2409
      24.      i2410
      25.      i2376
      26.      i2399
      27.      i2413
      28.      i2414
      29.      i2417
      30.      i2419
      31.      i2420
      32.      i2421
      33.      i2422
      34.      i2423
      35.      i2431
      36.      i2435
      37.      i2160
      38.      i2436
      39.      i2482
      40.      i2464
      41.      i2487
      42.      i2493
  5.   商標
  6.   改訂履歴

i2399

C7x:CPU NLC モジュールは、割り込み時に状態をクリアしません

詳細:

データ破損は、次の場合に発生します。

  1. タスクの切り替えを含むアプリケーションを実行した場合。この場合、NLC を使用するタスクは少なくとも 2 つあります。
  2. タスク A に割り込みが発生すると、その後に TICK が発生する NLCINIT が発行されます。この動作により、NLC モジュール内に何らかの内部状態が設定され、計算された転送ケースがフラッシュされるため、次の TICK で ILCNT_INIT 値を ILCNT に再ロードする必要があることが示されます。割り込みが発生しても、この状態は正しくクリアされません。
  3. ISR は、NLC コードも実行されているタスク B へのタスク切り替えを実行します。返される NLC コードは進行中であり、元のタスクの NLC ループとは異なる ILCNT_INIT 値を持つ必要があります。
  4. ISR から復帰した後、次の TICK では、破損した状態が原因で、ILCNT を間違った値 (ILCNT_INIT-2) に設定し始めます。

この時点で ILCNT が破損し、NLC ループが誤った反復回数を実行するため、データが破損する可能性があります。

回避方法:

コンテキストの保存の一環として ISR で NLCINIT (パラメータは関係なく、後から TICK's/BNL も必要ありません) を発行します。回避方法による性能への影響はありません。