Post Go back to editing

SigmaStudio+ is used in dual-core mode

Category: Software
Product Number: SigmaStudio+ & ADSP21593
Software Version: SigmaStudio+ 2.1.0, CCES 2.12.0

Hi Sir,

I need to use 21593 dual-core + SigmaStudio+, but I can't find any instructions and routines. I created a dual-core application based on "C:\Analog Devices\SigmaStudioPlus-Rel2.1.0\Target\Examples\LibraryIntegration\ADSP-21593". I have created two separate schematics using SigmaStudio+ and can download them. I have found that it works only when the schematic is simple or there are few input audio channels, but when the schematic becomes complex and there are many input audio channels, it would crashes. The CCES always displays "A parity error has been detected."  I checked the memory usage and it doesn't seem to overflow

Please help, thank you!

   

LibIntegrationExample_Core1.map.xml
LibIntegrationExample_Core2.map.xml

Parents Reply
  • Hi Johnny,

    Apologies for the delay in response.

    We are attaching a sample ADSP21593 Dual core Lib integration project, which supports 16CH in total.

    The ADSP21593 [with attached A2B transceiver AD2428] acts as an A2B sub node. For this particular example, we have taken ADI A2B Analyzer as the main node.

    In this example, the target ADSP21593, by default supports 8 DAC channels and also 8 A2B upstream channels towards A2B Analyzer main node. Kindly try this at your desk, if the default application is working, you can use this and modify based on your requirement.

    The attached zip file contains the target application, the Sigma Studio Plus schematic we have used to test this application and a document mentioning which all SPORTs, DAI Pins are being used here etc.

    Thankyou.

    ADSP21593_A2B_SubNode_16CH.zip

Children
  • Hi Sankar,

    Thanks for your support.

    I will test it later.  I have a preliminary look, this example still uses the way of copy schematics( 

    memcpy(&oSMAPSharc0, adi_ss_smap_DiffDXESchematic_0, adi_ss_smap_DiffDXESchematic_0_size*4), 

    memcpy(oSSnMemMap.pMemBlocks[1]->pMem, adi_ss_code_DiffDXESchematic_0, adi_ss_code_DiffDXESchematic_0_size*2),

    memcpy(oSSnMemMap.pMemBlocks[5]->pMem, adi_ss_param_DiffDXESchematic_0, adi_ss_param_DiffDXESchematic_0_size*4)).  
    This is very bad for tuning because we need to change schematics and parameters frequently.
    I need more is can real-time online download schematics example. Even I have implemented it, but I can't share it directly here, I have sent it to your colleagues() before, if you need please leave your email, I can send it to you. Thanks
  • Hello sir,

    This issue has been going on for a long time. Is there any updates?

  • We tried 48 In and 48 Out channels with the schematic what you shared and we could not see any issue. we shared the modified code to Pengjie over internal case please check and confirm whether you are seeing the issue on ADSP-21593 SOM eval board. 

  • It still has a problem, please note that this problem has nothing to do with the number of input&output channel nums, I have changed the project to 16in/16out. My test found that when the total MIPS of core1 + core2 is greater than 1000, only one input channel input signal program can run, but multiple channels input the program will crash. This phenomenon is very strange, because no matter how many channels of input signals, SS+ processing is the same, why only one channel input signal when the program can work, but 16 channels at the same time when the program crashes?

  • The lib integration example is to demonstrate how libarary integration can be done to run SigmaStudio schematic application. so all the SigmaStudio features not supported, since its simple BareMetal example. Please use the Demo/DemoUC example which has all the SigmaStudio features supported. 

  • Have you tested the Demo/DemoUC example yourself? Are there any successful cases? Is there any reason why you can make sure that it works and doesn't have the same problems as the lib integration example?
    I have been asking you for a dual-core example that can download SigmaStudio+ schematics in real time, if it is based on Demo/DemoUC, do you have an example? or is there a guide on how to modify it?

  • There are a few questions about the Demo example:

    1, I didn't find the configurations related to SRU and SPORT. Is it configured through the graphical interface of Sigmastudio+ as shown below? However, there are still some missing options here, such as selecting TDM mode and delaying the frame clock FS by several BCLK to start sampling data. Where can I set these missing options?
    B. In this example, the audio clock used in the DSP is the internal PCG. If A2B is used as the input, the I2S clock of the DSP needs to be set to subordinate mode. Where can I set this?
    C. Is there a more detailed explanation of the dual-core serial and parallel operation logic?  What is the correspondence between audio input/output channels and the dual-core?  Is there a flowchart available?
  • Hi Sir,

    Do you have any update?  Why is there no reply ?

  • Please refer the default configuration audio I/O path information here. 
    Audio Input-Output Modes [Analog Devices Wiki]

    We already provided the example application for your requirement to our regional FAE offline. Please connect with them for more information about the example what we provided. Thank you.

  • 1, "Audio Input-Output Modes [Analog Devices Wiki]"

    A, I didn't find the configurations related to SRU and SPORT. Is it configured through the graphical interface of Sigmastudio+ as shown below? However, there are still some missing options here, such as selecting TDM mode and delaying the frame clock FS by several BCLK to start sampling data. Where can I set these missing options?
    B. In this example, the audio clock used in the DSP is the internal PCG. If A2B is used as the input, the I2S clock of the DSP needs to be set to subordinate mode. Where can I set this?

    2, "We already provided the example application for your requirement to our regional FAE offline. Please connect with them for more information about the example what we provided" 

    Re: So far, I haven't received any feasible solutions.  While the dual-core can work, the dual-core's total MIPS exceeds 1,000, and the program always crashes.