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

    Fast-Track Certification: Leveraging IC Safety App Notes for Functional Safety Designs

    Stop guessing, start certifying. Learn how to use IC safety application notes to streamline your FMEDA and meet IEC 61508 and ISO 13849 standards with...

    Places

    • ADI Academy
    • ADI Webinars
    • EZ Blogs
    • 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
    • Other Products Library
    • Precision Technology Signal Chains Library
    • Software Modules and SDKs Library
    • Supervisory Circuits Library
    • Wireless Sensor Networks Library
  • Community Hub

    Challenge Yourself!

      New KCC Quiz AQQ299 about Opamp open looop gain and LTspice (a kind proposal from Al Butvidas)

      1. Quote of the month: " A good friend calls you in jail. A great friend bails you out of jail. Your best friend sits next to you and says 'wasn't that...

    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: Understanding Voltage Domain Isolation in Field-Bus...

    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
  • ContentZone

    Visit ContentZone

    Search content by industry or technology.
    • Blogs
    • Technical Articles
    • Tutorials
    • Videos
    • Webinars
    Your ADI content all in one place.
    View ContentZone

    The Latest Read

    Master FPGA-Based DSP Design: The Complete Building Blocks Guide You Need to Read

    The Engineering Mind Blog on EngineerZone presents an exceptional five-part series titled " DSP Building Blocks " that walks engineers through the essential...

    New Release

    Signal Chain Designer: DC Error Simulation
    Signal Chain Designer: DC Error Simulation

    This video covers the DC error calculation capabilities of Signal Chain Designer. DC error is unique in that often requires calibration and has so many...

    Recent Technical Insights

    Latest Technical Article from Analog.com
    Dont Let Your Feedback Loop Fall FlatPart 2: Dynamic Response and Isolation Innovation!

    Introduction In isolated power supply systems, maintaining a stable output voltage under varying load conditions is essential for reliable operation. The...

EngineerZone
EngineerZone
SigmaDSP Processors & SigmaStudio Dev. Tool
  • Log In
  • User
  • Site
  • Search
OR
Ask a Question
SigmaDSP Processors & SigmaStudio Dev. Tool
  • Processors & DSP
SigmaDSP Processors & SigmaStudio Dev. Tool
Documents Booting a SigmaDSP from a microcontroller with no C compiler
  • Q&A
  • File Uploads
  • Members
  • Tags
  • Cancel
  • Documents
  • SigmaDSP YouTube Channel - Dave Thib
  • +AD193x: FAQ
  • +ADAU1401AEBZ: FAQ
  • +ADAU144x: FAQ
  • +ADAU1452: FAQ
  • +ADAU145x: FAQ
  • +ADAU1701: FAQ
  • +ADAU1701MINIZ- FAQ
  • +ADAU1761: FAQ
  • +ADAU1772: FAQ
  • +ADI: FAQ
  • +AN-951: FAQ
  • +bitwise logic: FAQ
  • +Compressor Table Format: FAQ
  • +Creating a simple balance crossfade control: FAQ
  • +Creating constant-dB envelope decay using an existing linear decay algorithm: FAQ
  • +Crossover with more than 3 bands: FAQ
  • +E2PROM: FAQ
  • +EEPROM: FAQ
  • +EVAL DAU144XEBZ: FAQ
  • +EVAL-ADAU1781Z: FAQ
  • +Excluding Cells from the Exported System Files: FAQ
  • +GPIO button: FAQ
  • +GPIOs or Aux ADCs: FAQ
  • +How do I execute a software safeload write?: FAQ
  • +IIR coefficient filter: FAQ
  • +IIR filter: FAQ
  • +Peak Full Range Compressor: FAQ
  • +Preserving "Ear-candy": FAQ
  • +Push Button Volume: FAQ
  • +self-boot EEPROM image: FAQ
  • +Sigma300 Family Products: FAQ
  • -SigmaDSP: FAQ
    • Booting a SigmaDSP from a microcontroller with no C compiler
    • Calculating Filter Coefficients to Store in a Microcontroller
    • Can I program multiple SigmaDSPs in parallel using one USBi?
    • Can I use SigmaDSP to decode MP3/WAV/AAC?
    • Can I write C or assembly code for SigmaDSP in SigmaStudio?
    • Can SigmaDSP do frequency-domain processing like FFT or pitch shift?
    • Can we bundle SigmaStudio with our product design?
    • Creating a delay after startup
    • Developing custom algorithms and/or using 3rd party algorithms
    • How can I estimate MIPS/Memory resource on SigmaDSP?
    • How do I create the microcontroller code to interface to my SigmaDSP?
    • How do I start a timer after power-on, or when the input signal goes away?
    • How many instructions can be executed per sample in SigmaDSP?
    • Memory requirements for booting a SigmaDSP with a microcontroller
    • Monitoring average and instantaneous signal levels
    • Playing audio samples in SigmaDSP
    • SigmaDSP PCB Layout Best Practices
    • SigmaDSP Products and Evaluation Boards - ROHS and REACH Compliance
    • SigmaStudio 3.4 Released
    • Updating SigmaDSP Parameter with a Microcontroller
    • Using two SigmaDSP evaluation boards simultaneously with one USBi board
    • Welcome to the SIGMADSP Processors and SIGMASTUDIO Development tool community
    • What are the number formats for SigmaDSP?
    • What is the step size for audio delay in a SigmaDSP?
    • What types of capacitors are good to use in the analog audio signal path?
    • Where can I buy a SigmaDSP Evaluation Board or USBi (EVAL-ADUSB2EBZ)?
    • Which SigmaDSP ICs support selfbooting from an EEPROM?
    • Which SPI Mode is used by SigmaDSP Devices?
    • Why isn't a software/documentation CD included with my evaluation board?
  • +SigmaStudio: FAQ
  • +single precision VS double precision: FAQ
  • +Stimulus-Probe Capability and Limitations: FAQ
  • +Stopwatch to Count Successive Samples: FAQ
  • +Toolbox into the schematic tab: FAQ
  • +USB communications between the PC and SigmaDSP: FAQ
  • +Using Hierarchy Boards to create re-usable code: FAQ
  • New SigmaStudio 3.2.0 beta version available
  • SigmaStudio 3.3 Released
  • SigmaStudio 3.9.2 Beta Available for Download
  • SigmaStudio Rev 3.15.2 Bug Report for SPI EEPROM Write Speed

