cancel
Showing results for 
Search instead for 
Did you mean: 

Zigbee_OnOff_Server_Coord_ThreadX build by Stm32CubeIde failes

aritec
Associate III

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

0 REPLIES 0