打印
[Kinetis]

【经验分享】KL系列低功耗例程KEIL工程问题补丁

[复制链接]
3380|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 FSL_TICS_A 于 2014-10-21 15:19 编辑

1问题描述
        细心的网友可能发现,在调试KL系列的低功耗例程的KEIL工程时,比如以KL25-SC例程中lower_power_demo为例。在进入VLLSx模式的时候,功耗方面都很正常,但是在使用引脚唤醒的时候,就会发现使用KEIL工程和IAR工程还是有比较大的区别。程序中唤醒可以使用PTC3作为唤醒源,如果测试平台为FRDM-KL25,因为没有按键,可以使用一根线模拟按键。当使用IAR工程的时候,可以正常使用PTC3唤醒,程序唤醒后复位执行。但是使用keil工程的时候,使用PTC3唤醒,可以看到功耗上升了,但是没有回复到进入VLLSx前的功耗,大概只有一半,并且也没有看到串口窗口打印出复位后的信息。按道理两个程序的源程序是一样的,为什么会出现这种情况?又如何解决?
IAR测试情况:
KEIL测试情况:
                  
2 解决方案
KEIL 工程的system_MKL25Z4.c文件的void SystemInit (void) 函数开始处加上如下代码:
  if (PMC_REGSC &  PMC_REGSC_ACKISO_MASK)
            PMC_REGSC |= PMC_REGSC_ACKISO_MASK;
在文件的开头加上包含文件:
       #include "common.h"
然后编译,重新烧录,就可以和IAR的唤醒情况一样了。
3.原因分析
IARKEIL的启动函数不一样。
IAR启动按照如下进行:

KEIL的启动过程如下:
  
所以对于keil的启动,进入main之前没有对PEMC_REGSC中的ACKISO寄存器清位,这个位是用于针对VLLSX唤醒后释放I/O引脚以及具体的外设到正常工作模式中。
详情请查看对应的用户手册。
另外,附件中给出了修改后的lower_power_demo例程,其余比如官方的LQRUG_bme_ex2 KEIL例程的唤醒也是一样的修改方法。
关于kinetis的低功耗,这里再给大家推荐两个应用笔记:AN4470AN4503
有兴趣的网友可以到网站下载查看。
KL系列低功耗例程KEIL工程补丁.pdf (329.22 KB)

klxx-sc-baremetal.rar (3.13 MB)

AN4503.pdf (978.25 KB)

AN4470.pdf (9.93 MB)

相关帖子

沙发
FSL_TICS_ZJJ|  楼主 | 2014-4-10 16:59 | 只看该作者
不足之处,欢迎指正,同时也欢迎大家分享经验贴。

使用特权

评论回复
板凳
defalut| | 2014-4-10 17:21 | 只看该作者
好贴。大大的顶。

使用特权

评论回复
地板
xinyinxing| | 2014-4-10 17:22 | 只看该作者
很实在的经验啊,支持楼主!

使用特权

评论回复
5
hsguan| | 2014-4-13 16:13 | 只看该作者
求看附件

使用特权

评论回复
6
hsguan| | 2014-4-13 16:37 | 只看该作者
麻烦问一下:
1.官方给出的lower_power_demo,隔一秒从LLS唤醒的那个选项下,为什么我在SYSINIT里面定义的了NO_PLL_INIT以后(就是不用PEE,改用FEI),每次一进STOP模式就会reset,提示Loss of External Clock Reset;
2.我把进VLPR模式的那个选项下面的程序拷贝到LLS定时唤醒后面了,每隔1S从LLS唤醒后进入VLPR,随后什么都不干就重新进入LLS模式,为什么这个过程能达到几个毫秒。
另外谢谢楼主的帖子,非常有用~~

使用特权

评论回复
7
FSL_TICS_ZJJ|  楼主 | 2014-4-14 09:14 | 只看该作者
hsguan 发表于 2014-4-13 16:37
麻烦问一下:
1.官方给出的lower_power_demo,隔一秒从LLS唤醒的那个选项下,为什么我在SYSINIT里面定义的 ...

感谢你的问题,因为解决需要消耗我们的工作时间,所以,你可以不可以新建一个问题贴,然后我在你的问题贴里面帮你解答呢?这样也算你自己的一个主动发帖!

