本司一新项目 采用c6678 研发设计了一款 DSP 核心扣板,由于是和第三方合作的,单板的 硬件设计 由 我这边完成,单板的kernel 软件由对方完成。
核心扣板 除了基本的时钟、电源 ,外设 只有 PHY 88E1111,5颗DDr3 K4B1G1646G-BCH9,单板上电后从网络加载启动, 现在有两块6678核心扣板,这这两块板 每次上电 均能正常发出bootp包,但从网络 加载kernel,只有 一块单板能正常加载kernel,另外一块单板不能始终不能正常加载kernel,开始怀疑是 DDR3 初始化参数的问题,根据单板 ddr3 pcb layout 按DDR3 PHY Calc v11 1333.xlsx 生成新的kernel 进行测试,实际发现 不管 DDR3 PHY Calc v11 1333.xlsx 里面的参数 怎么改,能正常boot 的那块 单板 总是能正常boot ,而另外一块始终 不能boot起来。我的疑惑是为什么 能boot 起来的那块单板 即使用明显 错误或 差别很大(长度与实际走线的 DDR3 PHY Calc v11 1333.xlsx leveling 参数 生成的kernel,始终 boot 正常,按正常 如果如果参数 误差太大 或明显 错误,应该会导致明显的boot异常才是?
另外,本项目在研发调试时,起初单板不能正常boot,加载boot 然后电脑没有抓到成功 dsp返回的boot 成功的包,此时用一个外部cpu 的mdio 接口 去 读取 phy 芯片的 sgmii 接口的link 状态,显示 sgmii 接口 为link down, 第三合作方 定位说是内存问题导致,我的疑问是 如果内存有问题 会导致 SGMII 接口在boot 加载kernel 阶段 link 失败吗?按说sgmii 只是底层物理接口,其link 状态 的变化 应该跟boot加载是否正常 无关?
麻烦帮忙看一下 以上两个问题
谢谢!
Shine:
1. 如果怀疑DDR3的配置问题,可以先单独对DDR3进行读写测试,看配置是否有问题。
2. RBL只对sgmii配置,不配置PHY。
lala la:
回复 Shine:
多谢你的回复,
1, 你说的ddr3 配置问题 是说配置参数可能没生效,要不然 不会 随机或与本板实际pcb layout 相差太大的 ddr leveling 参数 生产的kernel ,也能正常boot 工作?
附件图片为c6678 的内存测试结果图片
每次测试返回8条状态信息,这8条内存测试结果的信息 按我的理解应该是对应的64位内存数据总线 8*8, 其中有6条返回测试成功的信息 2条返回测试失败的信息, 我的意思 是 是否可能是有 一个内存芯片 16位数据线 测试不对 ?
2,boot 的时候 rbl 对dsp 的 sgmii 进行配置,但如果dsp 的 ddr 确实是异常存在什么问题或不能用, 会导致 从网络boot加载后 由于rbl配置dspsgmii 而导致 sgmii linkdown吗?
Nick Zhang~:
ddr配置不会影响sgmii,试想,如果我的6678没有外接ddr3,难道sgmii还不能用了吗
lala la:
本司一新项目 采用c6678 研发设计了一款 DSP 核心扣板,由于是和第三方合作的,单板的 硬件设计 由 我这边完成,单板的kernel 软件由对方完成。
核心扣板 除了基本的时钟、电源 ,外设 只有 PHY 88E1111,5颗DDr3 K4B1G1646G-BCH9,单板上电后从网络加载启动, 现在有两块6678核心扣板,这这两块板 每次上电 均能正常发出bootp包,但从网络 加载kernel,只有 一块单板能正常加载kernel,另外一块单板不能始终不能正常加载kernel,开始怀疑是 DDR3 初始化参数的问题,根据单板 ddr3 pcb layout 按DDR3 PHY Calc v11 1333.xlsx 生成新的kernel 进行测试,实际发现 不管 DDR3 PHY Calc v11 1333.xlsx 里面的参数 怎么改,能正常boot 的那块 单板 总是能正常boot ,而另外一块始终 不能boot起来。我的疑惑是为什么 能boot 起来的那块单板 即使用明显 错误或 差别很大(长度与实际走线的 DDR3 PHY Calc v11 1333.xlsx leveling 参数 生成的kernel,始终 boot 正常,按正常 如果如果参数 误差太大 或明显 错误,应该会导致明显的boot异常才是?
另外,本项目在研发调试时,起初单板不能正常boot,加载boot 然后电脑没有抓到成功 dsp返回的boot 成功的包,此时用一个外部cpu 的mdio 接口 去 读取 phy 芯片的 sgmii 接口的link 状态,显示 sgmii 接口 为link down, 第三合作方 定位说是内存问题导致,我的疑问是 如果内存有问题 会导致 SGMII 接口在boot 加载kernel 阶段 link 失败吗?按说sgmii 只是底层物理接口,其link 状态 的变化 应该跟boot加载是否正常 无关?
1, 你说的ddr3 配置问题 是说配置参数可能没生效,要不然 不会 随机或与本板实际pcb layout 相差太大的 ddr leveling 参数 生产的kernel ,也能正常boot 工作?
附件图片为c6678 的内存测试结果图片
每次测试返回8条状态信息,这8条内存测试结果的信息 按我的理解应该是对应的64位内存数据总线 8*8, 其中有6条返回测试成功的信息 2条返回测试失败的信息, 我的意思 是 是否可能是有 一个内存芯片 16位数据线 测试不对 ?
2,boot 的时候 rbl 对dsp 的 sgmii 进行配置,但如果dsp 的 ddr 确实是异常存在什么问题或不能用, 会导致 从网络boot加载后 由于rbl配置dspsgmii 而导致 sgmii linkdown吗?
谢谢!