ZNQ-7000 SOC:NANDProgram/启动检查表

描述

这是在调试ZNY-7000 SoC的NANDProgram和引导时需要考虑的项目、必要的动作和要点。

解决方案

在打开服务请求之前,请收集下面突出显示的所有信息大胆的.



1。是由Xilinx支持的NAND闪存和配置吗?

(赛灵思解答50991)确定支持类别(支持、有限支持或不支持)
注:只有在ECC(微米)和1位ECC(SnScNess)NAND器件上才能与ZYQ-7000 SOC一起使用。
ZYNQ NAND闪存控制器只提供1位ECC和单芯片选择支持,这意味着如果客户的NAND需要多比特ECC或多个CS,这个NAND不能被使用。
在ECC NAND芯片上使用ECC芯片上的多比特代替使用控制器的ECC比特可以提供更好的ECC支持。

提供完整的NAND闪存名称、配置模式和电压。如果配置不是“标准”(MUXES,电平移位器或其他),也提供电路板示意图。

2。信号是否正确地连接到存储器件上?

提供NAND部分的示意图,并监控板上的数据信号,以验证读取的单词类型。



三。ZYNQ生产硅吗?

使用XMD读取并报告来自0xF800 7080的PSI版本。
参见(赛灵思解答57038)用于硅版本寄存器值的符号
-如果不是生产硅,检查(赛灵思解答47916)对于硅的修订差异。

提供硅版本报告寄存器0xF800 7080


4。JTAG链运行正常吗?

使用XMD尝试连接到CPU。

提供JTAG链描述(链上有多少器件,有多少ZYNQ,Zynq在级联或独立JTAG中,任何级别的移位器在链中)。报告任何XMD错误。


5。ZYNQ启动的阶段失败了?BoTROM或FSBL?

FSBL有一些问题,首先检查下面的答案
为了理解这一点,Program一个FSBL已启用调试打印的图像。设置FSBL*Debug和FSBL编译标志。
(ZYNQ软件开发者指南)有关设置FSBL编译标志的信息。

如果在引导期间在UART上出现一些打印:

在UART上提供FSBL打印出来的日志。FSBL是一个用户应用程序,可以使用SDK轻松调试。尝试在提交服务请求之前做一个简短的调查。

  • 如果在引导过程中没有UART出现,首先双击UART波特率。
  • 检查引导映像是否放在NAND中的第一个128MB,BooTROM只搜索有限的地址。

提供启动失败后的InITYB(高或低或闪烁)状态、ReBooTo状态和BooTyMoad寄存器的状态。最可能的是引导图像没有被正确Program(继续到步骤5)。


6。SDK和影响不能Program吗?第二章

(赛灵思解答56030)对于NANDProgram已知的问题和解决方案。
如果JATG链上有多个器件,而Zynq不是第一个器件。

(赛灵思解答58584)如何ProgramFlash。

(赛灵思解答56781)如何调试。
对于调试目的,调试环境变量XILLCSEYZYQQDISPLAYUBOTOTY消息可以设置到Windows或Linux机器上。

为Windows设置调试环境变量的示例:





为Linux设置调试环境变量的示例:

StEnv XILLCSEYZYQQYDISPLAYUBOTOTH消息1

从Flash写入器的NANDProgram需要DDR。Flash编写器需要一个FSBL来初始化包括DDR的板。

确保FSBL与引导映像中使用的是相同的。


提供所使用的工具版本。请确保您的图像是用同一版本的工具来Program的。
提供用于Program的引导模式设置(从JTAG或NAND启动)。
提供使用XILLCSEYZYQQUDPLAYSUBOTOTY消息变量获得的日志。


7。它使用U-BoW吗?

使用U-Boo.ELF预构建从最新发布的图像上的维基,并遵循CTT指南(UG83),其中包括“程序QSPI闪存与引导图像使用JTAG和U-BOOT命令”。

NAND上面的流程类似,但U-BOOT命令不同于QSPI。

下面的例子显示
  • NAND信息
  • NAND擦除0 0x100000
  • NAND写0x800 0 0xE1000
注:ZC702板不带有NAND闪存,所以我们没有在ZC70X配置上添加NAND闪存支持。

如果您对现有的ZC70X配置需要此支持,请在包含/CONFIG/ZYQQUZZ70X.H中做出以下更改

定义CONTIONANDANSZYNQ
然后编译ZC70X AS
$ZYQQUZZ70XY-CONFIG
美元制造

使用wiki预先构建的U-Bug映像提供Program日志。指定使用的U-BooT版本。



8。电路板设计是否支持用于Program的NAND频率?

使用U-BooD和双检查时钟设置来验证NAND时钟频率。

NAND控制器是基于ARM SMC PL353,参考ARM PrimeCeCL静态存储器控制器(PL350系列)技术参考手册R2P1以获得更多的定时细节。

检查NAND定时参数是否已正确设置为SMC定时计算。

此设置将反映到SMC SETIORY循环寄存器。

由于这里设置不正确,NAND启动可能无法工作。

参考NAND器件AC特性,将相关的定时参数输入到CS0列,该单元为纳秒。

周期将根据工作频率来计算。


提供寄存器设置和验证NAND时钟频率所做的计算。




9。Xilinx独立示例是否工作?

NDand实例在SDK安装目录下提供

SW \ XILIN处理程序驱动程序\NANPSPSV1Y0XYA

需要一些调试来理解示例失败的位置(通过SDK调试器或添加调试打印)。

报告Xilinx独立示例中发现的故障类型.


10。当从不同的源(例如SD)启动时,用户可以正确地访问NAND,在读/写操作之后数据是正确的(例如,从U-BoW),但是我的系统不会从NAND启动。

(赛灵思解答60482)

确保在NAND忙信号上有一个上拉。

ZYNQ的内部上拉在BooTROM中被禁用(参见TRM表6-11)。
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-30 17:25:35 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它