Hi,
I just found that upgrade the net core need to set CONFIG_SERIAL=y and enable the UART in dts file, otherwise, it hangs on the network_core_pcd_cmdset function when upgrading the net core FW, pcd_fw_copy_status_get() always returns 0. Is this expected? if yes, I would like to disable the net core's UART to save the current consumption, any workarounds?
static int network_core_pcd_cmdset(const void *src_addr, size_t len, bool wait) { int err; /* Ensure that the network core is turned off */ nrf_reset_network_force_off(NRF_RESET, true); err = pcd_cmd_write(src_addr, len, PCD_NET_CORE_APP_OFFSET); if (err != 0) { LOG_INF("Error while writing PCD cmd: %d", err); return err; } nrf_reset_network_force_off(NRF_RESET, false); LOG_INF("Turned on network core"); if (!wait) { return 0; } do { /* Wait for 1 second to avoid issue where network core * is unable to write to shared RAM. */ k_busy_wait(1 * USEC_PER_SEC); err = pcd_fw_copy_status_get(); } while (err == PCD_STATUS_COPY); if (err == PCD_STATUS_COPY_FAILED) { LOG_ERR("Network core update failed"); return err; } nrf_reset_network_force_off(NRF_RESET, true); LOG_INF("Turned off network core"); network_core_pcd_tidy(); return 0; }