
On Tuesday, December 20, 2011 02:08:18 AM Tom Rini wrote:
'objdump -dSt' shows (the memory mappings I attached were not really helpful - sorry next time I know):
4020ae14 l O .data 00000004 i2c_base 80000068 l O .bss 00000004 current_bus 8000006c l O .bss 0000000c bus_initialized
'i2c_base' is correctly located in SRAM but 'current_bus' and 'bus_initialized' are located in CS0 SDRAM which is at the time of call not yet initalized. This fits to the crash behaviour: Accessing 'i2c_base' does not cause trouble. How can I move 'current_bus' and 'bus_initialized' to SRAM?
Ah-ha! Good work. If you initialize them to a non-zero value, statically (and make sure the code doesn't assume they're 0 by default), this will change.
LOL: I tried already to set them to 0!