功耗调试之如何调试功耗(一)

STM32低功耗模式调试实战:为什么你的WFI指令一执行就醒?(附SysTick排查技巧) 本文深入探讨了STM32低功耗模式调试中WFI指令执行后立即唤醒的常见问题,重点分析了SysTick定时器等中断源的影响,并提供了一套完整的排查流程和解决方案。通过详细的代码示例和调试技巧,帮助开发者有效解决低功耗模式下的异常唤醒问题,优化嵌入式系统的功耗表现。 阅读详情

功耗调试之如何调试功耗(一)

导航制导与控制实验室

   2015年01月01日

本文就开始讨论功耗的调试步骤和方法。

本文主要的内容如下:

一、明确调试的目标

二、明确调试的内容

三、参照电路框图找出我们需要检测的输出

四、找出或引出需测试的输出

五、功耗测试的步骤流程图

一、明确调试的目标

明确调试的目标,即在满足当前的需求情况下,尽最大的可能去降低各种状态下、各路模块的功耗值。一般情况下,功耗越低要求也就越严格。例如:某设备的电池为300mAh,假设一种情境下休眠功耗电池端为0.8mA,另一种情境下功耗电池端为1mA,显然仅仅相差200uA(出现这种状态的情况就比较多了,有可能是GPIO口的状态不对,也有可能是外设漏电引起,还有可能是电源管理配置有问题。)通过计算可以算出来0.8mA待机375小时,而1mA待机300小时,相差75小时,这对一个设备来说是很重要的。


二、明确调试的内容


我们为了更好的调试功耗,必须做一个简洁并且一目了然的表格用来记录我们的测量结果,总的来说测试表格的内容几乎就是我们测试的内容;

概况的说,包括需要调试6种状态和5个电路模块的功耗,其中

6种状态是指:

第一、开机后的空闲状态(开机亮屏状态下,不进行任何操作,即,后台几乎没有CPU资源占用率高的进程);

第二、关闭显示屏,但不休眠的状态;

第三、进入休眠过程中(early_suspend)的状态;

第三、完全进入休眠的状态;

第四、完成关机的状态;

第五、其他状态下(比如视频播放、蓝牙通信、WiFi连接、游戏运行等),该状态只是用来评估CPU内部模块,或者某个特定的外设工作时的功耗。

5个电路模块是指:

Battery(电池供电的电路,是设备总的功耗);

cpu_core(给处理器内部的逻辑电路供电的电路);

cpu_memory(给SDRAM(DDR)以及处理器DDR phy供电的电路);

vddio(给处理的VDDIO以及一些处理器内部的外设控制器,外部的外设供电的电路);

其他的外设(包括其他全部的外设,例如wifi、bluetooth、tp以及lcd等,这个可以列出多种调试状况)。


测试的内容当然可以根据当前情况进行有目的测试,比如下图就是我在测试是做的表格:

注:如果测试的数据值是正确的,我们还需要记录下测试所用的代码版本,所用的软件资源,测试时间,测试人员,以及主频,外频等情况。


三、参照电路框图找出我们需要检测的输出

由newton的框架图可知:

(1)     CPU_core由OUT1(1.2V)供电;

(2)     CPU_mem由OUT2(1.8V)供电;

(4)     OUT6(3.3V)给EVG供电;

(5)     OUT9(3.3V)和OUT17(1.8V)给TP供电;

(6)     OUT10(1.8V)给MIC供电;

(7)     OUT11(3.3V)给sensor供电;

(8)     OUT12(3.3V)给MOTOR供电;

(9)     OUT13(3.3V)和OUT14(1.8V)给LCD供电;

(10)   OUT16(3.3V)给sensors供电;

(11)   OUT19(1.8V)给wifi供电;

进而我们了解了整块板的基本供电情况,从而测量各个模块的电流情况。

这里我们用到regulator,但是很多开发板或者设备没有regulator,这时我们就得在电路图中获得每个模块的供电情况。

注:像君正的newton开发板是具有regulator的,在板级中我们能看到regulator的简单配置,还有一些基本的配置,regulator参数的调试也是属于功耗调试的,如果木有的话,就算了。


四、找出或引出需测试的输出

1、电源端比较容易测量;

2、其他测试点:我们需要借助altium designer、99SE、DXP、PADS等工具,找出易测量的点或者飞线,这里就省了如何查找的步骤;

下面我们就开始介绍下测试的步骤了?!

JTAG端口如何成为攻击入口?功耗分析与安全防御实战 在嵌入式系统开发中,调试接口是工程师排查问题的利器,但同时也是硬件安全中最常被忽视的薄弱环节。JTAG作为IEEE 1149.1标准定义的边界扫描接口,不仅能测试PCB连通性,更可实现对CPU内核的完全控制——读写内存、提取固件、绕过校验,等同于给攻击者打开了一扇任意门。更严峻的是,即便启用了调试保护,功耗分析(Power Analysis)这类侧信道攻击仍可通过观察芯片运行时的电流波动,逆向还原出AES密钥等敏感信息。攻击者往往先利用功耗分析获取密钥,再借助JTAG完成固件篡改与持久化控制,两者组合构成完 阅读详情

相关推荐

用NRF52832做个蓝牙遥控器:一主多从连接8个设备,代码实战避坑

本文详细介绍了如何利用NRF52832开发支持一主多从连接的蓝牙遥控器,实现同时连接8个设备的实战方案。内容涵盖硬件选型、协议栈配置、多连接管理及常见问题解决,特别针对智能家居场景提供了优化建议和代码示例,帮助开发者避开实际应用中的典型陷阱。

weixin_33681778的博客 695

展锐平台功耗问题思考

1.是否真正进入休眠; 展锐平台真正进入休眠的log是suspend resume source,在内核的osi_sleep.c中,这个是判断休眠的根本依据;目前平台上的休眠函数发送AT+CSCLK=2可以直接进入休眠,log如有变化可以发送这个指令,抓取log做对比分析; 2.用示波器看高低电平持续的时间,分析是平台问题还是定制的版本有问题; 3.飞行模式前后功耗对比; 4.一直跑的任务重,任务切换是否用到了低功耗对应的函数接口osiThreadSleepRelaxed(FREER...

lkq1621388556的博客 1058

FreeRTOS Tickless模式:嵌入式低功耗调度核心原理

在嵌入式实时操作系统(RTOS)中,低功耗设计关键依赖于精准的时间管理机制。Tickless模式通过摒弃固定周期的SysTick中断,转而采用自由运行计数器与可编程单次定时器协同工作,实现‘按需唤醒’的深度睡眠调度。其本质是将时间推进从‘中断驱动’转变为‘物理计时+事件宣告’,既保障任务延时、超时等待等定时语义的严格正确性,又显著降低CPU及外设的无效唤醒开销。该机制广泛应用于电池供电的物联网终端、环境监测节点等对续航敏感的场景,是FreeRTOS功耗优化的核心技术支撑,也是理解RTOS电源管理与硬件时钟协

weixin_34471637的博客 197

展锐平台HDR调试心得

HDR,High-Dynamic Range,也就是高动态范围,用于对象的最明亮和最暗部分相差特别大的时候。HDR开启后会连拍三张照片,分别对应欠曝光、正常曝光和过度曝光,然后把这三张图片合到一块并且突出每张照片最好的部分从而生成一张精妙绝伦的照片。HDR能让该亮的亮、让该暗的暗、让亮/暗部的细节更丰满。 设置不同的ev曝光,得到长曝光帧和短曝光帧,再对齐融合。 如果黑的地方很暗,ev1过曝帧加大,例如从0.6-1.8 如果背景过曝很亮,ev0欠曝帧减小,例如从-0.5- -1 W_yoe_m:Lum_t

lw123456_的博客 1439

Android功耗调试汇总

(1)runtime PM机制 系统在非睡眠状态时,设备在空闲时可以进入runtime suspend状态同时不依赖系统wake_lock机制;非空闲时执行runtime resume使得设备进入正常工作状态。 主要代码放在Runtime.c (drivers\base\power)中,同时附带的Runtime_pm.txt (documentation\power)有详细说明。要使得设备可以进入runtime_idle与runtime_suspend必须满足device的2个参数usage_count与c

cornerstone1的博客 3900

高通调试工具使用手册,仅供参考!

高通调试工具使用手册,仅供参考!

Android:展锐T760平台camera驱动调试

1、MIPI CSI该平台有DPHY和CPHY两种MIPI信号。 DPHY配置:包括数对差分数据信号DP/N,和一对差分时钟信号CKP/N。 CPHY配置:最多有3lane,每lane由ABC三条数据组成。 Camera的连接方式受限于UMS9620x内部的CSI PHY、CSI Controller和DCAM模块。2、I2CUMS9620x作为Controller,通过I2C总线对Camera进行配置或者对Camera状态进行读取。3。

leezs的博客 4733

高通功耗调试文档

一篇关于高通平台的功耗调试文档,这个通用的所有平台。

【展锐】PDAF调试

驱动修改点 A:sensor_xxxx_mipi_raw.c 1.获取PD信息函数 static const cmr_u16 xxxx_pd_is_right[] = PD点位置信息,遮住右半边表示右点,用1表示,遮住左半边表示左点,用0表示;具体需要看sensor static const cmr_u16 xxxx_pd_row[] =PD位置行坐标 static const cmr_u16 xxxx_pd_col[] = PD位置列坐标 static const struct pd_pos_info _

来碗炒饭 3091

PaddleOCR多进程GPU推理实战:200万图片高效处理方案

本文详细介绍了PaddleOCR多进程GPU推理在高效处理200万张图片OCR任务中的实战方案。通过优化GPU利用率、多进程并发和关键参数调优,实现了从单进程3000张/小时到8进程3万张/小时的性能飞跃,为大规模OCR处理提供了可靠解决方案。

prometheus9mon的博客 261

论文记录:Affine Formation Maneuver Control of Multiagent Systems

多智能体编队控制仿真记录 实现功能:平移/旋转/尺寸缩放/shear,见截图 注意:本仿真图只是起到了演示效果,中间过程速度产生突变,实际中是不允许的。需要进行速度规划,这一点论文中仿真图更为贴合实际。 参考论文:Zhao, S. (2018). Affine Formation Maneuver Control of Multiagent Systems. IEEE Transactions on Automatic Control, 63(12), 4140–4155. 突然发现有个博主写得很好,参考:

W1H1J1的博客 2108

开发 HarmonyOS NEXT 低功耗蓝牙调试助手:从零到一的实践指南

开发 HarmonyOS NEXT 低功耗蓝牙调试助手涉及多个关键步骤,包括环境搭建、BLE 设备扫描、连接管理、消息收发以及用户界面设计。通过实现这些核心功能,我们创建了一个强大的工具,可以极大地简化 BLE 设备的开发和调试过程。在实际应用中,注重性能优化和用户体验,遵循最佳实践,将使得这个调试助手成为开发者不可或缺的得力助手。

m0_69239579的博客 2723

Marvell车载以太网交换机芯片88Q5050

Marvell推出了四款车载用交换机芯片,88Q5050,88Q5050, 88Q5072和88Q6113。其中88Q5030有5 Port用于通信,88Q5050有8 Port用于通信,5072与6113有11 Port用于通信。由于项目中用到了88Q5050,所以本文中只涉及到88Q5050的内容。本文是对使用88Q5050的梳理和总结。

zhuwade的博客 2万+

低功耗调试

PWR_EnterSTOPMode(PWR_Regulator_ON, wfi or wfe      都是 接着debug 下去

gtkknd的专栏 3835

Java 实现 MP3 音频合并工具类:摆脱 FFmpeg,高效低 CPU 的纯本地方案【需求已解决】

本方案充分发挥了 Java 音频 SPI 的潜力,实现了轻量、跨平台、低 CPU 消耗的 MP3 音频合并工具类。 对于希望在服务器或桌面应用中集成音频处理功能的开发者而言,这无疑是一个可行且优雅的解决方案。

一键难忘的博客 543

HFSS实战项目——GPS北斗双模微带天线

本文设计了一款方形圆极化微带天线应用于北斗B1和GPSL1频段,满足高增益、低VSWR、适当方向图等要求。设计中心频率为1568MHz,介质板采用厚度h=1.6mm的Arlon AD450(tm)板,相对介电常数为4.5,采用探针馈电。

2401_87464239的博客 1767

【安富莱专题教程第7期】终极调试组件Event Recorder,各种Link通吃,支持时间和功耗测量,printf打印,RTX5及中间件调试...

说明:1、继前面的专题教程推出SEGGER的RTT,JScope,Micrium的uC/Probe之后,再出一期终极调试方案Event Recoder,之所以叫终极解决方案,是因为所有Link通吃。 支持时间测量,功耗测量,printf打印,RTX5及其所有中间件调试信息展示。2、当前在JLINK,CMSIS-DAP,STLINK全部测试通过,KEIL自家的ULINK系列也都支...

weixin_30764771的博客 170

QTI Camera Stack 中的多摄调度模型与 SyncGroup 实现机制详解

在当前高端移动影像系统中,搭载主摄、长焦、超广、ToF、IR 等多个图像模组已成标配,实现高效、低延迟、高稳定性地调度这些 Sensor 的图像能力成为 QTI Camera Stack 架构的关键组成。高通平台通过构建 Camera SyncGroup 模型与多层调度策略,在 ISP 层实现多模组图像流的绑定控制、帧级时间同步、主副摄无感切换、双路并发采集等能力。 本文基于 Snapdragon 8 Gen 系列平台的实际调测经验,系统解析 Camera Stack 中多摄调度模型的结构设计、各层模块职责

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1055

【专题教程第7期】终极调试组件Event Recorder,各种Link通吃,支持时间和功耗测量,printf打印,RTX5及中间件调试

说明: 1、继前面的专题教程推出SEGGER的RTT,JScope,Micrium的uC/Probe之后,再出一期终极调试方案Event Recoder,之所以叫终极解决方案,是因为所有Link通吃。 支持时间测量,功耗测量,printf打印,RTX5及其所有中间件调试信息展示。2、当前在JLINK,CMSIS-DAP,STLINK全部测试通过,KEIL自家的ULINK系列也都支持...

Simon223的博客 1963

YOLOv9改进,YOLOv9添加CBAM注意力机制

CBAM是一个简单而有效的注意力模块,用于前馈卷积神经网络。给定一个中间特征图,我们的模块按顺序推断两个独立维度(通道和空间)的注意力图,然后将注意力图乘以输入特征图以进行自适应特征细化。由于 CBAM 是一个轻量级的通用模块,因此它可以无缝集成到任何 CNN 架构中,开销可以忽略不计,并且可以与基础 CNN 一起进行端到端训练。论文链接:(CBAM论文)

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 856

清华源pip install出现ERROR: Could not find a version that satisfies the requirement的解决方案

本文主要介绍了清华源pip install出现ERROR: Could not find a version that satisfies the requirement的解决方案,希望能对学习python的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 8万+

榨干最后一微安:极致省电的低功耗设计实践总结

涵盖直连与悬空电路、含电容电路、外部上拉电路、USB、调试接口、独立供电域 VDDIO2 及其他低功耗踩坑点

m0_63956046的博客 534

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

AB1601低功耗时烧写代码注意事项

进入低功耗后功耗比较低,有时候插上了调试串口,有小电流漏过来,所以,即使断掉电源,还是进不了烧写状态。要想以下办法: 1.烧写前先唤醒。 2.或者拔掉调试串口。 两种方法都可以。

qinrenzhi的博客 313

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

window 显示驱动开发-视频内存的直接交替(一)

直接翻转(DirectFlip)是WDDM1.2+引入的优化技术,旨在降低全屏应用(如视频播放器、游戏)的内存带宽和功耗,同时确保全屏应用与桌面环境之间的无缝切换。通过绕过DWM合成器,直接将应用交换链缓冲区翻转到显示引擎,DirectFlip显著减少了GPU到显示控制器的数据传输,从而延长移动设备的电池续航。该技术适用于全屏视频播放、游戏等场景,能够在不退出全屏模式的情况下动态显示通知或覆盖层。驱动程序实现需声明支持DirectFlip,并在翻转模式协商和内存管理中满足特定要求。WHCK认证要求验证Dir

王马的博客 1235

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

SMUDebugTool深度调试指南:解锁AMD Ryzen处理器的硬件级性能优化能力

### 硬件调试的三大核心痛点与解决方案 现代处理器调试面临三大挑战:官方工具功能受限、深度参数调节困难、多场景优化需求难以满足。SMUDebugTool通过直接访问系统管理单元(SMU)和模型专用寄存器(MSR),提供了突破厂商限制的底层控制能力,让普通用户也能获得专业级调试体验。 ### 技术对比矩阵:主流硬件调试工具核心差异 | 功能特性 | SMUDebugTool | 官方超频工具 |

gitblog_00666的博客 218

SMUDebugTool:专业级AMD Ryzen硬件调试技术完全指南

SMUDebugTool采用分层架构设计,实现对AMD Ryzen处理器的深度控制与调试能力,其架构体系包含三个核心层次: ### 1.1 驱动交互层 该层通过ZenStates-Core.dll实现与系统管理单元(SMU)的底层通信,封装了PCIe总线事务处理、MSR寄存器访问协议和SMU固件交互接口。驱动交互层采用异步通信模式,默认超时阈值设置为500ms,确保在高负载情况下仍能保持稳定的硬

gitblog_01176的博客 386
上一篇: 功耗调试之调试前准备
下一篇: 功耗调试之如何调试功耗(二)
中華田園犬
博客等级 码龄16年 349粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值