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

Undocumented memory location - ADAU1761

SigmaDSP & SigmaStudio Natan Jan 14, 2013 00:00 5 replies Original on forum ↗
Subscribe
Natan Question
Jan 14, 2013 00:00

I noticed that the output files from SigmaStudio include the following function:

SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_IC_1, REG_NON_MODULO_RAM_1_IC_1_ADDR , R19_NON_MODULO_REGISTERS_IC_1_SIZE, R19_NON_MODULO_REGISTERS_IC_1_Default );

This writes 0x0FFC to address 0x40E9. I don't see anything that documents what address 0x40E9 is in the datasheet. If this data is not transferred it seems to mess up any Non-Modulo data loading.

Audio Signal Processors

SigmaDSP Audio Processors

adau1761

ADIApproved Reply
Jan 14, 2013 00:00

Indeed, this register was not documented in the datasheet. It is the modulo RAM configuration register, and it needs to be written in the same way that SigmaStudio writes it after a Link-Compile-Download operation in order for your project to function correctly. I will add this to the list of ADAU1761 datasheet updates.

Natan Reply
Jan 15, 2013 00:00

Does the value of the data loaded into this register change between different program compiles?

ADIApproved Reply
Jan 15, 2013 00:00

I think it potentially changes based on how many variables the compiler needs to store in data RAM.

Normally, variables are stored in parameter RAM, but sometimes we can get a code efficiency boost by using non-modulo data RAM instead, so I think the compiler dynamically sets the non-modulo boundary based on how many variables it places in that RAM space.

I'll forward this thread to the software team to see if they can confirm this to be true.

ADIApproved Reply
Jan 15, 2013 00:00

Natan, the software manager confirmed my above assumption is correct.

Natan Reply
Jan 15, 2013 00:00

Thank you Brett, I will watch the value to make sure it is updated between builds.