Issues with Continuous Address Reads for Readback
I would like to use the following method to add continuous-address Readbacks, so that during debugging I can read out all parameters at once using an MCU, instead of having to look up and read each address individually:
ReadBack → Add Algorithm → IC 1 → Data/Register ReadBack
However, I have encountered two issues during this process:
Automatic change of data format
After I compile the project, save it, and then reopen it, the Dbi format of all Readback modules automatically changes to 0.24, except for the last one, which remains 8.24.
Why does this happen? How can I keep the format fixed at 8.24 for all of them?
Non-contiguous addresses in the exported file
After exporting the param.h file using the method described above, I noticed that the addresses corresponding to the Readbacks are sometimes non-contiguous, but other times they appear to be contiguous.
What is causing this issue?
software
processors and dsp
sigmastudio4.7
Sigma studio4.7
Processors and Microcontrollers
readback
adau1466
Show More
Hello pjs,
This is a quick response to some of the questions you asked. But, also to point out a feature.
I am not sure why the data format changes on you. I have not experienced that. It is strange because the default format for Readbacks is 8.24. Perhaps we can share the program via PM. If you PM me just be sure to request friendship so I can reespond.
The issue with the contiguous addresses has to do with the compiler deciding to place things in memory that makes sense to it. We have a feature to help with this. It is called the IPAT, Indirect Parameter Access Table. This allows you to have the program place parameters in a fixed address that never changes even if you change the program and recompile. So your MCU code need not change.
Here is the info about it:
Indirect Parameter Access Table (IPAT) (ADAU146X, ADAU145X, ADAU144X) [Analog Devices Wiki]
This should help you.
Thanks,
Dave T
Hi Dave,
Thanks for your response and for pointing me to the IPAT feature. I appreciate the suggestion. I have two follow-up points:
1. The 8.24 data format changing issue
You mentioned that the default format for Readback is 8.24 and you haven't experienced it changing. I created a simple project to demonstrate this issue – the format does not always stay as 8.24 in my test. Please see the attachment.
2. The contiguous addresses issue
Thank you again for the IPAT suggestion. I understand it can help with fixed addressing in some use cases.
However, my real question is actually different: I am using the same ReadBack control and adding multiple addresses via the "Add Algorithm" method. Since all these addresses come from the same ReadBack control, I was hoping they would be placed contiguously in memory.
But in my testing, even with this approach, the addresses are not guaranteed to be contiguous. The compiler still places them in non-contiguous locations, and their order can change after each recompilation.
So my question is: If I use the same ReadBack control with Add Algorithm, is there any way to force the compiler to keep these addresses contiguous? Or is this simply not supported in SigmaStudio? Looking forward to your clarification. Thanks again for your help.
Best regards,
pjs
5810.test.dspproj
Please log in to reply.
