@ScruffR I’m fairly certain that math.h does not have more DSP specific functions like FIR and FFTs, so that is why I’m looking into the CMSIS DSP lib.
I think you are underestimating the amount of work to get this going–this is not simple troubleshooting. Have a look at this picture I borrowed from the ARM website:
Look how the DSP library depends on the CMSIS-CORE and the CMSIS-RTOS, which in turn depends on a 3rd party kernel. It looks to me like you need all of those parts to make this work.
If you want to do this, I think you will have to completely get rid of the Spark firmware environment and program the Spark Core at the bare-metal level with a new RTOS.
This is not impossible but would be a fair chunk of work. There is precedence since there has been a NUTX port to the core. This also might get easier in the Photon environment in the future.
@bko
Right, I have seen that strata diagram. I’m not intending to imply that integration of the CMSIS library is trivial, but it is part of the spark/core-common-lib. I just want information about its state. Hopefully, you referring others will draw enough attention. Thanks for that.
I’m a bit puzzled, since the M3 doesn’t have DSP instructions. The M4 has DSP, and the name of the header at the top of the thread seems to indicate it’s for the M4. If the library has software implementations of DSP algorithms then it might be ok.
The A0 problem you are seeing is due to macros conflicting. After including “application.h”, add “#undef A0” before including the CMSIS headers.
Interesting. Never looked into it before. With latest firmware master built locally I was able to at least instantiate and manipulate one of the structs in “arm_math.h”.
Also, there are 4 warnings in compiling arm_math.h about comparison of signed and unsigned variables. In each case there’s a local index variable that’s an int32_t, and the warning is fixed by changing to uint32_t.
There are some static inline functions with software implementations, for example this one that AFAICT don’t require DSP hardware, but I don’t know whether that’s true of the whole file.
@L_L Were you able to use CMSIS DSP on Photon/Core? Has there been any development on this? I too am looking at using the CMSIS DSP functionality in my application.
[I know this is an old post, and hence the query to see if there have been any updates, as of today]