
To compile it I also had to add 3 macros to the configuration file: CONFIG_SYS_INIT_RAM_ADDR,
Why this? I guess you mean CONFIG_SYS_SDRAM_BASE here.
Yes, my mistake.
CONFIG_SYS_INIT_RAM_SIZE and CONFIG_SYS_INIT_SP_ADDR. Can this cause this problem?
SYS_INIT_SP_ADDR is required, if you see 'DRAM: ...' output it is likely to be a correct value for you. I guess your gd_t parameters for SDRAM size are not correct which leads to a wrong relocation address and therefore relocate_code() fails.
Yes, I've fixed gd_t parameter but the result hasn't changed.
All behaviour described so far relates to at91rm9200dk board. You mentioned trying at91rm9200ek board, so I switched to it, but I have problems with with compilation when data flash memory is used (I need it to store environment settings). So I tried not to store environment settings by defining CONFIG_ENV_IS_IN_NOWHERE and comment out all data flash configs, but I end up with multiple undefined references (to flash, spi and dataflash). How did you make your board to run only in RAM omitting flash configuration?
regards, Marcin