Part Number: TMS320C6678
Tool/software: Code Composer Studio
Hello all,
C6678L EVK
CCS 5.0.3.00028
MCSDK 2.00.05.17
We built 100 boards based on the C6678 EVM and everything was ok...then we built another 2 boards with some modification to a GPS circuitry we have on the board and this time the C6678 chip we bought is showing 1.25 GHz printed on it. The problem we are having is when we connect to the target from CCS, the DDR3 (GEL file) fails and if we load a program, we don't stop in main...the system goes to running state immediately. Nothing has changed in the 2 board layouts/design other than gps signals and DSP being 1.25 GHz. One thing we tested and not sure how to relate to the problem is that when we changed the GEL file (C:\ti\ccsv5\ccs_base\emulation\boards\evmc6678l\gel\evmc6678l.gel) to read addresses with 8 increment, the test passed...the change is in bold below:
ddr3_memory_test ()
{
unsigned int index, value;
GEL_TextOut( "DDR3 memory test... Started\n" );
/* Write a pattern */
for (index = DDR3_TEST_START_ADDRESS; index < DDR3_TEST_END_ADDRESS; index += 4) {
*index = index;
}
/* Read and check the pattern */
for (index = DDR3_TEST_START_ADDRESS; index < DDR3_TEST_END_ADDRESS; index += 8) {
value = *index;
if (value != index) {
GEL_TextOut( "DDR3 memory test... Failed\n" );
return -1;
}
}
/* Write a pattern for complementary values */
for (index = DDR3_TEST_START_ADDRESS; index < DDR3_TEST_END_ADDRESS; index += 4) {
*index = ~index;
}
/* Read and check the pattern */
for (index = DDR3_TEST_START_ADDRESS; index < DDR3_TEST_END_ADDRESS; index += 8) {
value = *index;
if (value != ~index) {
GEL_TextOut( "DDR3 memory test... Failed\n" );
return -1;
}
}
GEL_TextOut( "DDR3 memory test... Passed\n" );
return 0;
}
This changed doesn't affect the speed of talking to the DDR3 but some how passed the test....Note: passing the test didn't fix the stop in main problem
Any idea to what could cause this DDR3 issue
Regards,
Murad