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

In ADAU1452, Is Burst write a method to implement safeload mechanism or does it have any other use case?

SigmaDSP & SigmaStudio binu Feb 11, 2016 00:00 10 replies Original on forum ↗
Thread Summary

Thread Summary

The user inquired about the use of Burst Write in ADAU1452 for safeload mechanisms. The support engineer clarified that Burst Write is not a safeload method; instead, safeload writes are performed indirectly in chunks of 5 using fixed intermediate memory locations. The safeload addresses can be found in SigmaStudio's Capture window but may change upon recompilation. The user also requested a feature to symbolically handle safeload addresses in exported files, which the support engineer agreed to forward.
AI Generated Content
Subscribe
binu Question
Feb 11, 2016 00:00

In ADAU1452, Is Burst write a method to implement safeload mechanism or does it have any other use case?

Audio Signal Processors

adau1452

burst

SigmaDSP Audio Processors

safeload

joe42 Reply
Feb 11, 2016 00:00

I'm not sure I fully understand the question, but usually burst mode is for pushing large amounts of data, such as initial programming after a reset. I don't think burst is a safeload method.

ADIApproved Reply
Feb 11, 2016 00:00

Hi Binraj:

What we call "Burst Write" writes directly to memories in the DSP and is NOT consider part of the safeload mechanism. To do safe load you need to write indirectly to the memories (in chunks of 5) using intermediate (reserved) memory locations. The difference is that you will let the DSP do the direct memory address at a SAFE time to avoid falling into filter instability. Do you understand the safe-load process?

Hope this helps.

Miguel

binu Reply
Feb 12, 2016 00:00

Hi Miguel,

Are those Safeload Addresses fixed or can we modify it using SigmaStudio

ADIApproved Reply
Feb 12, 2016 00:00

Hi Binraj:

They are fixed in the sense that the linker / SigmaStudio framework is programmed to always place them in the same memories. They are not fixed in the sense that they are fixed hardware registers (except in the case of the ADAU1701).

For practical purposes, consider them fixed.

Miguel

wygonski Reply
Jun 7, 2016 00:00

Follow-up question to the Safeload memory locations: I understand that the compiler determines these addresses, but they are typically starting at 0x14. I have microcontroller code that implements safeload writes, so is there a way to acquire these addresses through exported files, e.g. the header files that are produced by "Export System Files" in SigmaStudio? Or can you describe the conditions under which they might change? It would be problematic to change these when code is recompiled, of if a different DSP program is downloaded.

DaveThib Reply
Jun 7, 2016 00:00

Hello wygonski,

You can find the safeload address in SigmaStudio using the "Params" tab that is part of the Capture window.

In this example the data would be in location address 20-24 with the start address of where the data will be written is in location 25 and the number of words in location 26. Writing to the "num_safeload" will initiate the safeload at the next safe time.

I am pretty sure it is not in the Export System Files output for some reason.

Also, count on it to change when you have made changes to the schematic and re-compiled.

Dave T

fcebf04f1b427b780bbe14adcc2a30fa.jpg
fcebf04f1b427b780bbe14adcc2a30fa.jpg
fcebf04f1b427b780bbe14adcc2a30fa.jpg-573x104.jpg
fcebf04f1b427b780bbe14adcc2a30fa.jpg-573x104.jpg
wygonski Reply
Jun 8, 2016 00:00

Address and value changes for cells are handled symbolically when system files are exported and then used in my microcontroller code. Could I request that doing the same for software safeload addresses be an added feature?

DaveThib Reply
Jun 8, 2016 00:00

Hello wygonski,

I agree with you 100%. I will make the request.

Dave T

Nando.One Reply
Sep 11, 2017 00:00

Hi Dave, how are you sir?

I am trying to get the Safeload to work, and I looked on the capture window and couldn't find the safeload address like you've shown.

Compiler_output file does not show safeload at the address it's supposed to be:

Address: Module: Param:
0x0 __SafeLoad_Module__ data_SafeLoad [5] =0x00000000,0x00000000,0x00000000,0x00000000,0x00000000
0x5 __SafeLoad_Module__ address_SafeLoad =0x00000000
0x6 __SafeLoad_Module__ num_SafeLoad =0x00000000

And finally, on the *PARAM.h file, the safeload is shown with a different address as well:

/* Module SafeLoadModule - SafeLoadModule*/
#define MOD_SAFELOADMODULE_COUNT 7
#define MOD_SAFELOADMODULE_DEVICE "IC1"
#define MOD_SAFELOADMODULE_DATA_SAFELOAD0_ADDR 24576
#define MOD_SAFELOADMODULE_DATA_SAFELOAD1_ADDR 24577
#define MOD_SAFELOADMODULE_DATA_SAFELOAD2_ADDR 24578
#define MOD_SAFELOADMODULE_DATA_SAFELOAD3_ADDR 24579
#define MOD_SAFELOADMODULE_DATA_SAFELOAD4_ADDR 24580
#define MOD_SAFELOADMODULE_ADDRESS_SAFELOAD_ADDR 24581
#define MOD_SAFELOADMODULE_NUM_SAFELOAD_ADDR 24582

I am scratching my head here. Could you enlighten us?

Thank you!!

905f8e6c827e40cad84beb46ad952ca1.png
905f8e6c827e40cad84beb46ad952ca1.png
905f8e6c827e40cad84beb46ad952ca1.png-620x356.png
905f8e6c827e40cad84beb46ad952ca1.png-620x356.png
EZAdministrator Reply
Aug 2, 2018 00:00

This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.

Thank you,
EZ Admin