Skip to main content
clemente
Associate III
February 5, 2021
Solved

[SOLVED] DTM_SPI software for BlueNRGM2SP chip on X-NUCLEO-BNRG2A1 is not working at all.

  • February 5, 2021
  • 2 replies
  • 1335 views

Hello to all,

I succesfully upload the DTM_SPI firmware on my X-NUCLEO-BNRG2A1 board, , using the SWD, but the BLE chip is no more responding. I'm using the X-NUCLEO-BNRG2A1 with a STM32L476RG-Nucleo, and I tried the "SampleAppThT" application to set up the BLE chip, but, as I said, I have no responce from it.

I updated the DTM_SPI Keil project with this specific define for the BlueNRGM2SP:

HS_SPEED_XTAL=HS_SPEED_XTAL_32MHZ,

LS_SOURCE=LS_SOURCE_INTERNAL_RO and

SMPS_INDUCTOR=SMPS_INDUCTOR_NONE, as indicated in DT0137 document. But without success.

The "SampleAppThT" program outpus is:

HWver 0, FWver 0
Setting BD_ADDR failed 0xff.
GATT_Init failed.
GAP_Init failed.
SERVER: BLE Stack Initialized
Error while adding Sample Service.
Error while adding service.
General Discoverable Mode 255

Could someone please tell me how to run DTM_SPI software for BlueNRGM2SP chip on X-NUCLEO-BNRG2A1?

Many many thanks.

Clemente

This topic has been closed for replies.
Best answer by clemente

Hello to all,

I resolve the problem. Now the X-NUCLEO-BNRG2A1 is working again.

I use the DTM project inside the "BlueNRG-1_2 DK 3.2.1\Project\BLE_Examples\DTM\<your_IDE>\BlueNRG-2", and modify it as follow:

  • select SPI_NOUPDATER as target
  • change the compiler DEFINE as follow:
SPI_INTERFACE 
BLE_STACK_CONFIGURATION=BLE_STACK_FULL_CONFIGURATION 
BLUENRG2_DEVICE HS_SPEED_XTAL=HS_SPEED_XTAL_32MHZ 
USER_BUTTON=BUTTON_1 
LS_SOURCE=LS_SOURCE_INTERNAL_RO 
SMPS_INDUCTOR=SMPS_INDUCTOR_NONE
  • delete the linker define line:
--predefine=-DMEMORY_FLASH_APP_OFFSET=0x2000 

After this modification I'm be able to debug the DTM software too, and the program "SampleAppInit()" works without problem.

Thanks to all.

Clemente

2 replies

Winfred LU
ST Employee
February 9, 2021

The preprocessor settings are fine.

Can you try to test with X-CUBE-BLE2 package?

https://www.st.com/en/embedded-software/x-cube-ble2.html

clemente
clementeAuthor
Associate III
February 9, 2021

Hello Winfred, thanks for your responce.

I upload the "SimpleApp" program from "STM32CubeExpansion_BLE2_V3.1.0" to my STM32L476RG-Nucleo, but the code get in stuck here:

void MX_BlueNRG_2_Init(void)
{
 /* USER CODE BEGIN SV */
 /* USER CODE END SV */
 /* USER CODE BEGIN BlueNRG_2_Init_PreTreatment */
 /* USER CODE END BlueNRG_2_Init_PreTreatment */
 /* Initialize the peripherals and the BLE Stack */
 uint8_t ret;
 
 User_Init();
 
 hci_init(APP_UserEvtRx, NULL);
 
 PRINT_DBG("BlueNRG-2 BLE Sample Application\r\n");
 
 /* Init Sample App Device */
 ret = SampleAppInit();
 if (ret != BLE_STATUS_SUCCESS)
 {
 PRINT_DBG("SampleAppInit()--> Failed 0x%02x\r\n", ret);
 while(1);
 }

The "SampleAppInit()" function fail.

It apper that the DTM_SPI software inside the BlueNRGM2SP chip is not running at all.

BR

Clemente

clemente
clementeAuthorBest answer
Associate III
February 10, 2021

Hello to all,

I resolve the problem. Now the X-NUCLEO-BNRG2A1 is working again.

I use the DTM project inside the "BlueNRG-1_2 DK 3.2.1\Project\BLE_Examples\DTM\<your_IDE>\BlueNRG-2", and modify it as follow:

  • select SPI_NOUPDATER as target
  • change the compiler DEFINE as follow:
SPI_INTERFACE 
BLE_STACK_CONFIGURATION=BLE_STACK_FULL_CONFIGURATION 
BLUENRG2_DEVICE HS_SPEED_XTAL=HS_SPEED_XTAL_32MHZ 
USER_BUTTON=BUTTON_1 
LS_SOURCE=LS_SOURCE_INTERNAL_RO 
SMPS_INDUCTOR=SMPS_INDUCTOR_NONE
  • delete the linker define line:
--predefine=-DMEMORY_FLASH_APP_OFFSET=0x2000 

After this modification I'm be able to debug the DTM software too, and the program "SampleAppInit()" works without problem.

Thanks to all.

Clemente

Winfred LU
ST Employee
February 17, 2021

Just a note that

configurations SPI and SPI_NOUPDATER shall both work.