⚠️ Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads at//www.xmece.com/support. We’ll be fixing bugs / optimising the searching and tagging over the coming days.
However, it is base don the prox_reporter example of the SDK, so you will need to take this project as a reference and add the SUOTA feature in you custon code based on the ble_app_sleepmode example. In section 3.1.2, you will find some important files for the SUOTA.
In the sdk_app folder, the SUOTA profile should be also added : 6.0.14.1114\sdk\ble_stack\profiles\suota\suotar , so you will need to add the suota.c/.h and suota_task.c./.h
After that, follow the tutorial to include the SUOTA feature in your code.
This is a platform reset! Τhe platform_reset_func() is invoked by the platform_reset(), which is implemented in the ROM code. The most possible reason why you get this assertion is due to insufficient memory, because you are allocating messages which are never consumed. For example, if you are allocating notification messages and you have a small connection interval the messages are piled up until a connection event arrives, but with a large connection interval your run out of memory before the connection event arrives. You could increase the connection interval. Probably, in your application there might be some kind of memory leakage pilling up after each connection, as the error code is RESET_MEM_ALLOC_FAIL. To do so, check if there are any pending messages and make sure that you are consuming the messages that you get when the message is handled or if you are allocating data they should be freed.
Hi Flaby,
I would recommend first checking theBLE SUOTA Update on DA14585/DA14586 and DA14531 Devicestutorial. This tutorial aims to demonstrate a step-by-step procedure how you can enable the SUOTA service in your application.
However, it is base don the prox_reporter example of the SDK, so you will need to take this project as a reference and add the SUOTA feature in you custon code based on the ble_app_sleepmode example. In section 3.1.2, you will find some important files for the SUOTA.
In the sdk_app folder, the SUOTA profile should be also added : 6.0.14.1114\sdk\ble_stack\profiles\suota\suotar , so you will need to add the suota.c/.h and suota_task.c./.h
After that, follow the tutorial to include the SUOTA feature in your code.
Thanks, PM_Dialog
Hello Dialog,
After integration, when I load the program in RAM for debugging, code crashes at platform_reset_func()
为什么会这样?
问候
Flaby
Hi Flaby,
This is a platform reset! Τhe platform_reset_func() is invoked by the platform_reset(), which is implemented in the ROM code. The most possible reason why you get this assertion is due to insufficient memory, because you are allocating messages which are never consumed. For example, if you are allocating notification messages and you have a small connection interval the messages are piled up until a connection event arrives, but with a large connection interval your run out of memory before the connection event arrives. You could increase the connection interval. Probably, in your application there might be some kind of memory leakage pilling up after each connection, as the error code is RESET_MEM_ALLOC_FAIL. To do so, check if there are any pending messages and make sure that you are consuming the messages that you get when the message is handled or if you are allocating data they should be freed.
Thanks, PM_Dialog