Skip to main content
aritec
Associate III
November 1, 2024
Question

Zigbee_OnOff_Server_Coord_ThreadX build by Stm32CubeIde failes

  • November 1, 2024
  • 0 replies
  • 697 views

Board: P-Nucleo-WB55

I tried to rebuild the perfectly running sample from the repository STM32Cube_FW_WB_V1.20.0.

Defining all within Stm32CubeIde, generating, compiling and running the code fails (never return) at line 31.

 

/**
 * @brief Handle Zigbee network forming and joining
 * @PAram None
 * @retval None
 */
static void APP_ZIGBEE_NwkForm(void)
{
 if (zigbee_app_info.join_status != ZB_STATUS_SUCCESS)
 {
 struct ZbStartupT config;
 enum ZbStatusCodeT status;

 /* Configure Zigbee Logging */
 ZbSetLogging(zigbee_app_info.zb, ZB_LOG_MASK_LEVEL_ALL, NULL);

 /* Attempt to join a zigbee network */
 ZbStartupConfigGetProDefaults(&config);

 /* Set the centralized network */
 APP_DBG("Network config : APP_STARTUP_CENTRALIZED_COORDINATOR");
 config.startupControl = zigbee_app_info.startupControl;

 /* Using the default HA preconfigured Link Key */
 memcpy(config.security.preconfiguredLinkKey, sec_key_ha, ZB_SEC_KEYSIZE);

 config.channelList.count = 1;
 config.channelList.list[0].page = 0;
 config.channelList.list[0].channelMask = 1 << CHANNEL; /*Channel in use */

 /* Using ZbStartupWait (blocking) */
 status = ZbStartupWait(zigbee_app_info.zb, &config);

 APP_DBG("ZbStartup Callback (status = 0x%02x)", status);
 zigbee_app_info.join_status = status;

 if (status == ZB_STATUS_SUCCESS)
 {
 zigbee_app_info.join_delay = 0U;
 zigbee_app_info.init_after_join = true;
 APP_DBG("Startup done !\n");
 /* USER CODE BEGIN 3 */
 BSP_LED_On(LED_BLUE);

 /* USER CODE END 3 */
 }
 else
 {
 APP_DBG("Startup failed, attempting again after a short delay (%d ms)", APP_ZIGBEE_STARTUP_FAIL_DELAY);
 zigbee_app_info.join_delay = HAL_GetTick() + APP_ZIGBEE_STARTUP_FAIL_DELAY;
 /* USER CODE BEGIN 4 */

 /* USER CODE END 4 */
 }
 }

 /* If Network forming/joining was not successful reschedule the current task to retry the process */
 if (zigbee_app_info.join_status != ZB_STATUS_SUCCESS)
 {
 tx_semaphore_put(&NWKFormSemaphore);
 }
 /* USER CODE BEGIN NW_FORM */
 else
 {
 zigbee_app_info.init_after_join = false;

 /* Assign ourselves to the group addresses */
 APP_ZIGBEE_ConfigGroupAddr();

 /* Since we're using group addressing (broadcast), shorten the broadcast timeout */
 uint32_t bcast_timeout = 3;
 ZbNwkSet(zigbee_app_info.zb, ZB_NWK_NIB_ID_NetworkBroadcastDeliveryTime, &bcast_timeout, sizeof(bcast_timeout));
 }
 /* USER CODE END NW_FORM */
}

 

 

This is the output from the terminal:

 

