Post Go back to editing

SC594 ADC-DAC ARM example application in BSP 2.0.0 doesn't work

Category: Software
Product Number: SC594
Software Version: CCES 2.10.1

I am trying to run ADC-DAC Talk through I2S example code in the EV-SC594-SOM board with the below settings

I have the following setup

  • EV-SOMCRR-EZKIT
  • EV-SC594-SOM

With below settings( in EV-SC594-SOM board)

SW1: pointing to 0

JP1 : 2&3 connected

Connections as below

Connected audio source i/p to J12.
Connected a headphone J17 to listen to audio o/p.

The Example code is taken from 

C:\Analog Devices\EV-SC59x_EZ-KIT-Rel2.0.0\EV-SC59x_EZ-KIT\Examples\drivers\adc\Audio_Talkthrough_I2S\EV-SOMCRR-EZKIT\SC594\arm\AD_Talkthrough_I2S_SC594_Cortex_Core0

Observations:

>>Output is not observed.

>>But the SHARC application is working fine(C:\Analog Devices\EV-SC59x_EZ-KIT-Rel2.0.0\EV-SC59x_EZ-KIT\Examples\drivers\adc\Audio_Talkthrough_I2S\EV-SOMCRR-EZKIT\SC594\sharc).

But I am in need of checking ADC-DAC Talk through code in ARM of SC594.

Please provide feedback on this.

  • Please provide feedback on this, why SC594 ADC-DAC ARM example application in BSP 2.0.0 is not working

    Please let us know same behavior is observed on your side, if yes let me know if there is any workaround/fix

  • Hi,

    We are able to simulate the issue here.

    Could you please add below snippet before the Main() in "Audio_Talkthrough_I2S.c" file, then build and run the project.

    void adi_mmu_Init()
    {
        asm("nop;");
    }

    This is missing in our latest BSP example of EV-SC59x_EZ-KIT-Rel2.0.0 release, we will pass this to concerned team for further necessary action.

    After adding adi_mmu_Init(), project is working correctly and we are able to hear the output audio in J17.

    MMU Configuration
    For ARM cores with an MMU, the application start up code will automatically configure the MMU to match the default memory layout, as defined in the default linker scripts.

    For more information about MMU Configuration please refer below CCES help path:
    CrossCore® Embedded Studio 2.10.1 > ARM® Development Tools Documentation > Cortex-A > Analog Devices ARM Toolchain Manual > Analog Devices Specific Linker Support > MMU Configuration

    Regards,
    Nishanthi.V

  • Thank you for the inputs. If I add the above solution It is working.

    We have also found another solution for this.

    If we map all 4 DMA buffers to L2 Uncached memory it is working fine

    __attribute__ ((section (".L2_Mem")))
    ADI_CACHE_ALIGN static int int_SP0ABuffer1[COUNT];
    __attribute__ ((section (".L2_Mem")))
    ADI_CACHE_ALIGN static int int_SP0ABuffer2[COUNT];
    __attribute__ ((section (".L2_Mem")))
    ADI_CACHE_ALIGN static int int_SP0ABuffer4[COUNT];
    __attribute__ ((section (".L2_Mem")))
    ADI_CACHE_ALIGN static int int_SP0ABuffer5[COUNT];

    app.ld file changes

    .l2_uncached :
    {
    *(.l2_uncached_crt)
    *(.l2_uncached_code)
    *(.l2_uncached_data)
    } >MEM_L2_UNCACHED = 0
    .L2_Mem : { *(.L2_Mem) } >MEM_L2_UNCACHED =0  //line added

  • Hi,

    Your workaround also correct.

    Unfortunately, There is an issue in EV-SC59x_EZ-KIT-Rel2.0.0 release.

    We have logged this issue in our bug tracking database which will be fixed in future release of BSP.

    Regards,
    Nishanthi.V