AnsweredAssumed Answered

CW 10.0 beta 3 doesn't use __initialize_hardware() that's in cpu.c

Question asked by Wayne Farmer on Mar 24, 2010
Latest reply on Mar 25, 2010 by Wayne Farmer

System: CW 10.0 beta 3

Target: MCF51QE128

Language: C++

 

I'm letting Processor Expert do much of the work, and it's constructed an __initialize_hardware() routine in its cpu.c that does what I want, such as turning off the watchdog and enabling the external reset input.  However, that code isn't getting included in my build.  Instead, it was using a different (empty) __initialize_hardware() function that was declared with "#pragma overload" in startcf.c , even though "#pragma overload" is supposed to make that a weak symbol that would be replaced by my function.

 

I've commented out the startup.c function, but now a new __initialize_hardware() function has taken precedence; that code just clears D0-D7 and A0-A4 and then returns.  Perhaps that code came from the EWL library.

 

What can I do to have the linker use the __initialize_hardware() function that's in cpu.c?  I see no way to specify link order in CW 10.0 beta 3.

 

Wayne

Outcomes