
On 08/04/2009 04:49 PM, Wolfgang Denk wrote:
Dear Darius Augulis,
In message4A78342C.5090307@gmail.com you wrote:
usually TEXT_BASE is offset, which size depends on your requirements for
No. TEXT_BASE is an absolute address.
yes, but depends on the physical RAM base and size.
stack size and memory size for malloc. If your DRAM base is 0x0 and TEXT_BASE is 0xf80000, you will have almost 16Mb for stack and malloc and your u-boot code will be linked and loaded to 0xf80000 address. 16Mb is probably too much, or your DRAM base is not 0x0.
On architectures like ARM (where the implementation is based on a broken concept of the system memory map) TEXT_BASE should always be chosen to be as high as possible to put the ("relocated") U-Boot code as close as possible to the very end of available RAM. For systems with several RAM size options you have to set this according to the smallest possible RAM size, of course (which is a major PITA).
could you please explain more? why to the end of RAM? for example I have 16MB RAM, base is 0x10000000. TEXT_BASE = 0x10400000. Why is better to set this to 0x10F00000 ? To have more stack and malloc memory? But U-boot will never exceed such limit? Please explain where I am wrong. Thanks!
Darius A.
Best regards,
Wolfgang Denk