Locale Icon
English
  • Forums

    Popular Forums

    • LTspice
    • RF and Microwave
    • Video
    • Power Management
    • Precision ADCs
    • FPGA Reference Designs
    • Linux Software Drivers

    Product Forums

    • Amplifiers
    • Microcontrollers
    • Clock and Timing
    • Data Converters
    • Direct Digital Synthesis (DDS)
    • Energy Monitoring and Metering
    • Interface and Isolation
    • MEMS Inertial Sensors
    • Power Management
    • Processors and DSP
    • Switches/Multiplexers
    • Temperature Sensors
    • Voltage References
    View All

    Application Forums

    • A2B
    • Audio
    • Automated Test Equipment (ATE)
    • Condition-Based Monitoring
    • Depth, Perception & Ranging Technologies
    • Embedded Vision Sensing Library
    • Motor Control Hardware Platforms
    • Precision Technology Signal Chains Library
    • Video
    • Wireless Sensor Networks Reference Library

    Design Center Forums

    • ACE Evaluation Software
    • ADEF System Platforms
    • Design Tools and Calculators
    • FPGA Reference Designs
    • Linux Software Drivers
    • Microcontroller no-OS Drivers
    • Power Studio Designer
    • Power Studio Planner
    • Reference Designs
    • Robot Operating System (ROS) SDK
    • Signal Chain Power (SCP)
    • Software Interface Tools
    • System Demonstration Platform (SDP) Support
  • Learn

    Highlighted Webinar

    The Burning Question: How can ADI Solutions Ensure Rechargeable Device Batteries are Genuine?

    On the global stage, products and equipment using rechargeable batteries continue to proliferate exponentially, expecting to reach a staggering $170B market...

    Places

    • ADI Academy
    • ADI Webinars
    • Video Annex
    • Virtual Classroom

    Libraries

    • 3D ToF Depth Sensing Library
    • Continuous-Wave CMOS Time of Flight (TOF) Library
    • Embedded Vision Sensing Library
    • Gigabit Multimedia Serial Link (GMSL) Library
    • Optical Sensing Library
    • Precision Technology Signal Chains Library
    • Software Modules and SDKs Library
    • Supervisory Circuits Library
    • Wireless Sensor Networks Library

    Latest Webinars

    • Power Management Fundamentals II Session 6: Key Layout Considerations for Power
    • A 16T/16R X-Band Direct Sampling Phased Array Subsystem using Apollo MxFE
    • Power Management Fundamentals II Session 5: Deeper Look into Power Protection
    • Power Management Fundamentals II Session 4: Isolated Converters Explained
    • Maximize Your Power Regulator: Key Considerations for Thermal Performance
    View All Webinars
  • Community Hub

    Challenge Yourself!

      KCC's Quizzes AQQ294 about a digital phase splitter design

      1. Quote of the month: "I've learned that people will forget what you said, people will forget what you did, but people will never forget how you made...

    View All

    What's Brewing

      Read a Blog, Take this Quiz for Another Chance to Win a Gift Card!

      Important: Read the blog first . The quiz questions are all based on the content from the blog: Let's Take a Field-Bus Trip Your field-bus engines...

    View All

    Places

    • Community Help
    • Logic Lounge
    • Super User Program
    • Analog Dialogue Quiz

    Resources

    • EZ Code of Conduct
    • EZ How To Help Articles
    • Getting Started Guide
    • ADI: Words Matter
    • Community Help Videos
    View All
  • Blogs

    Highlighted Blogs

    Balancing Enhanced Radar Resolution with FPGA-Based Pulse Compression

    Radar and sonar systems must balance range resolution with the energy required for reliable detection. Pulse compression resolves this by sending a long...

     

    ​​ISO 26262 Essentials: Ensuring Confidence in Your Software Tools ​

    By Ashish Iskande What is Tool Qualification and Why is it Important? In safety-critical automotive development, tools act as silent partners but can...

    Latest Blogs

    • Step-by-Step: Implementing a Complete DSP Chain for Signal Analysis
    • Galvanic Isolation in SMPS: Ensuring Safety and Protection: Part 1 of 4
    • Mature, Not Old! The Longevity of 4 – 20 mA
    • Turning up the Noise: .NOISE Simulations in LTspice: Part 1 of 3
    • The ABCs of SerDes
    Read All Blogs

    ADI Blogs

    • EZ Spotlight
    • The Engineering Mind
  • ContentZone

    Visit ContentZone

    ContentZone

    Technical articles. Blogs. Videos. Your ADI content, all in one place.

    View ContentZone

    Featured Content

    Featured Content Title

    Blurb About Content

    View Content By Industry

    • Aerospace and Defense Systems
    • Automotive Solutions
    • Consumer Technology Solutions
    • Data Center Solutions
    • Energy Solutions
    • Healthcare Solutions
    • Industrial Automation Technology Solutions
    • Instrumentation and Measurement Solutions
    • Intelligent Building Solutions
    • Wireless Communication Solutions

    View Content By Technology

    • A2B Audio Bus
    • ADI OtoSense Predictive Maintenance Solutions
    • Dynamic Speaker Management
    • Gallium Nitride (GaN) Technology
    • Gigabit Multimedia Serial Link (GMSL)
    • Industrial Vision
    • Power Solutions
    • Precision Technology
    • RF
    • Sensor Interfaces
    • SmartMesh
