ADAU1701 and EEPROM memory
Hello guys.
Please excuse me for the somewhat dumb question, i am really new to SigmaDSP and my kit has not arrived yet.
I am designing a device with the ADAU1701 in self boot mode with a MCU that will change the params of the DPS and (if the user decides) the param will be saved to the EEPROM for future use.
So here is the real question. Is the contents of the DSP memory and the EEPROM memory the same after self boot , or does the DSP change the addresses of the params in any way? I need to know this because i am working on the MCU side right now and if it does, i will need to remember two addresses (one for the EEPROM and one for the DPS).
Any help would be gladly appreciated
Audio Signal Processors
addresses
memory
eeprom
SigmaDSP Audio Processors
adau1701
Show More
I Found the answer in the datasheet - "EEPROM Format" section and the "ADDRESS MAPS"
Hello Riordion,
The data in the EEPROM for selfboot will never change and it will always boot up the DSP with all the settings you had in SigmaStudio when you compiled and stored the EEPROM image. You cannot change anything in this EEPROM image. There is a checksum as part of the booting process.
So it sounds like your MCU will then control the running DSP program and control the parameters. So based on my last statement above, the addresses of all the object in the program will stay at the same locations in DSP memory. So if you decide to save new settings of your device you would have to implement this on your own and store it somewhere. You can use the bootup EEPROM as long as you are not using the same memory space and not trying to read or write to it while it is booting up. So you can do what I think you are trying to do. You just have to step out of the way when it is booting up. If you are using SPI then you have to make sure to tri-state the MCU SPI port or place some sort of switch to isolate it from the DSP SPI bus during bootup.
One other detail that you may be aware of. If you change your DSP schematic in SigmaStudio, your objects and their parameters may or may not change locations in memory. So if you make changes you need to update the address of the objects in your MCU code.
Thanks,
Dave T
Please log in to reply.