You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, i have been working on getting dfu over uart with smp and mcumgr working on a nrf9160dk.
I kept getting a fatal error: ***** SECURE FAULT ***** Attribution unit violation error where the dumped adress only told me that it came from crc16_sw.c. After a lot of debugging i found out that when CONFIG_SMP_CMD_RETRY_TIME was set too short the download client would time out. Then since img_mgmt_client_upload_init starts a workthread that by default keeps trying to send the data via serial_util.c: mcumgr_serial_tx_pkt() for 15 seconds every CONFIG_SMP_CMD_RETRY_TIME milliseconds. But when the download client fails the data is gone and there isn't any cancellation of the smp transfer or any null check in mcumgr_serial_tx_pkt(). I have fixed it by increasing the CONFIG_SMP_CMD_RETRY_TIME to 1000 and adding a null check in mcumgr_serial_tx_pkt().
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hi, i have been working on getting dfu over uart with smp and mcumgr working on a nrf9160dk.
I kept getting a fatal error: ***** SECURE FAULT ***** Attribution unit violation error where the dumped adress only told me that it came from crc16_sw.c. After a lot of debugging i found out that when CONFIG_SMP_CMD_RETRY_TIME was set too short the download client would time out. Then since img_mgmt_client_upload_init starts a workthread that by default keeps trying to send the data via serial_util.c: mcumgr_serial_tx_pkt() for 15 seconds every CONFIG_SMP_CMD_RETRY_TIME milliseconds. But when the download client fails the data is gone and there isn't any cancellation of the smp transfer or any null check in mcumgr_serial_tx_pkt(). I have fixed it by increasing the CONFIG_SMP_CMD_RETRY_TIME to 1000 and adding a null check in mcumgr_serial_tx_pkt().
Beta Was this translation helpful? Give feedback.
All reactions