EngineerZone
EngineerZone
SigmaStudio for SHARC
  • Log In
  • User
  • Site
  • Search
OR
Ask a Question
SigmaStudio for SHARC
  • Processors and DSP
  • Software and Development Tools
  • SigmaStudio for SHARC
  • Cancel
SigmaStudio for SHARC
Documents ADSP-215xx/ADSP-SC5xx SigmaStudio For SHARC schematic custom plug-in debugging technique
  • Q&A
  • Documents
  • Members
  • Tags
  • Cancel
  • +How the SigmaStudio schematic source files generated for DemoUc example application in SigmaStudio for SHARC 4.x.x version?
  • -SigmaStudio for SHARC: FAQ
    • ADSP-2156x Lib Integration Example as DemouC Application
    • ADSP-215xx/ADSP-SC5xx SigmaStudio For SHARC schematic custom plug-in debugging technique
    • Can I evaluate SigmaStudio for SHARC?
    • Can I rebuild Software Module Plug-In Loader files, originally built using SigmaStudio for SHARC 2.0.0, using SigmaStudio for SHARC 2.1.0?
    • Can I rebuild Software Module Plug-In Loader files, originally built using SigmaStudio for SHARC 2.0.0, using SigmaStudio for SHARC 2.2.0?
    • Can I use SigmaStudio for SHARC without a valid CrossCore Embedded Studio license?
    • Can I write my own custom modules for SigmaStudio?
    • Do you offer SigmaStudio for SHARC compatible Software Modules?
    • Does SigmaStudio for SHARC have any facility for working with multi-processor designs?
    • Does SigmaStudio for SHARC only work with the EZKits? Can I use it directly with my own product board?
    • How can I communicate with my SHARC evaluation or custom board using SigmaStudio for SHARC?
    • Integrating Additional Input/Output SPORT Interfaces in the ADSP-2156x Library Example
    • Is it possible to generate an application LDR with schematic code and parameter embedded in it?
    • SigmaStudio is free of charge. Is the same true for SigmaStudio for SHARC?
    • SigmaStudio™︎ for SHARC®︎ 2.2.0 – Getting Started
    • What algorithms are available for SigmaStudio for SHARC?
    • What is the difference between the USBI2EZB and the ADUSB2EBZ?
    • Which operating systems is SigmaStudio for SHARC supported on?
    • Why does SigmaStudio throw this message when a Schematic containing Plug-In modules is compiled?
    • Why does the Plug-In function as Production version even after uninstalling the Production version of the module installer?
    • Why is the macro NUM_SAMPLES missing in the Application?
    • Why is the SigmaStudio for SHARC installation failing?
    • Why there is no Audio output after my Schematic is downloaded?

ADSP-215xx/ADSP-SC5xx SigmaStudio For SHARC schematic custom plug-in debugging technique

There are 2 ways to debug the SigmaStudio For SHARC schematic custom plug-in.

Reference document: AE_42_SS4G_AlgorithmDesignerGuide.pdf and AE_42_SS4G_QuickStartGuide.pdf documents available in SigmaStudio For SHARC installation folder.

The easy way is to use function pointer method, example code taken based on Scaler example provided in the AE_42_SS4G_AlgorithmDesignerGuide.pdf.

  •  Include the algorithm source file into the SHARC core project of target application, the function name should be other than actual BPROCESS_xxxx and INIT_xxxx function of algorithm. For example,

#pragma section("seg_swco")
void BPROCESS_Scaler_Debug(SSBlockAlgo* pBlkAlgoInfo)
{
        int index, sample, gain, blockSize, repCount;
        float *pInput, *pOutput;
        repCount = pBlkAlgoInfo->nGrowth;

       for(index = 0; index < repCount; index++)
      {
           blockSize = pBlkAlgoInfo->pInputs[index].pBlockProperties->nBlockSize;
           gain = ((float *)pBlkAlgoInfo->pParam)[index];
           pInput = pBlkAlgoInfo->pInputs[index].pSamples;
           pOutput = pBlkAlgoInfo->pOutputs[index].pSamples;

           for(sample = 0; sample < blockSize; sample++)
          {
                pOutput[sample] = pInput[sample] * gain;
           }
       }
}

