本帖最后由 小恩GG 于 2018-10-12 16:56 编辑
【经验分享】LPC541XX 系列唤醒执行时间长问题解决
最近有些客户在使用LPC54102,LPC54114的时候,使用的代码是lpcopen的,发现进入低功耗,再唤醒,唤醒的时间比较长,经过进一步定位,发现问题的关键点出在Chip_SetupIrcClocking这个函数上面,这个函数里面有使用PLL,配置PLL的代码,而PLL代码在计算M decode和encode的时候耗费了太多的时间,所以修改了sysinit_5410x.c文件里面的void Chip_SetupIrcClocking(uint32_tiFreq)函数,还有pll_5410x.c里面的static uint32_t pllDecodeM(uint32_tMDEC) 以及static uint32_t pllEncodeM(uint32_t M)
下面给出具体修改代码:
红色的地方是经过后面添加的。
下面分别给出LPC54102以及LPC54114修改前和修改后的Chip_SetupIrcClocking函数的运行时间:
1. LPC54102
修改前
修改后
2 Lpc54114
修改前
修改后
可以发现,经过修改后,Chip_SetupIrcClocking运行时间缩短,其实也是启动时间的缩短。 这里也分享了LPC54114和LPC54102的代码,希望对大家有帮助。 |