1: http://bbs.myir-tech.com/thread-8078-1-1.html
启动模式
ZYNQ 7000启动模式由MIO[5-2]来决定,选择JTAG启动时,MIO[5-3]必须都是0,而MIO2,决定了JTAG 的Cacade和 Independent模式
我们先说明如何启用JTAG,关于JTAG 的Cascade mode和Independent mode的区别,见:http://bbs.myir-tech.com/thread-8077-1-1.html
如何启用/使能JTAG端口
1)
要使能JTAG端口,最简单的就是,选择JTAG boot,也就是将MIO[5-3]拉低,然后重新上电即可进入JTAG引导模式,此时JTAG端口已经启用/使能。需要注意,当改变了启动模式之后,必须重新上电才能将启动模式改变生效。这是因为,ZYNQ 7000只有在上电复位时刻才去sample采集boot mode pin,也就是MIO[5-3]
2)
如果不是JTAG启动模式,那么JTAG端口是否使能取决于ZYNQ当前的安全模式。如果ZYNQ是安全启动,ZYNQ芯片会禁止JTAG端口,你是不可能通过JTAG端口进行下载和调试;如果ZYNQ非安全启动,则JTAG端口是使能的;那么,我们要使能JTAG端口,就要求ZYNQ是非安全启动模式。要ZYNQ是非安全启动模式,则需要在BootRom Header中的Encrypted status字段填写0xA5C3C5A3 或者 0x3A5C3C5A。这涉及到FSBL的制作了,这里不展开来讲。
MYC-C7Z010/20的JTAG启动模式
我们的核心板MYC-C7Z010/20提供2中启动模式,SD卡启动模式和QSPI启动模式。那JTAG启动模式呢?Sorry,在我们的核心板上,因为设计考虑其他原因以及方便SD卡和QSPI启动之间的切换,在核心板上已经将MIO5固定拉高了,所以我们使用者不可能通过“选择JTAG启动模式来启用/使能JTAG端口”。但是我们还有其他办法,就是将FSBL设置成非启动模式,此时JTAG端口就能访问了。所以,我们要在MYC-C7Z010/20使用JTAG,就需要制作非安全模式的FSBL,让FSBL跑起来之后,就可以通过JTAG端口下载调试其他应用程序了。
总的来说,要使用JTAG下载调试:
1)制作非安全模式的FSBL,此时只能选择制作SD卡的FSBL了;
2)选择从SD卡;
3)重新上电,JTAG使能,
注意事项:
1)如果ZYQN启动时,在SD卡或者QSPI启动设备中没有找到有效的FSBL,JTAG也是禁止的;
2)改变了启动模式时,必须重新上电;
3)如果SD卡启动的是linux系统,则不能再linux系统下进行JTAG访问,因为此时MMU已经启动,会导致MMU错误。
2:zynq的三种启动方式(JTAG,SD,QSPI) 本文介绍zynq上三种方式启动文件的生成和注意事项,包括只用片上RAM(OCM)和使用DDR3两种情况https://blog.csdn.net/husipeng86/article/details/52004534?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-15&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-15
来源:oschina
链接:https://my.oschina.net/u/2963604/blog/3230859