Re: [U-Boot] at91rm9200 linking problem (?)

Dear Marcin Górski,
please no TOFU, use inline quoting (and send also to the list).
Am 20.06.2011 11:39, schrieb Marcin Górski:
Hello,
I already use CONFIG_SKIP_LOWLEVEL_INIT to prevent U-Boot from reinitilizing hardware. My board has 128MB RAM, so 0x22000000 address is not a problem.
Ok so far.
Have you got any ideas why U-Boot cannot correctly detect RAM size (it shows "DRAM: 1 MiB") and crashes after that?
How do you setup your gd_t? Have you written a correct 'int dram_init()' in your board code (see board/atmel/at91rm9200ek/at91rm9200ek.c for example)?
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.
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.
regards
Andreas Bießmann

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

Dear Marcin Górski,
Am 21.06.2011 15:19, schrieb Marcin Górski:
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.
Ok ... can you debug the board_init_f/relocate_code/board_init_r functions? Where is your relocate_code() destination address (it is calculated in board_init_f())? Is relocate_code() reached? Does the fixup loop's run? (don't forget to reload symbol file as described in doc/README.arm-relocation) Is board_init_r() reached? ...
All behaviour described so far relates to at91rm9200dk board.
at91rm9200dk uses the deprecated arm920t/at91rm9200 stuff and is known to be broken currently! The arm920t/at91rm9200 code will be deleted in near future! (and so at91rm9200dk board, if you have one handy please try to get it working with arm920t/at91 files). If your board uses arm920t/at91rm9200 configuration please convert it to arm920t/at91 ASAP!
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).
Sorry, I can not help here cause I didn't get dataflash working with at91rm9200ek yet.
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?
Well I own an at91rm9200ek and use the at91rm9200ek_ram_config to build (is mainline). The NOR flash booting is currently broken but getting this working is my next target.
Dataflash for at91 targets in principle is currently somewhat broken/unreliable/defective API (there was a discussion these days, search the list).
regards
Andreas Bießmann
participants (2)
-
Andreas Bießmann
-
Marcin Górski