Locale Icon
English
  • Forums

    Popular Forums

    • LTspice
    • Video
    • Power Management
    • RF & Microwave
    • Precision ADCs
    • FPGA Reference Designs

    Product Forums

    • Amplifiers
    • Clocks & Timers
    • Data Converters
    • Direct Digital Synthesis (DDS)
    • Energy
    • Interface and Isolation
    • MEMS Inertial Sensors
    • Power Management
    • Processors & DSP
    • Processors & Microcontrollers
    • Switches & Multiplexers
    • Sensors
    • Voltage References
    View All

    Application Forums

    • A2B Audio Bus
    • 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 & 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

    Enabling New Space Missions: Commercial Space Screening Approach for Agile, High-Reliability Payloads

    As the Space market evolves and accelerates, mission designers need space-capable electronics that balance performance, reliability, and affordability...

    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

    • Enabling New Space Missions: Commercial Space Screening Approach for Agile, High-Reliability Payloads
    • Understanding and Selecting RF Low Noise Amplifiers for Instrumentation, Phased Array and General Purpose Applications
    • Design Smarter with Compact, Low-Power Precision Current Source Signal Chains
    • Power Management Fundamentals II Session 6: Key Layout Considerations for Power
    • A 16T/16R X-Band Direct Sampling Phased Array Subsystem using Apollo MxFE
    View All Webinars
  • Community Hub

    Challenge Yourself!

      KCC's Quizzes AQQ296 about repairing an equation in a digital display

      1. Quote of this month: " When I die, I want to die like my grandfather who died peacefully in his sleep. Not screaming like all the passengers in his...

    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: Mature, Not Old! The Longevity of 4 – 20 mA New...

    View All

    Places

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

    Resources

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

    Highlighted Blogs

    Charting Calm Seas: Tips for Robust RS-485 Data Transmission

    by Bryson Barney As our world becomes ever more dependent on flawless digital communication, engineers need to find new ways of charting calm seas when...

     

    Unpacking IEC 61508: Low Complexity versus Type A Made Simple

    IEC 61508 appears to include two very similar concepts. Type A and simple, which is referred to as “low complexity”. Anything that isn’t low complexity...

    Latest Blogs

    • Taming the AI Power Storm: Part 2 of 3
    • TIA Me Up, But Keep It Stable: Part 2 of 3
    • Celebrating Innovation: Top 3 EngineerZone Spotlight Blogs from 2025
    • Transforming Power: Transfer Techniques in SMPS: Part 3 of 4
    • Taming the Chaos: Correlated and Uncorrelated Sources in LTspice .NOISE Simulations: Part 3 of 3
    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
ADSP-SC5xx/ADSP-215xx
  • Log In
  • User
  • Site
  • Search
OR
Ask a Question
ADSP-SC5xx/ADSP-215xx
  • Processors & DSP
  • SHARC Processors
  • ADSP-SC5xx/ADSP-215xx
  • Cancel
ADSP-SC5xx/ADSP-215xx
Documents How to synchronize multicores with TRU or Interrupt?
  • Q&A
  • Files
  • Documents
  • Members
  • Tags
  • Cancel
  • +ADSP-SC57x/2157x: FAQ
  • +ADSP-SC58x: FAQ
  • +PMU registers: FAQ
  • +SC58x: FAQ
  • +SHARC+: FAQ
  • +TMU: FAQ
  • +215XX: FAQ
  • +ADC Control Module: FAQ
  • +ADSP-21584: FAQ
  • +ADSP-215xxl: FAQ
  • +ADSP-SC573: FAQ
  • -ADSP-SC5xx/215xx: FAQ
    • How to synchronize multicores with TRU or Interrupt?
    • ASRC Interrupt Handling for Dynamic Sample Rate Changes
    • TMU offset and gain
  • +ADSP-SC5xx: FAQ
  • +CCES default startup routine: FAQ
  • +EMAC: FAQ
  • +HADC: FAQ
  • +Hardware Counter based Loops: FAQ
  • +L1 block: FAQ
  • +Preload code customization: FAQ
  • +RDEN bit: FAQ
  • +RGMII/RMII: FAQ
  • +SHARC EE-377: FAQ
  • +Sharc SC584: FAQ
  • +SMMR using MDMA2: FAQ
  • +UCOS: FAQ
  • +USBCLKSEL in CGU_CLKOUT: FAQ
  • ADSP-21569 SPORT single-transmitter multi-receiver example
  • ADSP-SC584 SSL Booting via ROM API from the ARM Cortex A5 (core0), SHARC0 and SHARC1
  • +adsp-sc584: FAQ
  • ADSP-SC594 SPDIF Example
  • ADSP-SC835 SPI Slave transmitter and Master Receiver example code
  • Are code segments placed in block1 and block2, when data caches are enabled?
  • ASRC TDM8/TDM16 Example for ADSP-SC59x
  • Can we use internal pull down resistor for ADSP-SC59x/ADSP-2159x LP_CLK and LP_ACK pins instead of external pull down?
  • +CDU: FAQ
  • Custom Error Handler in Booting for SC594
  • DAI Interrupt example for ADSP-SC573
  • Does QUAD SPI open-drain mode need external pull-up resistors for each of these signals (MISO, MOSI, D2 & D3) in ADSP-21569
  • Does the LRCLK support 50% duty cycle in TDM mode?
  • Does the TMREXP(Timer Expired) pin support in latest SHARC processor?
  • Driver file support for the ADSP-SC584/SC589 custom board, which utilizes the same flash and DDR as Ez-kit.
  • Flash write example for ADSP-SC573 Ez-Kit
  • How many cycles for a cache hit/miss?
  • How many times the DAI can be routed using SRU?
  • How to configure DAI interrupt in ADSP-21569?
  • How to use Assembly to Control Core Flags?
  • How to use PCG trigger event
  • How to use PC_07 instead of SYS_FAULT in ADSP-2156x/ADSP-SC59x/ADSP-2159x ?
  • +IDLE: FAQ
  • Is it possible to change the sampling/driving edges of the ASRC?
  • Is it possible to configure the DSP as Master and Host as Slave once SPI slave booting done?
  • Is it possible to disable/halt/pause the SHARC0/SHARC1 cores from ARM core?
  • Is it possible to verify Secure Booting without programming Keys into OTP Memory?
  • Is the SPIx_RDY signal necessary for SPI slave boot?
  • JEDEC thermal Resistance Data estimation for "θJA, θJC, ΨJT" in ADSP-SC5xx/ADSP-215xx processor.
  • +Local Oscillator: FAQ
  • +MLB channels: FAQ
  • +MSI IDMAC: FAQ
  • Once the processor is locked, is it possible to debug or flash a new application?
  • +Program the CBS parameters: FAQ
  • +SC57x: FAQ
  • SCB arbitration/priority scheme
  • +Sign and encrypt a normal bootstream: FAQ
  • SPI example for ADSP-SC584
  • SPI secure slave boot
  • +SPORT with ACM: FAQ
  • +SWU: FAQ
  • Understanding Halt feature in ACM Mode
  • Usage of flush_data_buffer api
  • Using MCAPI/MDMA for ADSP-SC594 Dual-SHARC Audio Talkthrough
  • What is "Multiplexed Function Input Tap" available in the "Signal Multiplexing" table in the datasheet.
  • What is the clock configuration (HFCLK, BCLK) required to transmit SPDIF?
  • What is the difference between ENUM_DMA_CFG_XCNT_INT and ENUM_DMA_CFG_PERIPH_INT?
  • What is the recommended TMU_GAIN and TMU_OFFSET value for Calibration?
  • What is the SPORT Latency using DMA between the SHARC cores(Core1 & Core2) for ADSP-SC58x?
  • What is the supported SLCK0 divisor value for ADSP-2156x

