ZHCZ028E October   2022  – July 2025 TMS320F2800132 , TMS320F2800133 , TMS320F2800135 , TMS320F2800137

 

  1.   1
  2.   TMS320F28003x 实时 MCU 器件勘误表器件修订版本 0
  3. 1使用说明和公告模型
    1. 1.1 使用说明汇总表
    2. 1.2 公告汇总表
  4. 2命名规则、封装编号法和修订版本标识
    1. 2.1 器件和开发支持工具命名规则
    2. 2.2 支持的器件
    3. 2.3 封装编号法和修订版本标识
  5. 3器件修订版本 C 使用说明和公告
    1. 3.1 器件修订版本 C 使用说明
      1. 3.1.1 PIE:背对背 PIEACK 写入和手动 CPU 中断屏蔽清除之后的伪波嵌套中断
      2. 3.1.2 将嵌套中断与重复块一起使用时的注意事项
      3. 3.1.3 安全性:主要防御层能保护芯片边界,这首先是启用 JTAGLOCK 和零引脚引导至闪存功能
    2. 3.2 器件修订版本 C 公告
      1.      公告
      2.      公告
      3.      公告
      4.      公告
      5.      公告
      6.      公告
      7.      公告
      8. 3.2.1 公告
      9.      公告
      10. 3.2.2 公告
      11. 3.2.3 公告
      12.      公告
      13.      公告
      14.      公告
      15.      公告
      16. 3.2.4 公告
      17.      公告
      18. 3.2.5 公告
      19.      公告
  6. 4器件修订版本 B 使用说明和公告
    1. 4.1 器件修订版本 B 使用说明
    2. 4.2 器件修订版本 B 公告
  7. 5器件修订版本 A 使用说明和公告
    1. 5.1 器修订版本 A 使用说明
    2. 5.2 器件修订版本 A 公告
  8. 6器件修订版本 0 使用说明和公告
    1. 6.1 器件修订版本 0 使用说明
    2. 6.2 器件修订版本 0 公告
  9. 7文档支持
  10. 8商标
  11. 9修订历史记录

PIE:背对背 PIEACK 写入和手动 CPU 中断屏蔽清除之后的伪波嵌套中断

受影响的版本:0、A、B、C

某些用于嵌套中断的代码序列允许 CPU 和 PIE 进入不一致状态,从而触发不必要的中断。进入该状态所需的条件为:

  1. PIEACK 清除后,立即执行全局中断使能(EINT 或 ASM (" CLRC INTM"))。
  2. 嵌套中断会清除其组的一个或多个 PIEIER 位。

是否触发不必要的中断,取决于系统中其他中断的配置和时序。在大多数应用中,预计这种事件很罕见或根本不存在。如果发生这种情况,不必要的中断将是嵌套中断的 PIE 组中的第一个中断、并将在嵌套中断重新启用 CPU 中断(EINT 或 asm ("CLRC INTM"))后触发。

权变措施:在 PIEACK 写入和 CPU 中断使能之间添加一个 NOP(无操作)。以下显示了示例代码。


     //Bad interrupt nesting code
     PieCtrlRegs.PIEACK.all = 0xFFFF;      //Enable nesting in the PIE
     EINT;                                 //Enable nesting in the CPU
  
     //Good interrupt nesting code
     PieCtrlRegs.PIEACK.all = 0xFFFF;      //Enable nesting in the PIE
     asm(" NOP");                          //Wait for PIEACK to exit the pipeline
     EINT;                                 //Enable nesting in the CPU