Hi,
I learn to use trace on ARM A8 cpu with a simple TI XDS100v2 emulator. The trace data looks puzzling to me. See below message on trace window:
../hello.c,main,0x40303164,"PUSH {R3, LR}", ,0,19,Start of trace, ../hello.c,main,0x40303166,"MOVS R0, #5" , ,19,80,Entered debug state when halting debug-mode is enabled, ../hello.c,main,0x40303168,"STR R0, [SP]", ,99,73,, ../hello.c,main,0x4030316A,"LDR R0, [SP]", ,172,0,, ../hello.c,main,0x4030316C,BL 0x4030344C,,172,154,, ../asm_func.s,$../asm_func.s:5:20$(),0x4030344C,"LDR R1, 0x40303460", ,326,74,,
The first number in every row is on the 'Cycle' column, while the second number is on the 'Delta Cycle' column. The source file content is like this:
.global asmfunc .global gvar asmfunc: LDR r1, gvar_a LDR r2, [r1, #0] ADD r0, r0, r2 STR r0, [r1, #0] MOV pc, lr gvar_a .field gvar, 32
............ #include extern int asmfunc(int a); /* declare external asm function */ int gvar = 0; /* define global variable */
int main(void) { int I = 5; I = asmfunc(I); /* call function normally */
if (I