[U-Boot] AT91RM9200 relocation
Andrejs Cainikovs
AndrejsC at GlobalAutomationSystems.com
Wed Sep 3 10:16:41 CEST 2008
Nicolas,
I faced the similar problem before. Playing around with
CONFIG_SKIP_RELOCATE_UBOOT and others don't gived any results.. The only
result was that you should change define you mentioned every time when
compiling for flash or ram. This has fixed my problem:
--- a/cpu/arm920t/start.S 2008-09-03 10:50:21.000000000 +0300
+++ b/cpu/arm920t/start.S 2008-05-19 15:22:00.000000000 +0300
@@ -261,11 +261,10 @@
* find a lowlevel_init.S in your board directory.
*/
mov ip, lr
-#if defined(CONFIG_AT91RM9200DK) || defined(CONFIG_AT91RM9200EK) ||
defined(CONFIG_AT91RM9200DF)
-
-#else
- bl lowlevel_init
-#endif
+ adr r0, _start /* r0 <- current position of
code */
+ ldr r1, _TEXT_BASE /* test if we run from flash or
RAM */
+ cmp r0, r1 /* don't init during
debug */
+ blne lowlevel_init
mov lr, ip
mov pc, lr
#endif /* CONFIG_SKIP_LOWLEVEL_INIT */
Regards,
Andrejs Cainikovs.
Nícolas Carneiro Lebedenco wrote:
> Hi,
>
> I'm porting u-boot to a custom board based on the at91rm9200-dk (only
> exception is that only parallel nor flash is available on my board)
>
> Soon I realized that I could load u-boot 1.1.4 from flash but not u-boot
> 1.3.4. It really bugged me until I noticed some differences in
> cpu/arm920t/start.S and came across this patch
> "Fix regression introduced by a typo in 'Tidied other..." introduced by
> Guennadi Liakhovetski in the main branch on 2008-04-18 as follows:
>
> diff --git a/cpu/arm920t/start.S b/cpu/arm920t/start.S
> index ae86002..acc00ad 100644 (file)
>
> --- a/cpu/arm920t/start.S
> +++ b/cpu/arm920t/start.S
> @@ -178,7 +178,7 @@ copyex:
> bl cpu_init_crit
> #endif
>
> -#ifdef CONFIG_AT91RM9200
> +#ifndef CONFIG_AT91RM9200
>
> #ifndef CONFIG_SKIP_RELOCATE_UBOOT
> relocate: /* relocate U-Boot to RAM */
> --
>
> The point is I can only get u-boot to load from nor flash if I remove the
> #ifndef condition. So what was the reason behind this patch after all. Is the
> relocation supposed to take place somewhere else? Maybe someone has already
> pointed that out and got it fixed in the main branch?
>
> Regards,
>
> Nícolas
>
>
>
>
>
>
>
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>
More information about the U-Boot
mailing list