cancel
Showing results for 
Search instead for 
Did you mean: 

Cannot generate BLE single tone on STM32WB55CGU using STM32CubeMonitor-RF

SSong.3
Associate

I would like to migrate the BLE_TransparentMode example to STM32WB55CGU and run it on the board I make.

I am using STM32CubeIDE 1.9.0, with STM32Cube_FW_WB_V1.13.3.

STM32CubeMonitor-RF version 2.8.1

Step 1: generate single tone with stm32wb5x_BLE_Stack_full_fw.bin

The BLE_TransparentMode example was successfully migrated to STM32WB55CGU and it works with STM32CubeMonitor-RF. I can do BLE advertising and scanning with it.

But when trying to generate the single tone, I get the error message as shown in the picture, the ACI_HAL_TON_START command is an "unknown HCI command" according to the error message.

The Readme.txt file in BLE_TransparentMode example requires to install stm32wb5x_BLE_Stack_full_fw.bin on the MCU, but apparently the ACI_HAL_TON_START command is not supported by this binary.

I checked the coprocessor wireless binary Release Notes in:

/STM32Cube_FW_WB_V1.13.3/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/Release_Notes.htm

It mentions that a couple of functions are removed from stm32wb5x_BLE_Stack_full_fw.bin:

  • Following features are removed:
    • Direct test mode
    • L2Cap Connection - oriented channels support (IP over BLE enabler)
    • Channel selection #2 (under application flag selection)
    • Some HCI interface features (won’t be able to process through HCI interface)

So maybe the single tone command is not supported because of these removed features?

Step 2: generate single tone with stm32wb5x_BLE_Stack_full_extended_fw.bin

the same release note mentions that stm32wb5x_BLE_Stack_full_extended_fw.bin has more features, and gives the below instructions: to use this binary:

  • Warning: To use this binary, it is necessary to adapt the scatter file in the BLE applications as:
    • The RAM_A shared range shall be reduced to memory range [0x20030000:0x200307FF]
    • The Mail-box buffers(MB_MEM1, MB_MEM2) shall be located in RAM_B shared defined in memory range [0x20038000:0x2003A7FF]
    • The RAM_B shared shall be added to Total_RAM_region

I followed the above instruction, modified the link script of BLE_TransparentMode project, and made sure it runs without any hard fault or other issues. and then with this program running, STM32CubeMonitor-RF cannot recognize this board any more. it says "Device Under test node responding".

So far i cannot generate the single tone on BLE using either stm32wb5x_BLE_Stack_full_fw.bin or stm32wb5x_BLE_Stack_full_extended_fw.bin. Could anyone get this to work or have some recommendations on how to do this?

Thanks for your suggestions!

1 ACCEPTED SOLUTION

Accepted Solutions
Remy ISSALYS
ST Employee

Hello,

Finally, the ACI_HAL_TONE_START and ACI_HAL_TONE_STOP commands will be available in BLE Full and Light stack in the next release v1.14.0 available soon.

Best Regards

View solution in original post

3 REPLIES 3
Remy ISSALYS
ST Employee

Hello,

According to STM32WB_BLE_Wireless_Interface.html documentation, ACI_HAL_TONE_START command is available only in stm32wb5x_BLE_HCILayer_fw.bin. Of course, the command is also supported in stm32wb5x_BLE_Stack_full_extended_fw.bin (support all commands).

So, in order to use ACI_HAL_TONE_START command, you can use stm32wb5x_BLE_HCILayer_fw.bin and BLE_TransparentMode project. You can also use stm32wb5x_BLE_Stack_full_extended_fw.bin and BLE_TransparentMode project with modification in scatter file (see my second comment).

Best Regards

Remy ISSALYS
ST Employee

Hello,

I made a mistake, so I have edit my previous comment. You can use also stm32wb5x_BLE_Stack_full_extended_fw.bin and BLE_TransparentMode project with below modifications in the scatter file:

Replace the following line:

define symbol __ICFEDIT_region_RAM_SHARED_end__  = 0x200327FF;

by:

define symbol __ICFEDIT_region_RAM_SHARED_end__  = 0x200307FF;

Add this:

define symbol __ICFEDIT_region_RAM_B_SHARED_start__ = 0x20038000;
define symbol __ICFEDIT_region_RAM_B_SHARED_end__  = 0x2003A7FF;
define region RAM_B_SHARED_region = mem:[from __ICFEDIT_region_RAM_B_SHARED_start__  to __ICFEDIT_region_RAM_B_SHARED_end__];
 

Replace the following line:

define region Total_RAM_region  = RAM_region | RAM_SHARED_region ;

By:

define region Total_RAM_region  = RAM_region | RAM_SHARED_region | RAM_B_SHARED_region;

Replace the following lines:

place in RAM_SHARED_region { section MB_MEM1};
place in RAM_SHARED_region { section MB_MEM2};

By:

place in RAM_B_SHARED_region { section MB_MEM1};
place in RAM_B_SHARED_region { section MB_MEM2};

I have try with STM32CubeMonitor-RF v2.8.1 and there is no problem using ACI_HAL_TONE_START command.

Best Regards

Remy ISSALYS
ST Employee

Hello,

Finally, the ACI_HAL_TONE_START and ACI_HAL_TONE_STOP commands will be available in BLE Full and Light stack in the next release v1.14.0 available soon.

Best Regards