This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
尊敬的专家:
我尝试在独立模式下在定制电路板上运行程序而不成功。我使用的是 CCS v.12.2和 USB 200 JTAG 仿真器。 该电路板具有两个48引脚 F280037芯片并使用双引脚 JTAG 接头配置、可分别选择这两个芯片的 TMS 输入。 在连接了调试器的情况下、两个芯片都正常运行、但在分离仿真器时、两个芯片都不会引导。 XRSN 引脚保持高电平。 我使用默认闪存引导配置、而不对 OTP 引导 模式配置位进行任何修改。 标准引导引脚 GPIO24和 GPIO32连接到3.3V VDDIO、VDDIO 应该会将引导定向到闪存。 我检查了一些早期的指示,并认为有必要包含 GEL 文件初始化要在 main ()之后执行,但在此之前,我检查了 PC 在哪里被卡住,在加电后连接仿真器。 由于之前两个芯片之间存在菊花链连接方面的一些问题、现在我有一个机械开关、允许在上电时有选择性地将 TMS 信号连接到两个芯片中的一个或另一个芯片、 我在 CCS 中只设置了"连接时停止"、因此假定代码位置保持在上电时所在的位置(?)。 它似乎停留在等待引导模式程序存储器区域、但仿真器连接操作是否强制出现该区域、即使连接不会导致器件复位? 如果不是这样、在 main()之后添加 GEL 代码将无帮助、因为 PC 永远不会到达用户闪存代码的起始地址。
但是、如果仿真器连接始终强制 CPU 进入等待引导模式、实际上、在未连接仿真器的情况下独立启动会尝试分支到代码启动、那么我对需要的必要 GEL 函数有疑问。 我使用 C2000Ware 4.03.00.00示例的 f28003x_sysctrl.c 作为初始化代码、它似乎有一些带有一些 GEL 函数的冗余函数、因此除了成功启动外还需要哪些 GEL 函数?
较早的线程担心 OTP 中的闪存代码开始位置在不同版本的 F28003x 中不同、但似乎仅适用于280034、不适用于280037、但不同的引脚排列版本是否有差异? 我的是48引脚。
此致、
焦子
您好!
但是仿真器连接操作是否强制该处,即使连接不会导致设备重置?
是的、在连接仿真后、会强制执行等待引导、用户需要使用仿真引导来正确引导器件。
它似乎有一些带有一些 GEL 函数的冗余函数,因此除了成功启动外还需要哪些 GEL 函数?
在独立启动中、不需要 GEL 函数。
较早的线程担心 OTP 中闪存代码开始位置在不同版本的 F28003x 中是不同的、但似乎只适用于280034、而不是280037、但不同的引脚分配版本是否有差异? 地雷为48引脚。
情况不应该是这样。
断开仿真器连接后,您是否要重启仿真器来重新运行它? 如果没有、请尝试一下、看看它是否起作用。
此致、
维维克·辛格
感谢快速回复!
经过一些更多的测试,我发现问题是我之前的问题的副作用,我有通信本杰明·科利尔3个月前。 我无法在菊花链 JTAG 配置中调试双芯片系统、所以我必须添加一个开关来有选择性地将 JTAG 接头的 TMS 输出连接到两个芯片、这样才能逐个调试芯片。 然后、我又增加了一个上拉电阻器、这样 两个 TMS 输入都有自己的电阻器。 然而、这个额外的电阻器现在位于另外一个开关分支之后、并且当 JTAG 接头被断开时、位于开关打开侧的芯片被保持在无上拉的状态、从而将 TMS 输入保持为零、并将 CPU 保持在等待引导状态。 当然、在连接 JTAG 接头进行调试时、这不是问题、仅在独立启动情况下。
因此、将上拉电阻器移动到正确的位置可以解决问题。 但是、菊花链调试配置中的问题仍然存在:我不想制作一个新的 PCB 圆形、而只是为了单独激活 TMS 来加载两个芯片的代码来添加跳线。 因此、我很想知道您是否有任何经验证的案例、即两个或多个 F280037芯片以菊花链 JTAG 配置进行连接?
此致、
焦子
你好,Jouko。
如果您使用4引脚 JTAG、则应能够以菊花链方式连接两个 F280037器件、但如果使用双线 cJTAG、则在菊花链中连接两个器件不容易。
此致、
维维克·辛格
您好!
我使用了4引脚配置(即 TDI、TDO、TCK 和 TMS)、但它不起作用。 1149.1和1149.7 4引脚都是相同的。 因此、我不得不更改硬件、以使用单独的 JTAG 连接到两个具有可切换 TMS 信号的芯片。 因此、我想知道是否有人成功使用了菊花链配置?
此致!
焦子
我需要在我的团队中检查是否有人使用过此特定器件、但我使用过其他采用菊花链的器件、该器件工作正常、这些器件上的 JTAG 逻辑相同。
您可能需要参阅此 E2E 文章 、看看它是否提供了任何帮助。
此致、
维维克·辛格
是的、我也在菊花链中使用过其他 F28x 器件、它们具有相同的设置和相同的仿真器(Blackhawk USB200)、没有任何问题。 但是、F280037与以前使用的 f28375D 相比有许多不同之处: 这 是我使用的第一个也具有1149.7附加功能的连接器、它没有 TRST 信号、而且它还会多路复用 JTAG 引脚信号、这和以前的器件不同。 尤其是48引脚封装的引脚复用非常重、因此、当使用 USB200等较慢的仿真器时、可能存在一些时序相关问题?
谢谢、
焦子
Jouko,
特别是48引脚封装具有非常重的引脚复用,因此当使用较慢的仿真器(如 USB200)时,可能会出现一些与时序相关的问题?
我不认为这是一个问题。 最好您发送原理图、然后由我们的一些专家进行审阅。
维维克·辛格
很好、请查看附在原理图中的一部分! 它仅包括基本连接、即 JTAG、复位和启动。 所有 JTAG 信号布线长度均小于30mm、因此它们不具有串联终端、12MHz 的外部晶体振荡器用于芯片。 正如我说过的、当 TMS 信号单独连接到相应的器件时、JTAG 调试针对同一个电路工作、并且使用2信号 JTAG 协议、但图中的菊花链电路不在4信号 JTAG 协议中。
(示意图保存在单独的电子邮件中)
谢谢。
焦子
抱歉、我没有看到帖子随附的原理图。
抱歉、这里是下拉框的新链接:
https://www.dropbox.com/scl/fi/3n6c936vsr97m91xnsa6n/JTAG2.pdf?rlkey=rufmz4xyvfokzn2klmnznvmh1&dl=0
焦子
原理图对我来说不错。 我没有看到 TCK 与接头的连接、但我认为它只是显示在这里。 如果您有更快的调试探针、请尝试使用。
您好!
是的、TCK 也已连接。 该电路与我用于 F2837x 处理器的电路相同、可避免缺少的 TRST 信号。 现在我想知道什么是缓解这一问题的最佳方法。 数据表是指改进的 JTAG 标准 1149.7、该标准指定了一个备用多处理器连接、即星型拓扑、那么我应该尝试改用它吗?
关于仿真器:我只有 Blackhawk XDS200和类似 Spectrum Digital XDS200仿真器、以及较早的 USB100V2仿真器。 我注意到还有一个新的 XDS110调试探针、似乎对新协议的支持得到了改进。 该手册还报告了代码下载速度比旧版 XDS100提高了5倍、这很有希望:与 XDS200相比、旧版 USB100V2的下载速度非常令人失望。 但是、它有一个免责声明、 在包括 C2000在内的某些系列中将看不到改进。 您是否测试了适用于 F28x 系列的 XDS110的下载速度?
此致!
焦子
但是、它有一个免责声明、 在包括 C2000在内的某些系列中将看不到改进。 您是否测试了适用于 F28x 系列的 XDS110的下载速度?
此致!
[/报价]我尚未测试下载速度、但我知道与 XDS100仿真器相比、下载速度更快、因此可以一试。
此致、
维维克·辛格
谢谢、我可能会在下一批 PCB 中尝试这样做。 我标记说这个问题到目前为止已经解决了、但如果有更多关于菊花链主题的信息、我会设置后续警报。
此致
焦子