[U-Boot-Users] Why are some global vars part of the image, and some not?
Timur Tabi
timur at freescale.com
Sat Nov 4 01:09:36 CET 2006
Wolfgang Denk wrote:
> In message <454BC07C.4090704 at freescale.com> you wrote:
>>> #ifdef CFG_SPD_BUS_NUM
>>> static volatile unsigned int i2c_bus_num = CFG_SPD_BUS_NUM;
>>> #else
>>> static volatile unsigned int i2c_bus_num = 0;
>>> #endif
>> Ok, I fixed my problem by changing the above line to:
>
> I don't see any problem that needed fixing.
The problem is that without specifying the section attribute, when I ran my
code, i2c_bus_num was equal to 0xFFFFFFFF.
>> static volatile unsigned int i2c_bus_num __attribute__ ((section ("data"))) = 0;
>>
>> Is "data" the right section to use? Here's my lds file:
>
> If you have to ask this question, then the answer is no, and better
> don't mess with things you don't understand.
>
> What exactly is the "problem" you are experiencing? Did you read the
> documentation, especially section "Initial Stack, Global Data" in the
> README? Please let me know if there is anything in this text which is
> not clear enough.
That section doesn't address issues with global (static or otherwise)
variables that need to be read prior to relocation.
--
Timur Tabi
Linux Kernel Developer @ Freescale
More information about the U-Boot
mailing list