fsl ライブラリを 25.6 にアップデートすると、fsl_iap.c の消去およびプログラム関数にクロックが 100 MHz を超えているかどうかのチェックがあることに気付きました。
ここで、kCLOCK_CoreSysClk がチェックされます。これは、UM11126 の 43 ページの図 4 にある main_clk です。これは、CPU への実際のクロックである kCLOCK_BusClk に対してチェックする必要があると思います。
敬具
フォルケルト
こんにちは@Folkert
はい、その通りです。
kCLOCK_DivAhbClkを2に設定すると、
fsl_iap 関数は kCLOCK_BusClk をチェックする必要があります。
BR
ハリー
親愛なる@Harry_Zhang
ご回答ありがとうございます。
クロックを PLL0 にコネクテッドした LPC55S69 を使用します。これは 150 MHz で動作し、通常はkCLOCK_DivAhbClk を1 に設定します。フラッシュに書き込むときは、CPU を 75MHz で動作させるためにkCLOCK_DivAhbClk を2 に設定します。これで機能します。
このCASE、fsl_iap 関数は kCLOCK_BusClk をチェックする必要があります。これは、kCLOCK_CoreSysClk と異なるためです。
敬具
フォルケルト
こんにちは@Folkert
このデモをチェックしました。
私は発見した
CLOCK_SetClkDiv(kCLOCK_DivAhbClk, 1U, false);
SO、kCLOCK_BusClk は kCLOCK_CoreSysClk と同じです。
そしてそれを印刷します。それらは同じです。
CANテストすることができます。
BR
ハリー