JAJZ020A March   2024  – April 2025 AM67 , AM67A , TDA4AEN-Q1 , TDA4VEN-Q1

 

  1.   1
  2. 1影響を受けるモジュール
  3. 2命名規則、パッケージの記号表記、リビジョンの識別
    1. 2.1 デバイスおよび開発ツールの命名規則
    2. 2.2 サポート対象デバイス
    3. 2.3 パッケージの記号表記およびリビジョンの識別
  4. 3シリコン リビジョン1.0 の使用上の注意およびアドバイザリ
    1. 3.1 シリコン リビジョン 1.0 の使用上の注記
      1.      i2134
    2. 3.2 シリコン リビジョン 1.0 のアドバイザリ
      1.      i2049
      2.      i2062
      3.      i2097
      4.      i2120
      5.      i2137
      6.      i2160
      7.      i2189
      8.      i2190
      9.      i2196
      10.      i2199
      11.      i2208
      12.      i2242
      13.      i2243
      14.      i2249
      15.      i2253
      16.      i2278
      17.      i2279
      18.      i2310
      19.      i2311
      20.      i2312
      21.      i2326
      22.      i2330
      23.      i2351
      24.      i2362
      25.      i2366
      26.      i2372
      27.      i2383
      28.      i2399
      29.      i2401
      30.      i2407
      31.      i2409
      32.      i2410
      33.      i2419
      34.      i2424
      35.      i2431
      36.      i2436
      37.      i2457
      38.      i2478
  5.   商標
  6. 4改訂履歴

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 も必要ありません) を発行します。回避方法による性能への影響はありません。