[M4 APPLICATION] APP_ZIGBEE_Init
[M4 APPLICATION] **********************************************************
[M4 APPLICATION] WIRELESS COPROCESSOR FW:
[M4 APPLICATION] VERSION ID = 1.20.0
[M4 APPLICATION] FW Type : FFD Zigbee stack
[M4 APPLICATION] Application flashed: ..
[M4 APPLICATION] Channel used: 11
[M4 APPLICATION] Link Key: ZigBeeAlliance09
[M4 APPLICATION] Link Key value: 5a 69 67 42 65 65 41 6c 6c 69 61 6e 63 65 30 39 
[M4 APPLICATION] Clusters allocated are:
[M4 APPLICATION] groups Server on Endpoint 17
[M4 APPLICATION] onOff Server on Endpoint 17
[M4 APPLICATION] **********************************************************

 [tl_mbox.c][OutputDbgTrace][784] sys cmd: 0xFC70
 [tl_mbox.c][OutputDbgTrace][791] 
 [M0] [00000000.000][API] Init_ZigbeeStack_Infrastructure

 [tl_mbox.c][OutputDbgTrace][694] mm evt released: 0xFF
 [tl_mbox.c][OutputDbgTrace][695] subevtcode: 0xC100
 [tl_mbox.c][OutputDbgTrace][696] buffer addr: 0x20030108
 [tl_mbox.c][OutputDbgTrace][705] 
 [M0] [00000000.000][LLD] !! PHY_allocateRxBuffer() FAILED. Status: 0x7

 [tl_mbox.c][OutputDbgTrace][694] mm evt released: 0xFF
 [tl_mbox.c][OutputDbgTrace][695] subevtcode: 0xC100
 [tl_mbox.c][OutputDbgTrace][696] buffer addr: 0x20030108
 [tl_mbox.c][OutputDbgTrace][705] 

 [tl_mbox.c][OutputDbgTrace][801] sys rsp: 0x0E
 [tl_mbox.c][OutputDbgTrace][802] cmd opcode: 0xFC70
 [tl_mbox.c][OutputDbgTrace][803] status: 0x00
 [tl_mbox.c][OutputDbgTrace][816] 
[M4 APPLICATION] APP_ZIGBEE_StackLayersInit
 [M0] [00000000.000][LLD] !! PHY_allocateRxBuffer() FAILED. Status: 0x7

 [tl_mbox.c][OutputDbgTrace][694] mm evt released: 0xFF
 [tl_mbox.c][OutputDbgTrace][695] subevtcode: 0xC100
 [tl_mbox.c][OutputDbgTrace][696] buffer addr: 0x20030108
 [tl_mbox.c][OutputDbgTrace][705] 

 [tl_mbox.c][OutputDbgTrace][694] mm evt released: 0xFF
 [tl_mbox.c][OutputDbgTrace][695] subevtcode: 0x9200
 [tl_mbox.c][OutputDbgTrace][696] buffer addr: 0x200300F0
 [tl_mbox.c][OutputDbgTrace][705] 
[M4 APPLICATION] --- APP_ZIGBEE_InitWaitElapsed ---
[M4 APPLICATION] Network config : APP_STARTUP_CENTRALIZED_COORDINATOR
 [M0] [00000013.384][PLATFORM] zcl_persist_send_cache : Sending persist PUSH (ep = 242, cl = 0x0021, len = 6)

 [tl_mbox.c][OutputDbgTrace][694] mm evt released: 0xFF
 [tl_mbox.c][OutputDbgTrace][695] subevtcode: 0xC100
 [tl_mbox.c][OutputDbgTrace][696] buffer addr: 0x200300F0
 [tl_mbox.c][OutputDbgTrace][705] 
 [M0] [00000042.511][PLATFORM] ZbNlmeResetReq : NLME-RESET.request (warmStart = 0)

 [tl_mbox.c][OutputDbgTrace][694] mm evt released: 0xFF
 [tl_mbox.c][OutputDbgTrace][695] subevtcode: 0xC100
 [tl_mbox.c][OutputDbgTrace][696] buffer addr: 0x200300F0
 [tl_mbox.c][OutputDbgTrace][705] 
 [M0] [00000000.000][LLD] !! PHY_allocateRxBuffer() FAILED. Status: 0x7

 [tl_mbox.c][OutputDbgTrace][694] mm evt released: 0xFF
 [tl_mbox.c][OutputDbgTrace][695] subevtcode: 0xC100
 [tl_mbox.c][OutputDbgTrace][696] buffer addr: 0x200300F0
 [tl_mbox.c][OutputDbgTrace][705] 

 

 

Can't see any major difference between those 2 projects.

Anyone faced a similar problem?

Armin