This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

[社区微信群每日一问]感觉CMSIS-DSP的函数太少了,不知道自己如何扩展,而math 库里的东东有太慢了

社区用户姚家湾提问:

我用STM32F746 Nucleo 板测Mbed.
发送udp包,在主程序里发可以达到39M,但是放到thread中只有7Mbps了。
使用CMSIS-DSP的sin函数为2us,使用普通的math包,为3us
2048点fft,耗时764us感觉CMSIS-DSP的函数太少了,不知道自己如何扩展,而math 库里的东东有太慢了

社区专家 回复:

udp包速率的问题,是不是线程的优先级设置问题,多个线程是否存在互斥等待导致延时增大,另外这个数据是否是平均值还是瞬间速率,也跟rtos当时的系统状态有很大关系,

cmsis函数不够用的问题,缺少哪些函数?也欢迎反馈给我们或者到社区发帖

姚家湾回复:

是平均速率,我只有一个thread,我估计是rtos要不断地进入线程调度造成的。尽管我只有一个thread,
cmsis的函数起码缺少exp,log,tanh,arcsin,arcos,这样常用的函数,sqrt居然没有f32,只有q31。

谢谢及时响应

社区专家 回复:

客气,我只能从理论上说两句,还得靠你自己定位。你说的主程序是 不带包rtos的情况,只有一个main函数?只起一个线程,是否会有中断的干扰。


姚家湾回复:

不会,我使用的st的nucleo板,不会有干扰的,主程序就是main,while loop,我估计是Mbed的调度算法慢


工业控制中也可以使用神经网络技术,往往使用的数据不大,神经网络推演计算量不大,我们尝试用cortex-M7来计算,同样,大数据采集终端不可能将所以原始数据发往云端,前端需要做处理,提取特征。所以前端计算能力要强,这就是所谓的边缘计算吧。所以我们评估arm的 cortex-M7计算能力