Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
PM组件
idle空闲线程
RT-Thread IDLE线程栈过小引起的调试异常
发布于 2020-09-08 18:05:19 浏览:2239
订阅该版
[tocm] [RT-Thread 电源管理与功耗调优系列 - 目录](https://club.rt-thread.org/ask/article/3419.html) [RT-Thread PM组件2.0更新版 -- 使用指南](https://club.rt-thread.org/ask/article/3323.html) [RT-Thread PM组件2.0更新版 -- 介绍](https://club.rt-thread.org/ask/article/3244.html) [RT-Thread PM框架使用答疑 -- 01](https://club.rt-thread.org/ask/article/3198.html) [RT-Thread PM框架使用答疑 -- 02](https://club.rt-thread.org/ask/article/3201.html) [RT-Thread PM2.0 应用 -- 平台适配篇](https://club.rt-thread.org/ask/article/2517.html) [RT-Thread IDLE线程栈过小引起的调试异常](https://club.rt-thread.org/ask/article/292.html) [RT-Thread 使能PM组件](https://club.rt-thread.org/ask/article/2287.html) [实践:RT-Thread PM管理实战 系列](https://club.rt-thread.org/ask/article/2282.html) [进阶:RT-Thread精通PM功耗调优 系列](https://club.rt-thread.org/ask/article/2296.html) [上手:产品功耗管理与调优经验分享 系列](https://club.rt-thread.org/ask/article/2707.html) ## 验证环境 * 开发板:潘多拉STM32L475 * 开发IDE:Keil MDK5 * 开启PM组件 ## 问题描述 * 调试最新的PM组件,睡眠与唤醒的执行默认在idle线程,睡眠唤醒后,串口频繁打印信息,系统工作异常,无法进入睡眠。 * 使用J-Link调试,发现无法正常的调试。 * 控制台疯狂打印,rt_thread_mdelay延时功能失效。 ![2020-09-08_180059.png](/uploads/20200908/a7b630898f0bf1d176edc2f4bc6013b7.png) ## 分析过程 * 查看程序发现无明显异常 * 睡眠唤醒函数放在其他线程,发现工作正常。 * 通过list_thread 查看线程,发现了问题点,原来idle线程异常关闭了 * 原因:idle 线程栈溢出导致,idle默认的栈太小。 ## 解决方法 * 打开RT-Thread ENV 工具,输入 `menuconfig`,加大idle线程的栈大小,默认的栈只有256太小,可以改为1024或更大,如:2048,验证后正常了。 ![2020-09-08_180450.png](/uploads/20200908/55bc1a4e8bd9c0768f9ce07ddada6557.png) ## 总结 * 因为PM组件执行的线程环境是idle线程,模式切换、功耗管理等需要一定的栈空间,默认idle栈空间256过小。 * PM组件使用起来并不复杂,复杂的是如何管理与优化具体产品的功耗,在满足功能、性能的情况下,把功耗做到最低。 * 使用PM组件可以方便的对系统功耗进行管理
1
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
张世争
学以致用
文章
131
回答
805
被采纳
174
关注TA
发私信
相关文章
1
[PM组件移植]RT-THREAD NANO 移植 PM组件
2
启用PM组件后,软件定时器工作不正常
3
rt_timer在低功耗stop模式下的超时问题。
4
如何解决使用PM后,中断如何发送事件到线程?
5
启用PM(1.0)组件后,睡眠进不去,一直在IDLE线程中循环
6
开启PM组件后写入文件时drv_sdio会报等待完成超时错误
7
低功耗模式不能唤醒(外部中断)
8
stm32f103 的pm组件添加没有drv_pm.c 的 驱动文件
9
PM2.0 外部中断唤醒后程序执行顺序异常
10
PM组件如何进入standby模式
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
a1012112796
20
个答案
3
次被采纳
张世争
12
个答案
3
次被采纳
踩姑娘的小蘑菇
7
个答案
3
次被采纳
用户名由3_15位
13
个答案
2
次被采纳
rv666
9
个答案
2
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
RTT_逍遥
1
篇文章
8
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部