– 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.