
Hello Wolfgang, Albert,
On Tuesday 01 February 2011 03:33 PM, Wolfgang Denk wrote:
Dear Aneesh V,
In message4D47C1C9.1020002@ti.com you wrote:
Why would that be necessary? Just put the BSS segment in SDRAM, and everything is fine, isn't it?
SDRAM is initialized by the SPL. So, bss can not be initialized and used until SDRAM initialization is complete. I would prefer to have
Yes, this is normal.
rest of the bss in internal RAM so that it's available as soon as we enter C code.
Well, you probably have to decide if you want an easy solution with the restictions of the internal RAM size, or a somewhat more complex solution with much more powerful resources.
I tried putting bss in SDRAM and it works for me. I just had to put a couple of variables explicitly in .data section. However, there is one minor issue that I would like to report.
Making .bss disjoint from the rest of the image may break the relocation code in start.S. Currently the assumption is that '__bss_start' indicates the end of .data and hence the image. That will not be the case when .text and .data are in IRAM and .bss in SDRAM. I am not affected because our SPL doesn't need relocation.
Best regards, Aneesh