cancel
Showing results for 
Search instead for 
Did you mean: 

How to get access to an MCPS frame payload in 802.15.4 MAC example?

michal.m
Associate

Hello,

I'm currently developing an application on the STM32WB55 that utilises IEEE802.15.4 communication. Based on the example application project from the STM32Cube_FW_WB_V1.2.0 package (802.15.4 MAC), I was able to successfully (well, at least to some point) make the communication between an RFD and an FFD work. There is one problem, though. The association process goes well; then I send some data from the RFD using the MAC_MCPS_DATA_REQ command. The FFD gets the data and calls the APP_MAC_mcpsDataIndCb callback. I am, however, unable to read the payload of the MCPS frame. What I get in the application running on the CPU1 core from the CPU2 after the frame reception is a MAC_dataInd_t struct, inside of which there is an msduPtr pointer that should point to some buffer with payload data. As I observed, it points to an address in the SRAM2a protected area (always around 0x20035000; SBRSA option byte is set to 0xA, so the beginning of the protected area should be at 0x20032800). It appears to me, that there is no way to access this area from the CPU1 (as per the STM32WB55 documentation). I don't see any option to configure where the payload buffer should be (it seems, that it's completely up to CPU2 to allocate it) nor any mechanism that could make the CPU2 core send me the data. What am I missing? Could you please help me solve this? Thanks in advance.

Best regards,

Michal

1 REPLY 1
Remi QUINTIN
ST Employee

​This is a known issue in the CubeWB FW package V1.2.0. It is corrected in the next to come V1.3.0 that is expected by the coming week, together with the new CubeMX delivery.