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; }