Booting a SigmaDSP from a microcontroller with no C compiler

My microcontroller does not have a C compiler. How do I use a microcontroller to boot my SigmaDSP in assembly?

_________________________________________________________________

In SigmaStudio, a number of things are downloaded to the target hardware when the user clicks the "Link-Compile-Download" button:

  • Program RAM
  • Parameter RAM
  • Non-Modulo Data RAM
  • Hardware Control Registers

That might not sound like much, but for a simple ADAU1781 program like this...

(screenshot of basic ADAU1781 project)

...the data that is downloaded looks like THIS:

(screenshot of the Capture Window in SigmaStudio for the example project download)

These data downloads have to occur in the exact same sequence on your  microcontroller in order to get the SigmaDSP into the same operating  mode as it is when the code is downloaded via SigmaStudio. That's quite a bit of data.

Unfortunately, the data files generated in the project folder by default (hex_program_data.dat, for example) simply contain the program RAM and parameter RAM contents of the project. That will not suffice. You need to get all of the information shown above in order to make your hardware work properly. In other words, you need to emulate the exact write sequence shown in the capture window above.

There is a way to manually copy this information out to raw address + data files by right-clicking one line at a time, as shown here:

(manually exporting raw data)

However, as you can imagine, that's very time-consuming...

Luckily, there's an easier solution!

First, make sure your project is compiled by pressing the Link-Compile-Download button:

(Link-Compile-Download)

Now, click the button to its immediate right, labeled Export System Files:

(Export System Files)

This generates a huge amount of data in the form of C-compatible include files and raw data files, as you have seen. In the case of assembly programming, the C header files are pretty useless. However, the important files for the initialization download are these two files:

(NumBytes and TxBuffer files)

These two files contain all of the data you need to boot your chip. The file TxBuffer contains the I2C address and write data for every address in the download sequence shown above in the Capture Window.

For example, the first two lines of this file are as follows:

0x40, 0xEB,             /* (0) IC 1.Start Pulse */
0x0A,

If you refer to the Capture Window screenshot above, you'll see that the first register write is to address 0x40EB, and the data is 0x0A.

The next two lines in TxBuffer are as follows:

0x40, 0xF6,             /* (1) IC 1.Sound Engine Run */
0x00,

If you refer to the Capture Window screenshot above, you'll see that the second register write is to address 0x40F6, and the data is 0x00.

And so on....

The file NumBytes accompanies TxBuffer in that it shows how many bytes are included in each transaction. For the first two examples I showed above, there are 2 address bytes and 1 data byte. So, as one might expect, the first two lines of the NumBytes file are:

3,
3,

When you get down to the program and parameter RAM downloads, you'll see much larger numbers like:

702,
226,

The main idea is that you can parse these two files and easily create an I2C write function that will download all of the data in order. No C compiler required!

The NumBytes and TxBuffer files for my example project are attached for your reference.

This FAQ was generated from the following discussion: Loading the DSP via assembly language

Attachments:
0336.TxBuffer_IC_1.dat.zip
6644.NumBytes_IC_1.dat.zip
Tags: i2c spi microcontroller assembly sigmastudio SigmaDSP Show More
  • Share
  • History
  • More
  • Cancel
 
Related Content
  • RE: Loading the DSP via assembly language
    ADIApproved
    Hi Richard, In SigmaStudio, a number of things are downloaded to the target hardware when the user clicks the "Link-Compile-Download" button: Program RAM Parameter RAM Non-Modulo Data RAM Hardware...
  • RE: Writing parameters to EEPROM memory by MCU
    DaveThib
    Hello in_text, Let me start by explaining a few things. SigmaStudio has two basic jobs to do. The 1st is to provide a GUI interface to allow you to assemble and create programs graphically. Then it will...
  • RE: How to configure register on adau1702 ?
    ADIApproved
    I haven't gotten a chance to look at this in detail yet, but have you tried copying the contents of the capture window exactly? I did a quick example here where I take the ADC inputs and copy them to the...
 
Related Content
  • RE: Loading the DSP via assembly language
    ADIApproved
    Hi Richard, In SigmaStudio, a number of things are downloaded to the target hardware when the user clicks the "Link-Compile-Download" button: Program RAM Parameter RAM Non-Modulo Data RAM Hardware...
  • RE: Writing parameters to EEPROM memory by MCU
    DaveThib
    Hello in_text, Let me start by explaining a few things. SigmaStudio has two basic jobs to do. The 1st is to provide a GUI interface to allow you to assemble and create programs graphically. Then it will...
  • RE: How to configure register on adau1702 ?
    ADIApproved
    I haven't gotten a chance to look at this in detail yet, but have you tried copying the contents of the capture window exactly? I did a quick example here where I take the ADC inputs and copy them to the...
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