Yuri Petriaev

ColdFire - start is not included into project's memory map

Discussion created by Yuri Petriaev on Mar 26, 2007
Latest reply on Apr 2, 2007 by Yuri Petriaev
I have __start designated as the Entry Point of my project.
In my startup.s source it is declared like:
.global start
; Boot code section definition: 4 byte alignment, read-only data, & executable code
.section ".text",4,rx
start:
   nop
   nop
   nop
   nop
; initialize a5 to sdata (provided by linker)
   move.l #__SDA_BASE_,a5
   
; initialize the stack pointer
   move.l  #__SRAM_END, a7
   jsr _initRegisters     ; jump to the function that will initialize the remaining registers
; we will never reach this point as initRegisters never returns!
 
I need help understanding why it is not included into my memory map.
 
Also, I have a bootup.c source that is placed into flush and listed in memory code as:
00040010 0000001C .text   initRegisters (bootup.c)
...
0004042C 00000040 .text   martini_init_main() (bootup.c)
 
However, it is not copied into sdram designated at:
 sdram   (RWX): ORIGIN = 0xfe000410, LENGTH = 0x00FFFBF0 // 8Mb SDRAM
I expected it to have bootup.c code at  FE000410, but instead there is another code source allocated to this memory and bootup is completely missing: FE000410 00000200 .rodata crcTable (crc.c)
 
Could anyone help me in understanding why start label is not listed in the memory map and why bootup code is not copied into sdram location?
 
Thank you!
 
--
Alban: device name should appear in subject line.

Message Edited by Alban on 2007-03-28 08:36 PM

Outcomes