首页 论坛 原厂专区 NXP(freescale) MCU 【经验分享】基于KSDK的KDS PE工程低功耗进入问题讲解

发帖 回复

[资料] 【经验分享】基于KSDK的KDS PE工程低功耗进入问题讲解
371 查看
0 回复
 楼主 | 发布于 2020-10-26 | 只看楼主
分享到:
【经验分享】基于KSDKKDS PE工程低功耗进入问题讲解
一,问题描述
        最近使用KDS做一些基于KSDK的超低功耗程序,发现如果不带PE的工程就能顺利进入低功耗,但是带PE的工程总是无法进入想要的超低功耗。这里以硬件FRDM-K22F120M为平台详细说明问题。新建一个带PE和不带PE的默认工程,不做任何的配置,然后直接进入VLLS3功耗模式,不带PE的工程测试的功耗大概为3.3uA,但是带PE的工程却有大概260uA,进入低功耗VLLS3的代码如下:
void ENTER_VLLS3(void)
{
volatile unsigned int dummyread;
  SMC_PMPROT = SMC_PMPROT_AVLLS_MASK;
  /*Set the STOPM field to 0b100 for VLLS3 mode */
  SMC_PMCTRL &= ~SMC_PMCTRL_STOPM_MASK;
  SMC_PMCTRL |= SMC_PMCTRL_STOPM(0x4);
  SCB->SCR &= (unsigned int)~(unsigned int)(SCB_SCR_SLEEPONEXIT_Msk);
  SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
SMC_STOPCTRL = 0x03;
  /*waitfor write to complete to SMC before stopping core */
  dummyread = SMC_PMCTRL;
  /*Now execute the stop instruction to go into LLS */
  //stop();
  __asm__("WFI"); //KDS
  //asm("WFI");//Iar
}
从功耗的角度看,PE工程也有进入低功耗的表象,但是功耗的值却远远高于VLLS3的功耗,根据功耗情况看,很像是进入了STOP的模式。
那么是什么原因导致PE工程和非PE工程的不同结果呢?

更多内容请查看附件文档:

本帖有更多资源,需 登录 才可以下载,没有帐号?立即 注册

(0 ) (0 )
回复 举报
  • 发表回复
    0/3000





    举报

    请选择举报类别

    • 广告垃圾
    • 违规内容
    • 恶意灌水
    • 重复发帖

    全部板块

    返回顶部