SigmaStudio 3.12.1 Memory Footprint
I have been using the SigmaStudio 3.12.1 beta for a couple months with very good success. It works very well, except for one annoying difference. When I transitioned from 3.11 to 3.12 I noticed a significant change in the memory footprint. In 3.11 memory addresses were relatively low (100, 105, etc.), but with 3.12 those same memory addresses are 15100 or 16200. That's not an issue for us except that the code image created by SigmaStudio 3.12 is about 2x the size of the image created in 3.11--and the first half of the image created by 3.12 is all zeros. That's all wasted space in flash memory, and takes a little time to upload into the device (with all the zeros apparently ignored).
Even the safeload registers have moved to be at a much higher address.
I have looked for a way to specify the starting address in SigmaStudio, but have not had any luck. Is there a way to make the code image smaller and get the references back into the lower register addresses?
Thanks,
HI Ed:
What DSP are you using ?
Miguel
Miguel,
I guess I should have mentioned that :-). I'm using the ADAU1452.
Thanks,
Ed A
Hi Ed:
In 3.12 we added an option to some modules, such as delays to select the memory where they are allocated. If you had long delay lines it is possible that with this newer version they got allocated in the other side of memory pushing all those other variables out. Would you mind right clicking on your delay lines to select the other memory and recompile?
Let us know if this fixes the difference. We'll continue looking for reasons in our end.
Thank you
Miguel
Hi Ed:
If you could share your schematic (publicly or privately) we can dig deeper into this.
Thanks
Miguel
Hi Ed,
this happens when you are using a delay on DM0 memory bank.
Before loading the memory image to the flash you can ommit all the zeroes. ( it is only delay data )
This reduces data size significantly. I do it like this and it works well.
Bernd
Beni and Miguel,
Thank you for the responses. The DM0 offset being the cause of the shift makes perfect sense. I am, in fact, using a 12,000 sample delay in my schematic. I placed that delay in DM0 because I had more space there. I will experiment with removing the zeros from the code data. Beni, I assume that means that I need to offset the starting point when I load the code into the ADAU1452 (based on the number of zeros I remove) to make sure the code is placed properly?
Thanks,
EdA
Hi Ed,
Yes, the address must be offset. You can count the zero words in the TxBuffer_IC_1.dat file or have a look in the compiler_output.log file under: ##### DM0 Allocation Summary #####.
Unfortunately the SafeLoad Register address shifts too when the DM0 memory maximum length is changed.
Regards
Bernd
Please log in to reply.