My microcontroller's I2C or SPI write function can only write a single byte at a time. How can I write to the SigmaDSP's memory?
Depending on what chip you are using and what kind of data you are writing, you will need a variable write length when addressing the SigmaDSP's memory and registers.
There are typically four types of addresses you need to write in the SigmaDSP, and they all have different lengths.
So, if you try to write only one byte to the parameter RAM or program RAM, it won't work, because those addresses store multiple bytes each!
You'll note that SigmaStudio (and the output files it generates) does not write parameter RAM or program RAM one address at a time. It instead writes a "block write" or burst write".
Burst mode can be used to fill contiguous register or RAM locations. A burst mode write begins by writing the address and data of the first RAM or register location to be written. Rather than ending the control port transaction (by issuing a stop command in I2C mode or by bringing the CLATCH signal high in SPI mode after the data-word), as would be done in a single-address write, the next data-word can be written immediately without specifying its address. The control port auto-increments the address of each write even across the boundaries of the different RAMs and registers.
Retrieving data ...