设为首页收藏本站
查看: 18703|回复: 0

[Bootloader] MYC-C7Z010/20 JTAG下载仿真问题以及解决办法

[复制链接]

14

主题

1

回帖

106

积分

注册会员

积分
106
747lulu747 发表于 2016-3-29 16:31:12 | 显示全部楼层 |阅读模式
本帖最后由 747lulu747 于 2016-3-29 16:48 编辑

启动模式
ZYNQ 7000启动模式由MIO[5-2]来决定,选择JTAG启动时,MIO[5-3]必须都是0,而MIO2,决定了JTAG 的Cacade和 Independent模式
ZYNQ-7000-bootPinMode.png
我们先说明如何启用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错误。
回复

使用道具 举报

您需要登录后才可以回帖 登录

本版积分规则

Archiver|手机版|小黑屋|米尔科技论坛   

GMT+8, 2024-11-23 23:27 , Processed in 0.043704 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表