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:
新问题麻烦另起新帖,方便其他客户查看,谢谢!