Other Parts Discussed in Thread: CC2340R5
Tool/software:
Hi,TI Team.
When I executed the code below and measured the processing time, it was 2 µsec.
void Wait_Function(void) { uint32_t lu32_loop; /* Function Jump : 3cycle */ __asm("movs r0, #6"); /* 1cycle */ __asm("loop:"); /* 39cycle : 6cycle * 6 + 3cycle */ __asm("cmp r0, #0"); __asm("beq finish"); __asm("nop"); __asm("subs r0, r0, #1"); __asm("b loop"); __asm("finish:"); __asm("nop"); /* 3cycle */ __asm("nop"); __asm("nop"); return; /* 2cycle */ }
I calculated the number of cycles from the instructions using disassembly, and then derived the processing time from the cycle count.
Since it was 48 cycles, I expected it to be 1 µsec on the CC2340R5, which operates at a 48 MHz clock.
However, it actually takes 2 µsec.
Could you please tell me why this is the case?
For your reference, I measured this within the "App_StackInitDoneHandler" function of the sample software "Basic_ble", so I assume that the processing time is not extended by BLE tasks due to the RTOS.
Best Regards.