This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Question about clock() and device building configuration

Other Parts Discussed in Thread: TMS320C6454

Hi,

On this forum, I find a link useful to my project:

http://e2e.ti.com/support/development_tools/compiler/f/343/p/196741/704402.aspx

I want to be familiar with load6x in cycle measurement. When I run load6x at the command line, it shows that it requires COFF format. For new devices such as C6678, I only find ELF RTS library.

In the following example, it applies 6400+, --abi=eabi to the building process. Now, I would like to reproduce the example results. How can I configure to get the RTS library (to have 6400+ and the eabi library format[not the COFF library] in CCS v5)? I ask this question because I am not familiar with TI chip category. I select Generic C64++ in the Device subwindow, or select a specific device such as TMS320C6454 ?

In the following example, it says library format abi=eabi, load6x can support this format? On my computer, it seems it does not work. It demands COFF format. The following example does not use load6x? I don't know.

 

 

Regards

 

 

 

.......................

/*    cl6x -o2 -mv6400+ --abi=eabi x.asm y.sa w.c
   C version: 274 CPU cycles    ASM version: 533 CPU cycles    SA version: 526 CPU cycles */
#include <stdio.h> #include <time.h>
#define BFSZ 512
void copy(short buffd[restrict], short buffa[]) {     int k;     for(k = 0; k < BFSZ; k++)         buffd[k] = buffa[k]; }
short dst[BFSZ], src[BFSZ];
extern void cpyer_asm(short orig[], short dest[], int size); extern void cpyer_asm_linear(short orig[], short dest[], int size);
int main() {     clock_t start, stop, overhead = clock();     overhead = clock() - overhead;
    start = clock();     copy(dst, src);     stop = clock();     printf("C version: %d CPU cycles", (int)(stop - start - overhead));
    start = clock();     cpyer_asm(src, dst, BFSZ);     stop = clock();     printf("ASM version: %d CPU cycles", (int)(stop - start - overhead));
    start = clock();     cpyer_asm_linear(src, dst, BFSZ);     stop = clock();     printf("SA version: %d CPU cycles", (int)(stop - start - overhead));
    return 0; }