问题的现象
1. 客户在NRF53832(m4)平台上调试8001,在设定PxiAlg_SetMemsScale(1)时,MCU电流异常,从设定前3uA设定后一直6mA,
2. 请客户使用干净的工程测试,发现调用与API相关的函数(除读版本号外)都会有此现象。
3. 客户使用算法为paw8001motion36_2_m4_keil.lib,后来请客户试用最新的算法paw8001motion3603611_m4_keil.lib现象仍旧。
问题分析:
可能是FPU enable后造成电流增加为6mA,请客户先不要使用我们的Algorithm Library,
直接执行一段浮点数的运算, 看看是否会有一样的现象
float test(float a, float b)
{
return a*b ;
}
void main()
{
float c = test(1.2, 1.2);
}
客户执行上面代码后发现就有此现象,即功耗异常问题跟算法关系不大,主要是客户浮点数的运算FPU enable导致
解决方法:
在算法调完算法退出心率后,关掉FPU,请客户执行NVIC_ClearPendingIRQ(FPU_IRQn);就解决了