Hello,
I am trying to run an application on the MCBTMS570 development board from Keil. With a debugger attached everything works fine, when I do not use a debugger there is a problem.
Almost immediately after startup I copy the data section from the internal FLASH to the RAM. Before this only the data and instruction caches are enabled, the PLL is configured and the flash timings are set correctly. The processor is running at 180 MhZ. I have *not* initialized any modules (VIM, CAN, ...) at this stage yet. The ECC error detection has *not* been enabled. When I do this an error occurs, signalled by the Error PIN of the processor (it turns on a red LED on the development board). This only occurs when I attach the board to the power supply. If I reset the application by triggering a PORST with the PORST button on the board, the Error Pin does *not* signal an error. Also the application seems to be running fine afterwards. The application toggles an LED and sends CAN messages, e.t.c. The copy routine itself seems to be working, since I checked contents of a static variable which was initialized with an odd value and it was initialized correctly. (I sent a CAN message with the contents of the variable).
copy routine:
register char * p;
register char * q;
for ( p = &__STARTDATA, q = &__INITDATA; p < &__ENDDATA; p++, q++ )
{
*p = *q;
}
for ( p = &__STARTBSS; p < &__ENDBSS; p++ )
{
*p = 0;
}
Regards,
Tilmann Spiegelhauer