CMSIS DSP 库作为高度优化的嵌入式系统数字信号计算库一直以来深受广大开发者所喜爱,随着人工智能(Artificial Intelligence )逐步向Edge端扩展,Edge端的数字计算负载也越来越大,为了缓解计算的压力,各种框架也在Edge端采用CMSIS DSP库进行优化加速。科学计算环境和嵌入式开发环境有很大的区别,比如科学计算往往采用Python,SCIPy,Matlab,而这些环境一般是无法在低功耗嵌入式环境,特别是MCU,下运行。由于目的不同,二者之间的使用方法也存在一些差异。比如:
这些差异决定了,科学计算环境中的很多模型,算法没法在嵌入式环境中直接使用。为了解决这个问题,CMSIS DSP开发团队,基于Numpy开发了一套CMSIS DSP库的封装接口。有了这套接口,在将你的数值算法移植到嵌入式系统前,你可以用CMSIS DSP python封装逐步替换你的算法,最终你就可以在PC上完成嵌入式系统的算法移植过程。具体的流程可以参考这一篇Blog https://developer.arm.com/architectures/instruction-sets/dsp-extensions/dsp-for-cortex-m/how-to-use-the-python-wrapper-for-csmsis-dsp-with-biquads-as-an-example/single-page
关于DSP信号量的CMSIS库是否有对ARM的核在编译方面有特殊优化呢?