This is the mail archive of the ecos-discuss@sourceware.cygnus.com mailing list for the eCos project. See the eCos home page for more information.
I'm porting ECOS to a board based on the MPC850. I can now compile and run simple test programs built using the ECOS software tools. I'm running into problems though if I try to use the startup code defined in vectors.[So]. The target.ld linker script defines the program start entry as reset_vector. I looked at this code and it appears to simply branch to _start which actually does the set up. If I remove the STARTUP(vectors.o) and ENTRY(reset_vector) from the linker script then my test code runs fine (but then of course I'm not actually initializing or linking in any of the ECOS code). If I use reset_vector as the start entry though, my program never returns. It is not clear if the problem is in the _start code or in the reset_vector code itself (or both) ... or perhaps even in defining a different start entry. A couple of things I've tried: - I copied vectors.S and removed all code except the reset_vector code, as in: .globl reset_vector reset_vector: lwi r3,_start mtlr r3 blr I first tried defining an _start that simply called main. I also tried changing the lwi opcode above to "lwi r3,main". Neither one of these allowed my main program to be called. The main program simply sets a status register and returns (and works fine if reset_vector is not called). - I tried using the vectors.o that was built when I built ecos-1.1 and instead of defining reset_vector as the start entry using ENTRY(_start). The test program built with this change in the linker script also does not return. Any ideas what is going on or what to try? Thanks, Brenda Spaur brenda@FieldHand.com