It looks ok for me, what STM32 are you using? I am using M4 family and it worked, but I don’t know if it works with M0,M1, etc. I also used hfp, I don’t know what sfp is for, you may wanna try it.
Anyway here is a piece of code I used for going directly to DWM3000 (just using some code borrow from the old DWM1000 api) so you can be sure that can establish communication with DWM3000; not using DWM3000 api just to make sure your hw setting and etc is ok. Try with SPI in low speed also (3Mbps, 4Mbps something like that).
Here is the piece of code (new version, use this), make sure the first function is properly configured to the SPI you are using for connecting the DWM3000:
read_id_directly.c (4.3 KB)