– problem in start.asm ?

Hi, it was me wohl started the thread "for what purpose is start.asm ?" last friday and I guess now I have found a problem in start.asm which has caused the trouble i was in: the stack apparently gets initialised before the call to _hw_initialise, but in the function hw_initialise the external RAM gets initialised, wherein the stack is located according to the linkerscripts. If I call the _hw_initialise before this line:     mov.l   #_stack,er7 then everything works fine with external RAM. So: why is _hw_initialise called after this line at all ? Shouldn’t the hardware gets initialised first at all ? And do I introduce any bug when calling _hw_initialise right upon the overall entrypoint as I do now ? Cheers, Marc

– problem in start.asm ?

The start.asm file is not something I wrote but part of the standard files that come with the compiler (or at least one of the demo projects that came with the compiler(?)).  I would guess that the stack pointer is set first to allow the _hw_initialise function to use the stack – or call functions that use the stack. As long as your RAM init code does not use the stack I cannot see any reason why it should not be done first.