2408730_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2408730_ja-JP

2408730_ja-JP

LPC1778 IAPプログラミングにおいて、CCLKの値が大きいほどプログラミング速度は遅くなります。

こんにちは。LPC1778のIAPモードを使用してプログラムを書き込んでいたところ、CCLKの値が大きいほど書き込み処理が遅くなることがわかりました。

ほとんどの IAP 命令は CCLK パラメータを受け入れることができます。これはマニュアルでは次のように説明されています: Param3: CPU クロック周波数 (CCLK) (kHz)。

LPC1778のデバッグ中に、ドライバのデフォルトのCCLK値を12000(12MHz)から4000(4MHz)に変更したところ、書き込み速度が実際に向上しました。いくつかの値を試したところ、CCLKパラメータが大きいほど書き込み処理が遅くなることがわかりました。これはなぜでしょうか?CCLKはどの周波数を指しているのでしょうか?

回复: LPC1778 IAP烧录CCLK越大反而烧录越慢

こんにちは@BianHaopeng1

LPC1778/LPC178xのドキュメントでは、CCLKはARMプロセッサのクロック周波数、つまりメインCPUクロック(コアCPUクロック)を指します。IAP消去コマンドでは、CPUクロック周波数(CCLK)をkHz単位で指定する必要があります。

その理由は、「CCLKが低いほど物理的なフラッシュ書き込みが速くなる」ということではなく、IAP ROMルーチンが渡されたCCLKを現在のCPU周波数として扱い、フラッシュ消去/書き込みのタイミング/待機時間を計算しているためである可能性が高い。したがって、実際のCPUがより高い周波数で動作している状態で、IAPに渡されるパラメータを12000から4000に変更した場合、IAPは4MHzに基づいてより短いレイテンシ/タイミングを生成し、書き込みが速くなる。しかし、これはIAPに誤ったクロックが渡されることを意味し、フラッシュ消去/書き込みの信頼性、温度/電圧の許容範囲、および長期安定性が保証されない。

正しい方法は、IAP呼び出し時の実際のCPUクロック速度をkHz単位でCCLKパラメータに入力することです。

BR

ハリー

Re: LPC1778 IAP烧录CCLK越大反而烧录越慢

LPC1778では、CCLKは水晶発振器の周波数ではなく、実際のCPUコアクロック周波数(kHz単位)を意味します。IAPブートローダーは、特にフラッシュメモリのプログラミングやUART通信において、内部タイミングを計算するためにCCLKパラメータを使用します。提供した値がMCUの実際のCPUクロックと一致しなかったり、クロックがIAPコードの期待値と異なる設定をしていると、タイミング計算が誤り、プログラミングや通信が遅くなることがあります。したがって、PLL/分周器の設定後、CCLKパラメータがCPUクロックと完全に一致するようにしてください(例えば、120MHzは120000kHzと指定する必要があり、12000とは指定しません)。


タグ(1)
評価なし
バージョン履歴
最終更新日:
1週間前
更新者: