Jian Dong Li

about Jump from Flash to RAM code in Colilo.

Discussion created by Jian Dong Li on Oct 30, 2006
Latest reply on Nov 6, 2006 by Jian Dong Li
HI Freescale,
 
the following  code is  in boot.S in Colilo. and I am confused with the Jump.
 
#ifdef CONFIG_COLILO_SOLO
 move.l #0xFF800000, %a0 /* Colilo's in Boot flash */
#else
 move.l #0xE0000000, %a0 /* Colilo's in Code flash */
#endif
 move.l #0x1000000, %a1  /* RAM destination address */
 move.l #0x7FFC, %d0  /* 32K long = 128 Kb */
loop_copy:
 move.l %a0@+,%d1
 move.l %d1,%a1@+
 subq.l #1,%d0
 bne.s loop_copy
 
 move.l #real_start,%a0
 jmp (%a0) /* Jump to colilo start address in RAM */   What this mean?? I think the #real_start is still in Flash. So didn't jump to the RAM.
#endif
 /*
 * Disable the cache. Don't want it on just yet.
 */
real_start: 
 jsr disableCache
 
 jsr  mcf548x_init
 move.l #__SP_INIT, %SP
 /*
 * Most of the setup work is done in main().
 */
 jsr start_main

Outcomes