#pragma section("seg_swco")
void INIT_Scaler_Debug (SSBlockAlgo* pBlkAlgoInfo)
{
       int index, repCount;
       repCount = pBlkAlgoInfo->nGrowth;

       for(index = 0; index < repCount; index++)
      {
             ((float *)pBlkAlgoInfo->pParam)[index]=0.0f;
       }

}

  •  Compile the target application in Debug build by enabling the "Generate symbol map" file option.

  • The algorithm function symbol should be available in generated map file, sometimes due to linker elimination option the algorithm functions might be removed. So please use "KEEP" command inside SHARC ldf file to retain the algorithm function and symbols. Please refer the below image,
  • Compile the target application and note the pointer of both function where it mapped. 
  • Refer the plug-in generation procedure in "AE_42_SS4G_AlgorithmDesignerGuide.pdf" document section "SigmaStudio Plug-In Generation".
  • Add source of actual BPROCESS_xxxx and INIT_xxxx algorithm function or add a .dlb with calling of algorithm function pointer which is added in target application. Please refer below code,

    #include <string.h>
    #include "adi_ss_extmod.h"

    typedef void (*pfProcessFunction)(SSBlockAlgo* pBlockAlgo);
    typedef void (*pfInitFunction)(SSBlockAlgo* pBlockAlgo);

    void BPROCESS_Scaler(SSBlockAlgo* pBlockAlgoInfo)
    {

             pfProcessFunction ProcessFunction=(pfProcessFunction)0x1c0db9; // Assign the function pointer of the Algorithm process function included in target application
             ProcessFunction(pBlockAlgoInfo);
    }

    void INIT_Scaler(SSBlockAlgo* pBlockAlgoInfo)
    {

            pfInitFunction InitFunction=(pfInitFunction)0x1c0d8c; // Assign the function pointer of the Algorithm process function included in target application
            InitFunction(pBlockAlgoInfo);
    }

  • Using the above source code method create SigmaStudio for SHARC plugin.
  • Add the plugin to SigmaStudio using "Tools -- Add-Ins Browser..." option.
  • Create SigmaStudio schematic with the generated plug-in algorithm block.
  • Run target application with setting up break point in "INIT_Scaler_Debug" and "BPROCESS_Scaler_Debug" function. "Link compile download" the schematic into the target platform by connecting USBi.
  • Now the break point shall hit at the target application algorithm functions.
  • Instead of function pointer we can even use extern function call as below which is the easier way, by keeping the symbols in target application using "KEEP" command as explained in above steps.

Note: If any modifications to target application, the algorithm plug-in should be regenerated with modified function pointers. Also, the ldf "RESOLVE" command can be used to fix the address of the algorithm function which is running on target application.
  

The 2nd debugging method is little tedious one and sometime break points won't hit properly. The workspace needs to be cleaned up and setup the debug session again to solve the break point issue.
 The debugging method is already explained in section " Debugging Schematics using CCES" under "AE_42_SS4G_QuickStartGuide.pdf" document available in SigmaStudio For SHARC installation 
folder.

  • Share
  • History
  • More
  • Cancel
analog-devices logo

About Analog Devices

  • Who We Are
  • Careers
  • Newsroom
  • What We Do (Signals+)
  • Investor RelationsExternalLink
  • Quality & Reliability
  • Sales and Distribution
  • What's New on Analog.com
  • Contact Us

Find Help

  • Support
  • Resources
  • WikiExternalLink
  • Analog Dialogue
  • ADI Developer PortalExternalLink

myAnalog

Interested in the latest news and articles about ADI products, design tools, training, and events?

Go to myAnalog
  • Instagram page
  • Twitter page
  • Linkedin page
  • Youtube page
  • Facebook
  • Legal and Risk
  • Accessibility
  • Privacy Policy
  • Privacy Settings
  • Cookie Settings

©2025 Analog Devices, Inc. All Rights Reserved

analog-devices

About Analog Devices

Down Up
  • Who We Are
  • Careers
  • Newsroom
  • What We Do (Signals+)
  • Investor RelationsExternalLink
  • Quality & Reliability
  • Sales and Distribution
  • What's New on Analog.com
  • Contact Us

Find Help

Down Up
  • Support
  • Resources
  • WikiExternalLink
  • Analog Dialogue
  • ADI Developer PortalExternalLink

myAnalog

Interested in the latest news and articles about ADI products, design tools, training, and events?

Go to myAnalog
Instagram page Facebook Twitter page Linkedin page Youtube page
  • Legal and Risk
  • Accessibility
  • Privacy Policy
  • Privacy Settings
  • Cookie Settings

©2025 Analog Devices, Inc. All Rights Reserved