TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320C6678: 【TMDXEVM667LE】PCIE_STK例程

Part Number:TMS320C6678

在STK-PCIE程序中,对于两片DSP通过PCIE进行通信的地址映射我有点问题想请教一下。

该程序可以分为四个阶段:

DSP0将buffer里数据复制到pcie_data(0x60000000-0x6fffffff)上的某一空间(这里存在一个RC端的outbound写过程)。

随后DSP1查看自己memory上的数据(这里存在一个EP端inbound读过程),并将DSP0写来的数据复制到pcie_data空间上(这里存在一个EP端的outbound写过程)。

最后DSP0对比buffer里的数据和DSP1通过PCIE写过来的数据是否一样(这里存在一个RC端的inbound读过程)。

RC端

(1)如上图所示,我的问题是RC端对于不同的OB_OFFSET_INDEX[i]是在程序中哪里设置的?这六个buffer地址是通过[27:23]位和translation region建立起的映射关系,但是对于这个OB_OFFSET_Index[1]=0x80000000是如何设置的? 我看程序中只是对OB_SIZE设置为8MB,而offset只是初始化为0。同时我还看到程序中有这么一句话/* in RC mode, outbound memory regions is setup via enumeration*/请问这句话怎么理解?RC端的这个enumeration(枚举)是一个什么样的过程?

EP端

(1)如上图所示,这个IB_BAR1是怎么设置为0x80000000?

(2)对于不同的IB_BARx,offset是通过

PCIE_Memory_Region memory_regions[]=
{
{0x80000000, 64*1024*1024}, //DDR3
{0x0C100000, 1*1024*1024}, //SL2
{0x11820000, 256*1024} //LL2
};设置的,但是IB_START_LO是通过什么设置的?

Zahir Wang:

Zahir Wang 说:(1)如上图所示,这个IB_BAR1是怎么设置为0x80000000?

说错了 应该是这个BAR1是怎么设置为0x80000000?

,

Shine:

抱歉,编写STK例程的工程师已经离职,对STK例程的技术支持有限。建议您参考Processor SDK里的例程,这样会有e2e的工程师提供技术支持。https://e2e.ti.com/support/processors-group/processors/f/processors-forum

,

Zahir Wang:

Processor SDK例程?例程的链接可以分享一下吗

,

Shine:

可以到下面的网站下载。https://www.ti.com/tool/PROCESSOR-SDK-C667X例程是要执行指令生成的,会在C:\ti\C6678 SDK 5.03\pdk_c667x_2_0_13\packages\MyExampleProjects文件夹里。建议ccs, SDK安装在默认路径下,这样比较方便。Where can I find example projects for device driver?https://software-dl.ti.com/processor-sdk-rtos/esd/docs/06_03_00_106/rtos/FAQ.html

,

Zahir Wang:

请问一下执行什么指令可以生成?

Shine 说:例程是要执行指令生成的

,

Shine:

抱歉,上面的链接有问题。请看下面的链接。1.4.5.1.5. PDK Example and Test Project Creationhttps://software-dl.ti.com/processor-sdk-rtos/esd/docs/06_03_00_106/rtos/index_overview.html#rebuild-pdk

,

Zahir Wang:

我修改了 pdkProjectCreate script

但是运行pdkProjectCreate.dat 闪退 请问是我哪个地方没操作对

,

Zahir Wang:

If the CCS installation is located somewhere other than “C:\ti”, ensure that the pdkProjectCreate script has this location correctly specified by updating the CCS_INSTALL_PATH or set TOOLS_INSTALL_PATH variable     这个CCS_INSTALL_PATH在哪里可以修改?

,

Zahir Wang:

遇到这种情况是什么原因造成的呢?

,

Zahir Wang:

,

Zahir Wang:

1:在env.bat文件中,将SDK_INSTALL_PATH改为D:/ti(如果ccs安装路径不是在默认路径)

2:在create.bat文件中,将CCS_INSTALL_PATH改为ccs安装路径

3:在命令提示符窗口将文件夹切换(具体怎么切可以百度到)至D:\ti\pdk_c667x_2_0_16\packages 然后分别运行env.bat 和create.bat 

正确debug信息如下

,

Zahir Wang:

导入PCIE_evmc6678_wSoCLib_C66BiosExampleProject

将target设置为ti.targets.elf.C66

编译出现如下错误和警告

请问这该怎么解决?

,

Shine:

新问题麻烦另起新帖,方便其他客户查看,谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » TMS320C6678: 【TMDXEVM667LE】PCIE_STK例程
分享到: 更多 (0)