Part Number:DRA821U
我们在进行CAN报文转发测试时发现,从某一路CAN的接收FIFO中直接拷贝数据到另一路的发送Buffer时,指令执行时间非常慢!如下一行C代码对应2条汇编指令,其运行时间为500ns左右,能否优化这种操作的运行时间?
uint64* pDst64 = (uint64*)(txPara.lpTXB->data); //Pointer to Tx Message RAM uint64* pSrc64 = (uint64*)(PduInfo->sdu);//Can Message Payload, Pointer to Rx FIFO Message RAM while(i >= 8u) {*(pDst64++) = *(pSrc64++);i -= 8u; }
Shine:
请问有使用-O3优化选项么?
,
Shengkui Zhang:
-O3优化打开和关闭都试了,几乎没差别
,
Shine:
请问您是怎么测试运行时间的?
,
Shengkui Zhang:
指令前后拉GPIO示波器测量
,
Shine:
看用ccs里的Profiing估一下执行时间是多少?https://software-dl.ti.com/ccs/esd/documents/ccs_counting_cycles.html