2024-11-01 10:45 AM
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