描述
这是在调试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有一些问题,首先检查下面的答案
- 见(赛灵思解答55492)用于引导bin的单片Linux映像
- 见(赛灵思解答53943)在安全引导模式下启动
为了理解这一点,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启动。
确保在NAND忙信号上有一个上拉。
ZYNQ的内部上拉在BooTROM中被禁用(参见TRM表6-11)。
没有回复内容