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.

CCS/CC3200: SimpleLinkGeneralEventHandler ID = 2 Crash system

Part Number: CC3200
Other Parts Discussed in Thread: CC3100

Tool/software: Code Composer Studio

Hi there, 

I built an application on my CC3200 LaunchXL board that basically connects the CC3200 to a WPA2 network and then opens/closes SSL socket to send data.

After several hours of test I receive this message on UART

[GENERAL EVENT] - ID=[2] Sender=[0]

After that message the system freeze completely. I have a specific task that act as heart beat and after that message the led blinking stops. This task only toggles a led. The second task manages the connection and socket.

What does error means?

This is my SimpleLinkGeneralEventHandler:

void SimpleLinkGeneralEventHandler(SlDeviceEvent_t *pDevEvent)
{
    //
    // Most of the general errors are not FATAL are are to be handled
    // appropriately by the application
    //
    UART_PRINT("[GENERAL EVENT] - ID=[%d] Sender=[%d]\r\n",
               pDevEvent->EventData.deviceEvent.status,
               pDevEvent->EventData.deviceEvent.sender);
}

  • Hi,

    What version SDK do you use? Do you have uploaded latest ServicePack?

    Please read this threads:
    - e2e.ti.com/.../2004118
    - e2e.ti.com/.../2103953

    I think in your case you should restart CC3200 SoC when this error issue occurs. How to restart CC3200 - e2e.ti.com/.../2099680 /in your case do not call sl_Stop(0)/.

    Jan
  • Hi Jan,

    I use SDK 1.3.0 and I installed the latest SDK Service Pack (CC3100_CC3200_ServicePack_1.0.1.11-2.9.0.0).

    I also wrote this function to reset the board:

      /* Stop Network Processor */
      sl_Stop(30);
      /* Configure the HIB module RTC wake time */
      MAP_PRCMHibernateIntervalSet(330);
      /* Enable the HIB RTC */
      MAP_PRCMHibernateWakeupSourceEnable(PRCM_HIB_SLOW_CLK_CTR);
      /* Enter HIBernate mode */
      MAP_PRCMHibernateEnter();
      /* CPU reset */
      PRCMMCUReset(TRUE);

    I shouldn't call the sl_Stop? May be the same for  PRCMMCUReset?

    Thanks!

  • Hi,

    It is good to call sl_Stop() before reset, but in this particular case it can cause issue. You should try it. In first test you should try code with sl_Stop() but if code will still freeze, than you will need remove sl_Stop(). This is my best advice.

    BTW... line PRCMMCUReset(TRUE); in your code is not necessary, because this line never to be executed.

    Jan
  • Ok Thanks.

    I try with sl_Stop() function call and the system reset. But to be sure I remove sl_Stop in order to reset the system anyway.

    What do you think about the error "[GENERAL EVENT] - ID=[2] Sender=[0]". I can't find any explanation about the type of the error and its cause.

    Maybe the only way to resume the system is with a reset?

    Thanks Jan!
  • Hi,

    I think there can be more reasons of errors reported by GeneralEventHandler. I am not sure of many reasons of this errors. SoC reset is easiest way how deal with fatal errors. In your case you have Sender SL_ERR_SENDER_HEALTH_MON (see. links at my first post).

    Jan
  • Yes, I Agree.

    Thanks Jan for the help!

    Regards,
    Federico