Part Number:TMS320C6678
请教一下srio最大传输包长度问题,tparams.bytecount = transfer_size; bytecount 这个参数 最大可以设置多大 0x100000 大小是否可以,或者更大可以吗? 这个参数设置有技巧吗?
SRIO_LSU_TRANSFER tparams;
uint32_t *srio_trans_src, *srio_trans_dst;
uint8_t contextBit = 0, transactionID = 0;
uint32_t timeout = 0;
uint8_t uiCompletionCode = 0, context = 0;
timeout = 10000000;
/* 1.1 caculate the read and write buffer for srio transfer address */
srio_trans_src = w_buff;
srio_trans_dst = target_addr;
/* 1.2 set transfer parameters, srio nwrite test, w_buff -> devmem_buff */
memset((void *)&tparams, 0, sizeof(tparams));
tparams.rapidIOLSB = (uint32_t)srio_trans_dst;
tparams.dspAddress = (uint32_t)srio_trans_src;
tparams.bytecount = transfer_size;
if(w_format_type == Srio_Ftype_WRITE)
{
tparams.ttype = Srio_Ttype_Write_NWRITE;
}
tparams.ftype = w_format_type;
tparams.dstID = REMOTE_DEVICEID1_8BIT;
tparams.outPortID = SRIO_PORT;
tparams.idSize = 0;
Shine:
最大是1M,您可以看一下SRIO user guide文档Table 2-6. Control/Command Register Field Description里的byte_count域说明。https://www.ti.com/lit/ug/sprugw1c/sprugw1c.pdf