This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC3220MODA: Stop in Platform_Reset()

Guru 16770 points
Part Number: CC3220MODA

Hi

Our customer faced the problem that CC3220 could not re-start with Platform_Reset().
however, we could not have a certain way to replicate this problem.

3531.e2e_v1.xlsx

According to the log, following messages were displayed when this problem occurred.

#1 ProcessRestartMcu: reset the platform...
and
#2 Device disconnected from the AP on request

#2 message is occurred after #1.

In case that re-start is successful, we get following logs.


ProcessRestartMcu: reset the plat
debug [Event]SimpleLinkWlanEventHandler ID: 2
Device disconnected from the AP on request
form...

We uses following software resources.
SDK version : 2.30.00.05
Servicepack : sp_3.9.0.7_2.0.0.0_2.2.0.6.bin

Have you ever been faces same situation?
Could you please offer solution to avoid this problem?

BestRegards

  • Hi,

    Platform_reset is a function used in the cloud OTA SDK example that calls MAP_PRCMHibernateCycleTrigger(). Is that what your application is doing?

    How are you verifying that you are not restarting? Are you using UART terminal prints or just the debugger with an IDE? Can you check the power consumption for the device? What behavior are you seeing?

    Best regards,

    Sarah

  • Hi Sarah

    Thank you for your reply.

    >Is that what your application is doing?
    Yes. Platform_reset is called from customer's application.

    >Are you using UART terminal prints or just the debugger with an IDE?
    We uses UART terminal prints.

    >How are you verifying that you are not restarting?
    >What behavior are you seeing?
    I used "re-start" in explanation, but please put "re-start" to just "reset".

    Log was suspended at following messages.

    ---
    ...
    ProcessRestartMcu: reset the platform...
    Device disconnected from the AP on request
    ---

    If reset was finishied correctly, device starts AP provisioning and SSID should be appeared in network list of smartphone. However, there was a case that SSID was not appeared in network list after reset.


    >Can you check the power consumption for the device?
    No, power consumption has not been confirmed when problem occurred.

    BestRegards

  • Hi na na78,

    From your answers, we wouldn't be able to determine if your issue is that the CC3220 is not entering hibernate, or whether it resets and never starts executing again. Your terminal prints simply tell us that the NWP prepared to shut down by disconnecting from the AP and triggered the host callback before the host MCU entered hibernate. We would need to see power measurements to be sure the device entered and exited hibernate mode.

    You can try implementing a watchdog in your application. If the CC3220 is not behaving as expected, a watchdog should force a reset.

    Best regards,

    Sarah

  • Hi Sarah

    Thank you for your reply.

    We don't have proper environment to replicate this problem.

    So I will mention additional thing found.

    The customer uses cloud_ota.c with little modification.
    Please see below file. (There are three sheets.)

    e2e_v2.xlsx

    ProcessRestartMcu() is called from OtaTask().
    However, sl_WlanDisconnect() is executed just before.

    When ProcessRestartMcu() is called, other process should not be run?
    Do you think sl_WlanDisconnect() would be caused possibly?

    If so, could you please tell us where shoud we insert sl_WlanDisconnect()  in this case?

    BestRegards

  • Hi na na78,

    How often does this reset issue occur? What is your application doing when you call ProcessRestartMCU?

    I do not see anything wrong with your code. It's likely that the SimpleLink event handler was triggered by the completed disconnection event between the ProcessRestartMCU UART print and PlatformReset(), which would not cause a reset issue. It is not required, but it is also good practice to call sl_Stop(SL_STOP_TIMEOUT) before restarting the MCU.

    Best regards,

    Sarah