JAJZ026B April 2024 – February 2025 TMS320F28P550SG , TMS320F28P550SJ , TMS320F28P559SG-Q1 , TMS320F28P559SJ-Q1
システム: CLKSRCCTL1 への複数の連続した書き込みを行うと、システムがハングする可能性があります
0, A
書き込み間に遅延なしで CLKSRCCTL1 レジスタに複数回書き込むと、システムがハングアップし、外部 XRSn リセットまたはウォッチドッグ リセットでのみ回復できます。この条件の発生は、SYSCLK と OSCCLKSRCSEL で選択したクロックとの間のクロック比によって異なり、毎回発生するとは限りません。
デバッガの使用中にこの問題が発生した場合、一時停止すると、プログラム カウンタはブート ROM リセット ベクタになります。
回避方法を実装すると、SYSCLK/OSCCLK の比率でこの条件を回避できます。
CLKSRCCTL1 レジスタへの書き込みごとに、NOP 命令を使用して、300 SYSCLK サイクルのソフトウェア遅延を追加します。
例:
ClkCfgRegs.CLKSRCCTL1.bit.INTOSC2OFF=0; // Turn on INTOSC2
asm(" RPT #250 || NOP"); // Delay of 250 SYSCLK Cycles
asm(" RPT #50 || NOP"); // Delay of 50 SYSCLK Cycles
ClkCfgRegs.CLKSRCCTL1.bit.OSCCLKSRCSEL = 0; // Clk Src = INTOSC2
asm(" RPT #250 || NOP"); // Delay of 250 SYSCLK Cycles
asm(" RPT #50 || NOP"); // Delay of 50 SYSCLK Cycles
C2000Ware_3_00_00_00 以降のリビジョンでこの回避策が実装されます。