各位大侠,求助!
我用C6748,只有一个中断(GPIO中断)。在网络通信(强调一下:网络通信没有用到中断,是emif接口的轮询模式)繁忙时,这个唯一的中断的响应时间会很长(有十几us,提示:CPU频率是456M)。 中断响应时间的测试肯定是没有问题的,这个大家不用怀疑。
以前有TI的大侠提示:把RTS库加-mi选项重新编译一下(因为网络通信用到了memcpy等函数),我照做了(-mi=1000)。但是这仍然没有解决问题。
我用自己写的MyMemcpy替换掉memcpy等函数,也没有解决问题。
请问各位大侠,这是什么情况啊?
亟待您的帮助!!!!!!!!
Shine:
请问用的是NDK吗?
fei han2:
回复 Shine:
没有用NDK,其实准确的说是EMIF通信频繁时、中断的响应时间会长(因为网络通信没有用C6748的EMAC接口; 也就是用的是别家的网络芯片W5300,EMIF通信)。
Shine:
回复 fei han2:
有没有尝试用EDMA方式搬移EMIF口数据?
fei han2:
回复 Shine:
首先,应用条件不允许用EDMA来操作EMIF接口! 不用EDMA操作EMIF,会影响中断的响应时间吗??
fei han2:
回复 Tony Tang:
CS访问周期不是默认的
配置为 EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_5, EMIFA_ASYNC_WAITTIME_CONFIG(2, 3, 2, 0xf, 0x3f, 7, 3 ));
算下来读慢点是几十个时钟周期。
fei han2:
回复 Tony Tang:
CS访问周期不是默认的
配置为 EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_5, EMIFA_ASYNC_WAITTIME_CONFIG(2, 3, 2, 0xf, 0x3f, 7, 3 ));
算下来读慢点是几十个时钟周期。
EMIFA 时钟是114M 这样算下来读过程的CS周期也是us以下的!