ΣSigmaStudio Ask AI Русский Log in

SIGMASTUDIO+ EEPROM ISSUES (ADAU1452_CS424489)

SigmaDSP & SigmaStudio raulsphaira Aug 11, 2025 00:00 3 replies Original on forum ↗
Subscribe
raulsphaira Question
Aug 11, 2025 00:00

Hi everyone,

Until now we have been using Sigmastudio 4.7, but after trying Sigmastudio+, and discovering it gits!,
and that it has a much more usable interface, we are moving our development to the new version.

Unfortunately we seem to be facing similar issues as other people documented to write to memory and boot from it.

First of all, it still not completely clear how should we connect the memorey in the platform canvas,
as all other symbols of the ADAU1452 I've seen around seem to have a third output where the memory should be connected.

Second, we haven't found a way to flash the memory, even though there seem to be as simple as clicking here (as we get no complains anywhere).

Third,as we have problems to flash the memory, we are also unable to run the DSP on selfboot.

I've read there have been some issues reported already in regards to the EEPROM flashing and the flashing not reflecting the changes made in the UI.
So my questions are:

- Are the problems flashing the EEPROM fixed in SigmaStudio+?
- If they aren't, is there a way to circumvent them flashing the memory indirectly/manually with the final hex?
(SigmaStudio+ gits, and that's a game changer for me to keep it).

Some of the posts I've checked:

Self Boot from external EEPROM using SigmaStudio+
And this is my current config for the IO pins:

This one uses the same hardware as I do:
SigmaStudio+ ADAU1452 unable to write EEPROM?

Here our current project file:
io_test_adau1452_cs42448.ssprj

Thanks in advance for your help!

Audio Signal Processors

adau1452

software

eeprom

Sigmastudio+

Sigmastudio+ 2.3.0 Build 9049 Rev. 30137

SigmaDSP Audio Processors

Show More

pastedimage1754930637639v2.png
pastedimage1754930637639v2.png
pastedimage1754931082218v4.png
pastedimage1754931082218v4.png
Harishgowtham Reply
Aug 12, 2025 00:00

Hello raulsphaira,

I can't simulate the issue.

I used your project and I can successfully write to the EEPROM and it can self-boot successfully.

I just link compile downloaded your project, right clicked the DSP, put the master control port in SPI.

I enabled the master control port so that ADAU1452 will have extra output pin that you can connect it to EEPROM.

and clicked 'write latest compilation thru DSP' as usual.

I can make it self-boot successfully.

Please pull the self-boot pin LOW when you write to the EEPROM.

I have used the Eval board for this test, if you are using any custom hardware then please attach your schematic.

And I'm using the latest version SS+ 2.4.0

Regards,

Harish

pastedimage1754999073435v1.png
pastedimage1754999073435v1.png
pastedimage1754999106643v2.png
pastedimage1754999106643v2.png
raulsphaira Reply
Aug 14, 2025 00:00

Hi,

Thanks to your previous post, now the missing port for the memory is visible and connected.

Still it is not sure if the memory is flashing, as I get some inconsistent results
(clear EEPROM doesn't zero or 0xFF everything).
Writing last compilation and reading 3 times gave me 3 different values:
- 0x00 all
- 0xFF all
This:

Additionally, even if the memory is flashed (which I don't know for sure), I'm not getting the ADAU1452 to self boot.

The board used is the same as in my previous post for the old SigmaStudio version:
ADAU1452 and CS42448 PARTIALLY WORKING

Which is the one used in this post:
RE: ADAU1452 + CODEC CS42448 is not working

Attached (probably) the schematic of the DSP board.
PDF

Thanks for your help!

pastedimage1755179332633v1.png
pastedimage1755179332633v1.png
pastedimage1755179540243v2.png
pastedimage1755179540243v2.png
1.72.png-185x240x2.png
1.72.png-185x240x2.png
DaveThib Reply
Aug 14, 2025 00:00

Hello raulsphaira,

I will chime in on this thread a little to help Harish. We are on opposite sides of the world so we tag team posts a lot.

Your PDF of the schamatic is not readable. The resolution is poor and I cannot read any of the text at all.

This screenshot you posted:

This is the EERPOM read and Write utility that is part of the USBi. So this will allow you to read and write to an EEPROM that is connected directly to the USBi interface. In your case it is NOT connected to the USBi. the USBi is connected to the slave comms port of the SigmaDSP and the SigmaDSP has a master comms port and that is what the EEPROM is connected to. At least it should be but I could not verify that from the schematic I could not read.

So there is NO WAY SigmaStudio can directly talk to the EEPROM because it is not directly connected to it.

This is why you have to invoke the command to "write the latest compilation through DSP". Or read...

What happens is SigmaStudio downloads a program to the DSP so the DSP acts like a data server and will exchange data between the slave and master comms ports of the DSP. This is how you can program the EERPOM and test if it is correctly programmed.

I got to this by right-clicking on the DSP block.

There are some other little details that can cause you troubles. If you invoke the command to program or read the EEPROM and you have the Selfboot Pin high, then what happens is that SigmaStudio does a soft reset when it programs the DSP with this data exchange program. Well, a softreset WILL start the selfboot process going! So you program the data exchange program but, then the DSP selfboot state machine starts loading in the program from the EEPROM!!!

This will corrupt the program in memory and screw up everything. Where you can get away with this is if either of these things are true:

1) the EERPOM is empty so the Selfboot state machine tries three times to read in the first byte and when it does not find an 0xAA then it gives up and then SigmaStudio, which can be a little slow, finally starts loading in the data exchange program and it all works fine. Almost by accident.

2) The EEPROM has a small program on it so it loads in this program while SigmaStudio is figuring out that it has to load in the data exchange program so again, no clash. The Selfboot completes before SigmaStudio starts writing a new program into the DSP.

So if the EEPROM has a larger program in it then it does not complete before SigmaStudio starts programming the DSP and you get corrupted program in memory and anything can happen.

So the thing you need to be able to do in your hardware is to be able to disable the Selfboot by pulling the pin low with either a switch or a jumper or setup a FET or transistor to ground the pin when a USBi is connected. There is a 5V pin on the USBi that is handy for this feature. But then you need to disconnect the USBi to enable selfboot. I do not like this because it makes it difficult to use the SigmaStudio feature of "Compile/Link/Connect" for testing the program that is loaded from EEPROM.

It just means you would have to remove the USBi, toggle the power to let it selfboot then reconnect the USBi to be able to monitor the program.

Enough for now...

Dave T

pastedimage1755179540243v2.png
pastedimage1755179540243v2.png
pastedimage1755192777709v1.png
pastedimage1755192777709v1.png