使用特权

评论回复
8
hsguan| | 2014-4-14 11:14 | 只看该作者
FSL_TICS_ZJJ 发表于 2014-4-14 09:14
感谢你的问题,因为解决需要消耗我们的工作时间,所以,你可以不可以新建一个问题贴,然后我在你的问题贴 ...

非常感谢您的支持~~我已经重新发帖了,问题比较多比较烦,所以麻烦您了

https://bbs.21ic.com/forum.php?mod=viewthread&tid=714658&extra=

使用特权

评论回复
9
FSL_TICS_ZJJ|  楼主 | 2014-4-14 12:46 | 只看该作者
hsguan 发表于 2014-4-14 11:14
非常感谢您的支持~~我已经重新发帖了,问题比较多比较烦,所以麻烦您了

https://bbs.21ic.com/forum.php? ...

好的,收到,我考虑好后,会给你解答!
请耐心等待下!

使用特权

评论回复
10
xinyinxing| | 2014-4-15 14:48 | 只看该作者
这个keil工程的确之前有这个情况,后来就使用IAR工程了。

使用特权

评论回复
11
zenghui28| | 2014-7-4 08:33 | 只看该作者

好贴。大大的顶。

使用特权

评论回复
12
FSL_TICS_ZJJ|  楼主 | 2014-7-4 11:49 | 只看该作者
xinyinxing 发表于 2014-4-15 14:48
这个keil工程的确之前有这个情况,后来就使用IAR工程了。

按照帖子的做法你就会发现这个问题是可以解决的。

使用特权

评论回复
13
FSL_TICS_ZJJ|  楼主 | 2014-7-4 11:51 | 只看该作者
zenghui28 发表于 2014-7-4 08:33
好贴。大大的顶。

感谢你的支持,更多的经验分享,请到我们的总链接:
https://bbs.21ic.com/icview-722190-1-1.html
另外,这段时间我们的坛子在搞活动,参与即有机会赢iPhone 5s,详情请到链接:
https://bbs.21ic.com/icview-759978-1-1.html

使用特权

评论回复
14
oscar0724| | 2014-7-8 10:10 | 只看该作者
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

使用特权

评论回复
15
FSL_TICS_ZJJ|  楼主 | 2014-7-8 10:21 | 只看该作者
oscar0724 发表于 2014-7-8 10:10
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

感谢你的支持,更多的经验分享,请到我们的总链接:
https://bbs.21ic.com/icview-722190-1-1.html
另外,这段时间我们的坛子在搞活动,参与即有机会赢iPhone 5s,详情请到链接:
https://bbs.21ic.com/icview-759978-1-1.html

使用特权

评论回复
16
lidreamer| | 2014-7-10 11:21 | 只看该作者
本人也遇到了此问题,谢谢大神

使用特权

评论回复
17
FSL_TICS_ZJJ|  楼主 | 2014-7-10 11:33 | 只看该作者
lidreamer 发表于 2014-7-10 11:21
本人也遇到了此问题,谢谢大神

不客气,我们以后会分享更多使用kinetis的经验。
如果你发现一些问题,也可以直接发帖和我们交流哦。

使用特权

评论回复
18
xinyinxing| | 2014-7-10 17:46 | 只看该作者
的确,如果不注意测试,还真发觉不了,都不知道那种唤醒都到什么状态了,反正不正常。

使用特权

评论回复
19
lidreamer| | 2014-7-10 21:20 | 只看该作者
FSL_TICS_ZJJ 发表于 2014-7-10 11:33
不客气,我们以后会分享更多使用kinetis的经验。
如果你发现一些问题,也可以直接发帖和我们交流哦。 ...

可以啊,我就是专业搞飞思卡尔M0+/M4技术支持的,可是在公司没有网络哦

使用特权

评论回复
20
FSL_TICS_ZJJ|  楼主 | 2014-7-11 08:59 | 只看该作者
lidreamer 发表于 2014-7-10 21:20
可以啊,我就是专业搞飞思卡尔M0+/M4技术支持的,可是在公司没有网络哦

很好啊,可以把问题总结下来,有网的时候发的。
如果不是非常复杂的问题,直接就在论坛发吧。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

165

主题

5069

帖子

88

粉丝