问题描述:
使用TMS320C6748芯片,带Sys/bios系统,使能cache,upp接收数据时使用DMA。FPGA以50MHz时钟发送数据给DSP(数据长度为30字节),DSP通过upp channelA进行接收,DSP收到upp中断后只进行一次数据拷贝和cache同步操作,10us后FPGA产生一个GPIO中断,DSP在GPIO中断中处理接收到的upp数据,FPGA发送upp数据和GPIO的周期都是1ms,在upp中断中接收到的数据有重复的情况,例如FPGA发送的数据为1,2,3,4,5,6,7,8,9,10,DSP接收到1,2,3,4,5,5,7,8,9,10。经测试FPGA侧发送数据无异常。
为了排除GPIO中断对upp中断的影响,增加upp中断与GPIO中断的时间间隔到300us,DSP仍会接收到重复的upp数据。
正常情况下upp中断的间隔时间为1ms,在出现重复数据时,upp中断的间隔时间会大于1ms。
经过测试,启用NDK时会有接收到重复数据,不启用NDK不会接收到重复数据
请问NDK会影响upp的数据接收吗?如果不是NDK影响的,那有可能是什么原因导致的接收到重复数据?请各位大神指点下,谢谢!!
user5880776:
补充说明:NDK使用默认中断优先级配置,upp中断优先级9,嵌套方式设置为Hwi_MaskingOption_SELF,GPIO中断优先级为8,嵌套方式设置为Hwi_MaskingOption_ALL
Shine:
回复 user5880776:
感谢分享解决方法。
Tao_LL:
回复 user5880776:
您好!我也遇到了NDK影响upp传输的问题,但是具体问题没有定位,请问一下这个nsp怎么更换呢
Tao_LL:
回复 Shine:
请问这种解决方法怎么替换nsp的
user5880776:
回复 Tao_LL:
software-dl.ti.com/…/nsp_1_10_03_15_release_notes.html
以上为NSP下载地址,里边有编译方式,编译完后替换原来的NSP就行了