ADSZ-SC589 MINI boot problem without A2B node connected

Hello,

I have a problem with the SC589 MINI, using the Bare Metal Framework 2.0.0.
With A2B enabled and set to MASTER in audio_system_config.h, the ADZS-AD2428MINI works as expected.

However, when I disconnect the A2B cable, and start debugging the SC589, the UART debug console hangs on:

00:00:00.043 [INFO - ARM]    Sending init sequence to initialize bus

Also, the leds (LED12, 11 and 10) will strobe incorrect, LED10 and LED12 are in sync, while LED11 is out of sync.

When I comment out the "ad2425w_load_init_sequence" in the arm framework .c file, the system will run correctly and the leds are in sync. The A2B bus ofcourse does not work when I do this, since the init_sequence is not loaded.

Can someone please point me in the right direction? How do I start up the SC589 MINI without an A2B node connected, while still having it configured to use A2B (when it's present).

Thanks in advance,

Marijn

dr_testboard_v6.rar

Parents
  • I resolved the issue. If the initialisation of the A2B node fails, the following function will return an "EVENT FATAL";

    // Initiate A2B bus configuration sequence
    			if ((ad2425_result = ad2425w_load_init_sequence(&ad2425w,
    															(void *)&gaA2BConfig,
    															sizeof(gaA2BConfig),
    															NULL,
    															A2B_PERIPHERAL_INIT_INCLUDED) != AD2425W_SIMPLE_SUCCESS) )

    What I did not know: when a function returns a "EVENT FATAL", the "event_error_callback" gets called and blocks the system from starting.

    Hope it might help somebody out.

Reply
  • I resolved the issue. If the initialisation of the A2B node fails, the following function will return an "EVENT FATAL";

    // Initiate A2B bus configuration sequence
    			if ((ad2425_result = ad2425w_load_init_sequence(&ad2425w,
    															(void *)&gaA2BConfig,
    															sizeof(gaA2BConfig),
    															NULL,
    															A2B_PERIPHERAL_INIT_INCLUDED) != AD2425W_SIMPLE_SUCCESS) )

    What I did not know: when a function returns a "EVENT FATAL", the "event_error_callback" gets called and blocks the system from starting.

    Hope it might help somebody out.

Children
  • 0
    •  Analog Employees 
    on Oct 27, 2021 5:45 AM in reply to marijn-h

    Hi,

    If the function "ad2425w_load_init_sequence" returns any other value than AD2425W_SIMPLE_SUCCESS, "log_event" function will call, which invokes event_logging_add_local_event.

    In this function, if event_level is "EVENT_FATAL" or "EVENT_ERROR", error callback will occur. Please refer "bm_event_logging.c" for more details.

    Regards,
    Anand Selvaraj.