2408730_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2408730_zh-CN

2408730_zh-CN

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

您好,我在使用LPC1778的IAP模式进行烧录时,发现CCLK越大反而烧录越慢。

IAP指令大多可以传入CCLK参数,手册中的描述是:Param3: CPU Clock Frequency (CCLK) in kHz。

我在调试LPC1778时,将驱动默认的CCLK值从12000(12MHz)改为4000(4Mhz),发现烧录速度反而变快了。我尝试了多个值,发现CCLK参数越大,烧录反而越慢,请问这是什么原因?这个CCLK指的是什么频率?

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

Hi @BianHaopeng1 

CCLK 在 LPC1778/LPC178x 文档中指 ARM processor clock frequency / Main CPU clock ,也就是内核 CPU 时钟,IAP 的擦除命令明确要求传入 CPU Clock Frequency (CCLK) in kHz 。

原因大概率不是“CCLK 越低 Flash 物理写入越快”,而是 IAP ROM 例程把你传入的 CCLK 当作当前 CPU 主频来计算 Flash 擦写时序/等待时间 。因此,如果实际 CPU 仍在较高频率运行,而你只把传给 IAP 的参数从 12000 改成 4000 ,IAP 会按 4 MHz 去生成更短的延时/时序,表现上烧录变快;但这属于给 IAP 传了错误时钟,Flash 擦写可靠性、温度/电压边界和长期保持不一定有保证。

正确做法是: CCLK 参数应填写调用 IAP 时真实的 CPU 主频,单位 kHz 。

BR

Harry

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

在 LPC1778 中,CCLK 指的是实际的 CPU 核心时钟频率(以 kHz 为单位),而不是晶振/XTAL 频率。IAP 引导加载程序使用 CCLK 参数来计算其内部时序,特别是对于闪存编程和 UART 通信。如果您提供的值与 MCU 的实际 CPU 时钟不匹配,或者时钟配置与 IAP 代码预期的不同,则时序计算可能会出错,导致编程或通信速度变慢。因此,请确保 CCLK 参数与 PLL/分频器配置后的 CPU 时钟完全匹配(例如,120 MHz 应指定为 120000 kHz,而不是 12000)。


Tags (1)
No ratings
Version history
Last update:
a month ago
Updated by: