使用Energy Profiler ------------------------
启动EP:Quick Access ->Start Energy Capture, 选中Jlink Silicon Labs:
接下来,在底部点击Select an Executable, 选中工程axf文件
注意,如果设备显示Device is Locked. 说明该设备已经加锁,需要Connect设备,手动解锁,或者关掉已经打开的energy progfiler,成功后,启动EP会显示如下图
可以看到,目前工程RX和串口相关函数是较为耗费电量的。对于应用级开发者,为了降低功耗,可以选择适当关闭串口功能(实际应用中全部关闭)。选择按键PB0-PB1,可以看到波形发生了变化,触发中断时,电流发生了变化,可以充分说明该软件对功耗的统计是实时的。方便应用开发者实时跟踪耗电情况。
接下来, 通过输入cli命令 sensorsleep 可以对比电流功率:
通过进入睡眠模式,可以看到电流从平均 3.73mA->2.14mA,降低了42.6%。此时也可以通过按键来唤醒设备,继续cli命令debug。
总结--------------
本文基于Silicon EFR32, 介绍了如何在zigbee工程中添加Energy Profiler工具并使用,可以看到在该工具的帮助下,开发者可以迅速分析系统中代码功耗,快速定位功耗较大的代码段,对于从应用代码中降低系统功耗有着显著的便利。需要额外说明的是,本文展示的工程电流在mA级别,原因是睡眠只调用了EM2级别,但是实际工程中通过配置EM4级别,可达到uA级别电流,从而符合市场与产品的需求。
|