I'm working an a project on a Texas Instruments AM3517 Cortex-A8 processor. I was seeing less than expected performance, and did a simple comparison with a Cortex-M3 processor. The M3 performance was more than twice as good as the A8(?!).
The test was a simple count to 100,000:
while (1){ volatile uint32_t i; dbg_PinSet(DBG_PIN_00); for ( i = 0; i < 100000; i++ ) { } dbg_PinClear(DBG_PIN_00);}
This is a bare metal system. Timing was measured with a scope and the debug pin, and found to be about 40 ms on the A8 clocked at 600 MHz, and about 14 ms on the M3 clocked at 72 MHz.
The code on the A8 is running from the on chip 64K ram to remove cache and external memory effects. Interrupts are disabled on both processors.
I'm relatively new to the A8, and suspect I'm missing something simple in setup somewhere.
Any pointers or help will be greatly appreciated.
Thanks,
-Rob
Thanks for sharing the data - glad to know you got it sorted =)
Regards, Pete
Hi,
I am currently working on TI Davinci DM8148 EVM, have found out that Cortex-A8 core has 64KB internal RAM from DM8148 datasheet. I want to run a sample application from Internal RAM on Cortex-A8 Processor and also use remaining internal RAM as a heap for memory operations done inside sample app. I understand that in this case it should be a bare-metal application to be flashed onto ROM, but with memory sections for instruction and data properly mapped to internal RAM. The following are my queries related to the requirement:
1. How to map my program section and data section to internal RAM ?
2. What is the procedure for flashing a bare-metal code on Cortex-A8 processor (DM8148 Platform)?
Regards,
Vinay