This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
硬件:tms320c6678 evm开发板
软件:ccs8.0
问题:下载运行keystone1中srio例程,控制台打印下列信息并且程序异常退出。
STREAM from 0x820a4000 to 0x11802200, 32768 bytes, 72687 cycles, 3606 Mbps, completion code = 0
data mismatch at unit 8001, 0xcfffdf3f (at 0x820a4000) != 0xffffffff (at 0x11802200)
STREAM from 0x820b4000 to 0x c000c00, 8 bytes, 1055 cycles, 60 Mbps, completion code = 0
STREAM from 0x820c4000 to 0x c000d00, 16 bytes, 1081 cycles, 118 Mbps, completion code = 0
STREAM from 0xb9f73e7e to 0x c000e00, 32 bytes, 1148 cycles, 222 Mbps, completion code = 0
data mismatch at unit 0, 0x148 (at 0xb9f73e7e) != 0x1480000 (at 0xc000e00)
External exception happened. MEXPFLAG[3]=0x4000.
Event 110: MDMAERREVT XMC VBUSM error event
MDMA write status error detected
XID (Transaction ID)= 7
Addressing error
NRP=0xc054698, NTSR=0x1400f, IRP=0x20b01120, ITSR=0x1, TSCH= 0x0, TSCL= 0x1d2df95
B3=0xc04ff00, A4=0x10, B4= 0x20, B14= 0x8254c8, B15= 0x8230b0
Exception happened at a place can not safely return!
此外,我们也在尝试修改该例程以让evm板与一块fpga k7板通过srio通信,dsp端发送swrite包,fpga端通过chipscope抓取信号。通过fpga端抓取显示,第一包数据均准确无误,但第二包数据无法抓到,dsp端程序卡在KeyStone_SRIO_wait_LSU_completion()函数中。我打开了dsp端程序中SRIO_2DSP_Test()中打印错误信息函数,显示第二次发送时,错误信息如下
[C66xx_0] JTAG ID= 0x1009e02f. This is C6678/TCI6608 device, version variant = 1.
DEVSTAT= 0x00000001. little endian, No boot or EMIF16(NOR FLASH) or UART boot, PLL configuration implies the input clock for core is 50MHz.
SmartReflex VID= 63, required core voltage= 1.104V.
Die ID= 0x14007012, 0x04045c7d, 0x00000000, 0x15f80001
Device speed grade = 1000MHz.
Enable Exception handling...
SRIO test between two DSPs start............................................
Initialize DSP main clock = 100.00MHz/1x10 = 1000MHz
Initialize DDR speed = 66.67MHzx/1x20 = 1333.333MTS
SRIO path configuration 1xLaneA_1xLaneB_1xLaneC_1xLaneD
Input port 0 next expected ackID value: 0x0
Output port 0 unacknowledged ackID: 0x0
Output port 0 next transmitted ackID value: 0x1
SWRITE from 0x10802200 to 0x1080a200, 128 bytes, completion code = 0
SRIO path configuration 1xLaneA_1xLaneB_1xLaneC_1xLaneD
Input port 0 next expected ackID value: 0x0
Output port 0 unacknowledged ackID: 0x0
Output port 0 next transmitted ackID value: 0x1
The output port 0 has encountered (and possibly recovered from) a transmission error. This bit is set when bit 16 is set.
Port 0 OK condition. The input and output ports are initialized, and the port is exchanging error-free control symbols with the attached device.
The port 0 received a packet-not-accepted acknowledge control symbol.
Type of information logged: 2 (0 - packet, 1 - control symbol)
captured error bit in the Port Error Detect Register: 11
control symbol or Bytes 0 to 3 of the packet header that correspond to the error: 0x1c400f14
Bytes 4 to 7 of the packet header that corresponds to the error: 0x0
Bytes 8 to 11 of the packet header that corresponds to the error: 0x0
Bytes 12 to 15 of the packet header that corresponds to the error: 0x0
SWRITE from 0x10802200 to 0x1080a200, 128 bytes, completion code = 1
SRIO path configuration 1xLaneA_1xLaneB_1xLaneC_1xLaneD
Input port 0 next expected ackID value: 0x0
Output port 0 unacknowledged ackID: 0x0
Output port 0 next transmitted ackID value: 0x1
The output port 0 has encountered (and possibly recovered from) a transmission error. This bit is set when bit 16 is set.
Port 0 OK condition. The input and output ports are initialized, and the port is exchanging error-free control symbols with the attached device.
The port 0 received a packet-not-accepted acknowledge control symbol.
Type of information logged: 2 (0 - packet, 1 - control symbol)
captured error bit in the Port Error Detect Register: 11
control symbol or Bytes 0 to 3 of the packet header that correspond to the error: 0x1c400f14
Bytes 4 to 7 of the packet header that corresponds to the error: 0x0
Bytes 8 to 11 of the packet header that corresponds to the error: 0x0
Bytes 12 to 15 of the packet header that corresponds to the error: 0x0
SWRITE from 0x10802200 to 0x1080a200, 128 bytes, completion code = 1
SRIO path configuration 1xLaneA_1xLaneB_1xLaneC_1xLaneD
Input port 0 next expected ackID value: 0x0
Output port 0 unacknowledged ackID: 0x0
Output port 0 next transmitted ackID value: 0x1
The output port 0 has encountered (and possibly recovered from) a transmission error. This bit is set when bit 16 is set.
Port 0 OK condition. The input and output ports are initialized, and the port is exchanging error-free control symbols with the attached device.
The port 0 received a packet-not-accepted acknowledge control symbol.
Type of information logged: 2 (0 - packet, 1 - control symbol)
captured error bit in the Port Error Detect Register: 11
control symbol or Bytes 0 to 3 of the packet header that correspond to the error: 0x1c400f14
Bytes 4 to 7 of the packet header that corresponds to the error: 0x0
Bytes 8 to 11 of the packet header that corresponds to the error: 0x0
Bytes 12 to 15 of the packet header that corresponds to the error: 0x0
SWRITE from 0x10802200 to 0x1080a200, 128 bytes, completion code = 1
SRIO test complete.
请问内部自回环出现误码有可能是哪方面的原因,以及SRIO发送数据是如何计算误码率的呢
请问跑的例程里的哪个模式? 如果用的是TI EVM板,没有对程序做过修改的话,应该不会有问题。
另外,编写keystone1这个软件包的工程师已经离职,我们对这个软件包的技术支持有限,请悉知。
这个问题最好再另外一块EVM板试一下,因为不知道卸载mmc时是否对板子硬件有所损坏。STK里的例程都是在EVM板上验证过的,如果对代码没有改动的话,可以在EVM板上直接跑的。