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

SRIO启动失败

C6678,自制板子,外挂DDR3,使用SYS/BIOS,运行在DDR3中,使用仿真器在线仿真SRIO能够正常启动,和FPGA通信也正常,整个程序正常运行。

做离线,spi flash中存放两段程序,二级boot 以及应用程序,二级boot通过RBL启动成功,然后二级boot初始化DDR,加载应用程序,跳转到应用程序运行,现在问题是,应用程序运行到Srio_start时产生异常,去掉SRIO初始化部分,程序能够正常启动运行。

异常如下:

[C66xx_0] Memory Region 0 InitializedMemory Region 1 InitializedQMSS successfully initializedCPPI successfully initializedPA successfully initializedA0=0x800009e0 A1=0x0
A2=0x0 A3=0x80002a80
A4=0x1 A5=0x2e10
A6=0x1 A7=0x12
A8=0x1 A9=0xc102338
A10=0x800009e0 A11=0x80434ce0
A12=0x0 A13=0x0
A14=0x80407e38 A15=0xb3e4021d
A16=0x85f870 A17=0x0
A18=0x85f68c A19=0x1e0
A20=0x0 A21=0x0
A22=0x0 A23=0x0
A24=0x0 A25=0x0
A26=0x0 A27=0x0
A28=0x1085fc50 A29=0x134
A30=0x34022e10 A31=0x1085fc50
B0=0x0 B1=0x4
B2=0x0 B3=0x80415466
B4=0x81 B5=0x2a02a00
B6=0x80 B7=0x188
B8=0x0 B9=0xc10232c
B10=0x80002bc0 B11=0xffffffff
B12=0x6f B13=0xda
B14=0x80488310 B15=0x85f928
B16=0x0 B17=0x0
B18=0x2e00000 B19=0x0
B20=0x0 B21=0x2e0
B22=0x2e00000 B23=0x0
B24=0x0 B25=0x3000
B26=0x3000 B27=0x0
B28=0x0 B29=0x0
B30=0x2e0 B31=0x4
NTSR=0x1800f
ITSR=0xd
IRP=0x80415162
SSR=0x0
AMR=0x0
RILC=0x0
ILC=0x0
Exception at 0x80414cc0
EFR=0x40000000 NRP=0x80414cc0
ti.sysbios.family.c64p.Exception: line 255: E_exceptionMin: pc = 0x80414cc0, sp = 0x0085f928.
To see more exception detail, use ROV or set 'ti.sysbios.family.c64p.Exception.enablePrint = true;'
xdc.runtime.Error.raise: terminating execution

Thomas Yang1:

建议做如下排查:

1)把SRIO初始化驱动放在L2中看有无这个问题

2)在boot起来后,用仿真器 real time 模式挂上去单步跟踪debug一下

3) E_exceptionMin: pc = 0x80414cc0, sp = 0x0085f928 这个PC对应的是哪个代码?

user3757070:

回复 Thomas Yang1:

谢谢Thomas Yang1 ,我先按照您的方法排查下看看。

还有一个重要现象没有描述,那就是在程序异常后,我使用仿真器的System Reset,然后Restart,再重新跑一次就一切都正常了

user3757070:

回复 Thomas Yang1:

1)暂时还没有做,想不来有多少关系?如果放在L2中,是这样做吗:Program.sectMap["srio"] = "L2SRAM";

2)3)debug跟踪是在while ((CSL_semAcquireDirect (PLATFORM_CPPI_HW_SEM)) == 0);异常,看不出问题

user3757070:

回复 Thomas Yang1:

专家们帮忙看看

user3757070:

回复 Thomas Yang1:

TI     FAE有人在吗

user3757070:

回复 Thomas Yang1:

程序精简后全部放入L2,问题依旧存在

Thomas Yang1:

回复 user3757070:

“我使用仿真器的System Reset,然后Restart,再重新跑一次就一切都正常了”

从这个现象来 看,和SRIO驱动本身有关,建议你参考论坛置顶贴里 STK 包中的SRIO驱动初始化程序。

另外PC停在semapore获取的地方,难道你是多核都会做SRIO的初始化流程?

user3757070:

回复 Thomas Yang1:

我参考的是c:\ti\pdk_C6678_1_1_2_6\packages\ti\drv\srio\example\SRIOLoopbackDioIsr,是在SRIO LLD层调用的,没有使用多核做SRIO的初始化流程

赞(0)
未经允许不得转载:TI中文支持网 » SRIO启动失败
分享到: 更多 (0)