SRIO_LSU_Transfer传输的疑问 - TMS320C6678 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2138|回复: 1
打印 上一主题 下一主题

SRIO_LSU_Transfer传输的疑问

[复制链接]

38

主题

59

帖子

322

积分

中级会员

Rank: 3Rank: 3

积分
322
跳转到指定楼层
楼主
发表于 2017-1-12 16:56:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我们知道srio传输就是设置lsu的几个寄存器(以nwrite传输为例),这几个寄存器作用是:
寄存器0和1表示目的端MEMORY地址支持64BIT地址
寄存器2表示传输端MEMORY地址支持32BIT范围
寄存器3表示一次传输的BYTE_COUNT,12个BIT表示一次传4KB数据,大于256B时物理层自动拆分
寄存器4表示输出口、目标ID、是否产生中断
寄存器5表示LSU传输的触发字,PACKET TYPE表示包类型 寄存器6状态寄存器,传输启动BUSY1,传输结束BUSY0
设置寄存器代码如下:
                SRIO_REGS->LSU[n].LSU_REG0 = 0;
                SRIO_REGS->LSU[n].LSU_REG1 = uiRemoteAddress;
                SRIO_REGS->LSU[n].LSU_REG2 = uiLocalAddress;
                SRIO_REGS->LSU[n].LSU_REG3 = byte_count;
                SRIO_REGS->LSU[n].LSU_REG4 = (uiDestID << 8)|(uiIdSize << 24)|(outPortId << 30);
                SRIO_REGS->LSU[n].LSU_REG5 = (packetType)|(hopCount << 8)|(doorbellInfo << 16);
由于reg0 reg1 reg2是代表源、目的memory地址,那么我们只能用相当于内存拷贝的方式(源地址的内容拷贝到目的地址)来传输数据了,假如我想把数据1,2,3,4......通过srio由dsp传到fpga,是不是我首先需要把这些数据暂时先存入到dsp端指定地址处,然后再用内存拷贝方式进行srio传输?

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
沙发
发表于 2017-1-13 13:49:28 | 只看该作者
是的。
创龙有现成的案例可以参考的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-5-6 05:37 , Processed in 0.034111 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表