How to synchronize multicores with TRU or Interrupt?

Overview: This document explains how to synchronize multicores with TRU or interrupt on ADSP-SC5xx/215xx processors.

Interrupts provide a reliable synchronization medium as they are serviced through the processor core. However, interrupts can add latency due to the time needed for core detection, context saving, and event servicing. The event processing latency depends on many conditions, such as priority levels or handling of simultaneous interrupts.


Whereas the TRU provides system-level sequence control without core intervention and helping reduce the delays involved in the synchronization process, as it removes the core processing of the event and increases determinism. Therefore, the TRU provides an efficient alternative to core interrupts for event synchronization in embedded systems. The TRU maps trigger masters (generators of triggers) to trigger slaves (receivers of triggers).

Attached are the code examples for multicore synchronization with TRU and Interrupt. Considering the code example ‘TRU_Interrupt’, a pin interrupt trigger master from SHARC Core1 is used to trigger a slave for interrupt request for SHARC Core2. The ‘TRU0_SLV8 (Core 2 only)’ is used as the TRU interrupt and the handler for this is written in the SHARC Core2. This TRU interrupt is triggered by the PINT5 master trigger configured in the SHARC core1. The advantage of using TRU is that we need not to write ISR for PINT, thus it saves the delays mentioned above.


The table below provides the ADSP-SC58x TRU Interrupt List.

When executing this code in ADSP-SC589 EZ-Kit, once you press the PB1 gives master trigger (configured in SHARC_CORE1) to TRU0 interrupt 8 (configured in SHARC_CORE2) . This will navigate the control to it handler where the LED gets toggled.


“When using the GPIO trigger masters for back to back triggers, the trigger assertions latched in the corresponding latch registers (PINT_LATCH) must be cleared in software for back to back triggers to work”

Now, consider ‘Mutlicore_Sync_Interrupt’ example code. It uses Interrupts which are a common way of synchronizing operation between events. On the SHARC core1, inside the PINT5 interrupt handler a software interrupt for SHARC core2 is generated (INTR_SOFT0). The handler for software interrupt is written in the SHARC core2 and it executes an LED toggling. For better understanding refer the comments embedded within the example code.

The third example "TRU_MulcoreSync_Timer_Interrupt", demonstrates how a periodic timer synchronizes both SHARC cores of ADSP-SC58x. A general-purpose timer (GP Timer0) in SHARC Core1 is configured to generate a continues pulses and configured this as Master trigger. Note that the TMR[nn] bit in the TIMER_TRG_MSK register, when write =0 unmasks (enables) the corresponding data trigger output.

The ‘TRU0_SLV4 (Core 1 only)’ is used as the trigger slave for SHARC Core1 and the ‘TRU0_SLV8 (Core 2 only)’ is used as trigger slave for SHARC core2, which provides TRU interrupts. The interrupt handler for TRU interrupt is programmed to toggle different GPIOs in each cores and the TRU interrupt is triggered by Timer0 master trigger upon period expiry.

See the attached wave form which are the GPIO output from both SHARC cores 1, you can see that both GPIOs are synchronized by the timer0.

 

For processor specific details, refer to the device Data Sheet and Hardware Reference.

Attachments:
TRU_MulcoreSync_Timer_Interrupt.zip
TRU_Interrupt.zip
Mutlicore_Sync_Interrupt.zip
Tags: tru multicore
  • 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

©2026 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

©2026 Analog Devices, Inc. All Rights Reserved