Hello, We are currently trying to develop an application using DaVinci C6A816x (Cortex A8) processor. However, we experience very very poor performance with this CPU (about 5-10 MIPS !). Our configuration is the following : - Evaluation board TMDXEVM8168 from Spectrum Digital (with DDR3) ; - Code composer studio version 4.2.4.000033 ; - No O.S. (currently porting a small free rtos to this target) ; - Using GEL init. file delivered with the board by Spectrum Digital (evm816x.gel), which, a priori, configures the core to run at 1 GHz and the DDR3 to run at 796 MHz ; - Using XDS100V2 JTAG emulator ; - Maximum optimization level. Our test cases are the followings: (1) The "ddr" test project delivered with the evaluation board from Spectrum. The test pass, but is very long, and with a stopwatch, we observe about 30 mo/s of througput (strange for DDR3) ; (2) To isolate the problem from the DDR3, we wrote a very simple program, that runs completly from internal memory, that only write 100 millions time to the same location in internal memory. It takes 22 seconds to execute (~ 5 MIPS) !!! int main(void) {
volatile unsigned int temp; for(i = 0; i < 100000000 /* 100E6 */; i++) temp = i;
} We would be very interested in any suggestion to solve this problem. Currently, we are suspecting the Spectrum GEL file and are inquiring if the different PLL are correctly configured ? If anyone has feedback about this matter, we would be very interested too. We are also questionning about the XDS100V2 probe : could it be that it slows down the executing program ? (yet we have not configured any intrusive feature such as run time refresh) Lastly, we would be interested to know if T.I. / Spectrum have observed the same poor DDR3 performance, runnning their own test program (ddr project downlable from Spectrum) on their own hardware (DDR3 EVM) ? Thank you in advance for any help, Regards, J.A.